oSystem=&$oSystem; $this->msTPLPath=CURRDIR."apps/veranstaltung/anmeldungen/tpl/"; } function gsRender($asParams) { if(is_array($asParams)) $sAction=strtolower(array_shift($asParams)); switch($sAction) { default: return $this->msView(); case "bearbeiten": return $this->msEdit($asParams); } } function msEdit($asParams) { if($lAnmeldungsPK=$this->oSystem->oClientData->gvGetVariable("AnmeldungsPK",false)) { $_SESSION["anmeldungen"]["edit"]["AnmeldungsPK"]=$lAnmeldungsPK; } $lAnmeldungsPK=$_SESSION["anmeldungen"]["edit"]["AnmeldungsPK"]; if($lAnmeldungsPK!="") { $this->mlAnmeldungsPK=$lAnmeldungsPK; $oTPL=$this->oSystem->goGetTPLParser($this->msTPLPath."main.tpl"); $oAnmeldung=$this->oSystem->oDB->goGetRecord("tdAnmeldungen","AnmeldungPK=".$lAnmeldungsPK,"*,IF(Anrede='Herr','Herrn',Anrede) as Anrede,CONCAT(IF(Titel='','',Concat(Titel,' ')),IF(Vorname='','',Concat(Vorname,' ')),Nachname) as Nachname"); $oTPL->gbSetValArray($oAnmeldung); $oTPL->gbSetValue("NEXT",$this->gsGetNextLink($oAnmeldung)); $oTPL->gbSetValue("PREV",$this->gsGetPrevLink($oAnmeldung)); $oTPL->gbSetValue("LIST",$this->gsGetListLink()); $oTPL->gbSetValue("menu",$this->gsGetMenu($asParams[0]==""?"AnmeldeDaten":$asParams[0])); $oTPL->gbSetValue("content",$this->msGetContent($asParams)); return $oTPL->gsParse(); } } function msGetContent($asParams) { if(is_array($asParams)) $sAction=strtolower(array_shift($asParams)); switch($sAction) { default: case "anmeldedaten": return $this->msAnmeldeDaten($asParams); case "zahlungen": return $this->msZahlungen($asParams); case "historie": return $this->msHist($asParams); } } function msZahlungen($asParams) { return "OK"; } function msHist($asParams) { return "OK"; } function msAnmeldeDaten($asParams) { $oTPL=$this->oSystem->goGetTPLParser($this->msTPLPath."anmeldedaten.tpl"); $sQuery="SELECT *, if(tdAnmeldungen.Strasse='','n/a',tdAnmeldungen.Strasse) as Strasse, if(tdAnmeldungen.PLZ='','n/a',tdAnmeldungen.PLZ) as PLZ, if(tdAnmeldungen.Ort='','n/a',tdAnmeldungen.Ort) as Ort, if(tdAnmeldungen.Staat='','n/a',tdAnmeldungen.Staat) as Staat, tdVerbindungen.Strasse as VStrasse, tdVerbindungen.PLZ as VPLZ, tdVerbindungen.Ort as VOrt, DATE_FORMAT(AnmeldeDatum,'%d.%m.%y %H:%i') as AnmeldeDatumShow, CASE SourceType WHEN 'internet' THEN CONCAT('Internet',', IP: ',FromIP) WHEN 'fax' THEN 'Fax' WHEN 'mail' THEN 'Post' WHEN 'email' THEN 'E-Mail' END as SourceTypeName, IF(IsACV=-1,'true','false') as ACV, IF(Fax='','n/a',Fax) as Fax, IF(EMail='','n/a',EMail) as EMail, IF(IsCV=-1,'Ja','Nein') as ShowCV, IF(IsACV=-1,'Ja','Nein') as ShowACV, IF(IsACV=-1 || IsCV=-1,IF(Anrede='Herr','Cartellbruder','Cartellschwester'),IF(Verbindung!='',IF(Anrede='Herr','Farbenbruder','Farbenschwester'),'FALSE')) as KLASS, IF(IFNULL(tdAnmeldungen. VerbindungsPK,-1)=-1,Verbindung,tdVerbindungen.OrgName) as Verbindung FROM tdAnmeldungen LEFT JOIN tdVerbindungen ON tdVerbindungen.VerbindungsPK=tdAnmeldungen.VerbindungsPK WHERE AnmeldungPK=".$this->mlAnmeldungsPK; $oAnmeldung=$this->oSystem->oDB->goGetRecord($sQuery); $tACV=$oAnmeldung->ACV=="true"?-1:0; $asButton["verbindung"]=true; if($oAnmeldung->KLASS=="FALSE") $asButton["verbindung"]=false; $asButton["weitere"]=false; $sQuery="SELECT tdVerbindungen.OrgName FROM tdAnmeldungenVerbindungen,tdVerbindungen WHERE tdAnmeldungenVerbindungen.AnmeldungPK=".$this->mlAnmeldungsPK." AND tdAnmeldungenVerbindungen.VerbindungsPK=tdVerbindungen.VerbindungsPK"; if($oRes=$this->oSystem->oDB->goQuery($sQuery)) { if($oRes->glGetNumberOfRecords()>0) { $asButton["weitere"]=true; $asD=$oRes->gaaGetAllRecords(); $oTPL->gbSetBlock("verbindungen",$asD); } } $sQuery="SELECT tdProgrammPunkte.Name, date_format(CONCAT(tdProgrammPunkte.BeginnDatum,' ',tdProgrammPunkte.BeginnUhrzeit),'%d.%m.%y %H:%i') as TerminBeginn, tdAnmeldungenProgrammPunkte.KartenNormal, IF('".$tACV."'='-1'&& tdProgrammPunkte.GratisForACV=-1,'freeForACV','notfree') as IsFree, IF('".$tACV."'='-1'&& tdProgrammPunkte.GratisForACV=-1, '".WORT_FUER_GRATIS_OECV."', IF(IFNULL(tdProgrammPunkte.PreisNormal,-1)=-1, '".WORT_FUER_GRATIS."', CONCAT(tdProgrammPunkte.PreisNormal,' €') ) ) as PreisNormal, tdAnmeldungenProgrammPunkte.KartenRabattiert, IF('".$tACV."'='-1'&& tdProgrammPunkte.GratisForACV=-1, '".WORT_FUER_GRATIS_OECV."', IF(IFNULL(tdProgrammPunkte.PreisRabattiert,-1)=-1, '".WORT_FUER_GRATIS."', CONCAT(tdProgrammPunkte.PreisRabattiert,' €') )) as PreisRabattiert, (IF('".$tACV."'='-1'&& tdProgrammPunkte.GratisForACV=-1,0,IFNULL(tdProgrammPunkte.PreisNormal,0))*tdAnmeldungenProgrammPunkte.KartenNormal)+ (IF('".$tACV."'='-1'&& tdProgrammPunkte.GratisForACV=-1,0,IFNULL(tdProgrammPunkte.PreisRabattiert,0))*tdAnmeldungenProgrammPunkte.KartenRabattiert) as Summe FROM tdAnmeldungenProgrammPunkte, tdProgrammPunkte WHERE tdProgrammPunkte.ProgrammPK=tdAnmeldungenProgrammPunkte.ProgrammPK AND tdAnmeldungenProgrammPunkte.AnmeldungPK=".$this->mlAnmeldungsPK; if($oRes=$this->oSystem->oDB->goQuery($sQuery)) { $asData=$oRes->gaaGetAllRecords(); foreach($asData as $asPGM) { $lGesamt+=$asPGM["Summe"]; } $oTPL->gbSetBlock("programm",$asData); $oTPL->gbSetValue("GesamtBetragCalc",number_format($lGesamt,2,",",".")); } else echo mysql_error(); $oTPL->gbSetButtons($asButton); $oTPL->gbSetValArray($oAnmeldung); return $oTPL->gsParse(); } function gsGetMenu($sCurrent) { $oMenu=new CMiniMenu($this->oSystem,"Veranstaltung",$sCurrent); $asData["auftraege"] =$oMenu->gsGetButton($this->__addAction(array("Bearbeiten","AnmeldeDaten")),"Anmeldedaten"); $asData["dienste"] =$oMenu->gsGetButton($this->__addAction(array("Bearbeiten","Zahlungen")),"Zahlungen"); $asData["zahlungs"] =$oMenu->gsGetButton($this->__addAction(array("Bearbeiten","Aenderungen")),"Änderungen"); $asData["zahlungs2"] =$oMenu->gsGetButton($this->__addAction(array("Bearbeiten","Historie")),"Historie"); return $oMenu->gsGetMenu($asData,100); } function gsGetNextLink($oAnmeldung) { $this->currentOrder="AnmeldeDatum"; $this->currentDir ="ASC"; $sCurrent=$this->currentOrder; $sQuery="SELECT * FROM tdAnmeldungen WHERE ".$this->currentOrder.">'".$oAnmeldung->$sCurrent."' ORDER BY ".$this->currentOrder." ".$this->currentDir." LIMIT 0,1"; if($o=$this->oSystem->oDB->goGetRecord($sQuery)) { // return $o->BuchungsKey; return $this->oSystem->oUI->gsGetAnchor("",$this->oSystem->oSiteNavi->gsGetURL($this->msClass,$this->__addAction("Bearbeiten"))."?AnmeldungsPK=".$o->AnmeldungPK,$o->Anrede." ".$o->Titel." ".$o->Nachname." ".$o->BuchungsKey." >>"); } return " "; } function gsGetListLink() { return $this->oSystem->oUI->gsGetAnchor("",$this->oSystem->oSiteNavi->gsGetURL($this->msClass,$this->__addAction()),"zur Liste"); } function gsGetPrevLink($oAnmeldung) { $this->currentOrder="AnmeldeDatum"; $this->currentDir ="DESC"; $sCurrent=$this->currentOrder; $sQuery="SELECT * FROM tdAnmeldungen WHERE ".$this->currentOrder."<'".$oAnmeldung->$sCurrent."' ORDER BY ".$this->currentOrder." ".$this->currentDir." LIMIT 0,1"; if($o=$this->oSystem->oDB->goGetRecord($sQuery)) { //return $o->BuchungsKey; return $this->oSystem->oUI->gsGetAnchor("",$this->oSystem->oSiteNavi->gsGetURL($this->msClass,$this->__addAction("Bearbeiten"))."?AnmeldungsPK=".$o->AnmeldungPK,"<< ".$o->Anrede." ".$o->Titel." ".$o->Nachname." ".$o->BuchungsKey); } return " "; } function msView() { if(is_array($asParams)) $sAction=strtolower(array_shift($asParams)); $bRefresh=$sAction=="ds"?true:false; $oViewHandler=$this->oSystem->goGetDBViewSimple("anmeldungen",false,false,array("tdAnmeldungen.Nachname","tdAnmeldungen.Vorname"),4); $sError="