oSystem=&$oSystem; $this->msTPLPath=CURRDIR."apps/veranstaltung/auswertungen/tpl/"; } function gsRender($asParams) { $oTPL=$this->oSystem->goGetTPLParser($this->msTPLPath."main.tpl"); $oTPL->gbSetValue("menu",$this->gsGetMenu($asParams[0]==""?"Uebersicht":$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 "uebersicht": return $this->msUebersicht(); case "verbindungen": return $this->msVerbindungen(); } } function masProgrammPunkte() { /* 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 */ $sQuery="SELECT DATE_FORMAT(CONCAT(tdProgrammPunkte.BeginnDatum,tdProgrammPunkte.BeginnUhrzeit),'%d.%m.%m %H:%i') as TerminBeginn, tdProgrammPunkte.Name, SUM(KartenNormal) as KartenNormal, if(ifnull(tdProgrammPunkte.Kontingent,-1)=-1,'".WORT_FUER_UNLIMITIERT."', CONCAT(tdProgrammPunkte.Kontingent,'/',tdProgrammPunkte.Kontingent-SUM(KartenRabattiert+KartenNormal))) as Kontingent, SUM(KartenRabattiert) as KartenRabattiert, SUM(tdAnmeldungenProgrammPunkte.KartenRabattiert*tdAnmeldungenProgrammPunkte.PreisRabattiert+tdAnmeldungenProgrammPunkte.KartenNormal*tdAnmeldungenProgrammPunkte.PreisNormal) as Summe, tdProgrammPunkte.PreisNormal, tdProgrammPunkte.PreisRabattiert FROM tdAnmeldungen, tdAnmeldungenProgrammPunkte, tdProgrammPunkte WHERE tdAnmeldungen.AnmeldungPK=tdAnmeldungenProgrammPunkte.AnmeldungPK AND IFNULL(tdAnmeldungen.DeleteDate,-1)=-1 AND tdProgrammPunkte.ProgrammPK=tdAnmeldungenProgrammPunkte.ProgrammPK AND tdAnmeldungenProgrammPunkte.VeranstaltungsPK=".$this->VeranstaltungsPK." GROUP BY tdAnmeldungenProgrammPunkte.ProgrammPK"; if($oRes=$this->oSystem->oDB->goQuery($sQuery)) return $oRes->gaaGetAllRecords(); echo mysql_error(); } function msUebersicht() { $oTPL=$this->oSystem->goGetTPLParser($this->msTPLPath."uebersicht.tpl"); $lAnmeldungen=$this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["internet"]=$this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","SourceType='internet' AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["fax"]=$this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","SourceType='fax' AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["mail"]=$this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","SourceType='mail' AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["email"]= $this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","SourceType='email' AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["cv"]= $this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","IsCV=-1 AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["oecv"]= $this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","IsACV=-1 AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["andere"]= $this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","IsCV!=-1 AND IsACV!=-1 AND Verbindung!='' AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $asData["keine"]= $this->oSystem->oDB->glGetNumberOfRecords("tdAnmeldungen","IsCV!=-1 AND IsACV!=-1 AND Verbindung='' AND VeranstaltungsPK=".$this->VeranstaltungsPK." AND IFNULL(DeleteDate,-1)=-1"); $oTPL->gbSetValArray($asData); $asX=$this->masProgrammPunkte(); $oTPL->gbSetBlock("programm",$asX); foreach($asX as $sss) { $lSumme+=$sss["Summe"]; } $oTPL->gbSetValue("GesamtBetragCalc",$lSumme); $oTPL->gbSetValue("AnzahlAnmeldungen",$lAnmeldungen); return $oTPL->gsParse(); } function msVerbindungen() { return "VERBINDUNGEN"; } function gsGetMenu($sCurrent) { $oMenu=new CMiniMenu($this->oSystem,"Veranstaltung",$sCurrent); $asData["auftraege"] =$oMenu->gsGetButton($this->__addAction(array("Uebersicht")),"Übersicht"); $asData["dienste"] =$oMenu->gsGetButton($this->__addAction(array("Verbindungen")),"Verbindungen"); $asData["zahlungs"] =$oMenu->gsGetButton($this->__addAction(array("Finanzen")),"Finanz"); return $oMenu->gsGetMenu($asData,100); } }