oSystem=&$oSystem;
$this->msTPLPath=CURRDIR."apps/neueveranstaltung/tpl/";
$this->mlUserPK=$this->oSystem->oUser->oUserData->UserPK;
$this->gotoUebersicht=false;
}
function gsRender($asParams)
{
$oTPL=$this->oSystem->goGetTPLParser($this->msTPLPath."main.tpl");
if(is_array($asParams))
$sAction=strtolower(array_shift($asParams));
switch($sAction)
{
default:
$sContent=$this->gsGetEditor($asParams);
break;
case "hinzufuegen":
$sContent=$this->gsSave();
break;
case "entfernen":
$sContent=$this->gsEntfernen();
break;
case "speichern":
$sContent=$this->gbStoreTODB();
}
$oTPL->gbSetValue("save",$this->canSave());
$oTPL->gbSetValue("back",$this->oSystem->oUI->gsGetAnchor("javascript:",$this->oSystem->oSiteNavi->gsGetURL("StartSeite"),"<< Zur Startseite"));
$oTPL->gbSetContent($sContent);
$oTPL->gbSetValue("infokey",$this->oSystem->oUI->gsGetInfo(0));
return $oTPL->gsParse();
}
function gbStoreToDB()
{
$sFormKey=$this->oSystem->oClientData->gvGetVariable("__formKey",false);
if(1)
{
unset($_SESSION["form.editva"]);
$_SESSION["neueveranstaltung"]["title"]["BeginnAnmeldung"] ="15.09.2005";
$_SESSION["neueveranstaltung"]["title"]["EndeAnmeldung"] ="20.09.2005";
$_SESSION["neueveranstaltung"]["title"]["BeginnDatum"] ="01.10.2005";
$_SESSION["neueveranstaltung"]["title"]["EndeDatum"] ="02.10.2005";
$asS=$_SESSION["neueveranstaltung"]["title"];
$asInsert["BeginnAnmeldung"] =$this->getTermin($asS["BeginnAnmeldung"]);
$asInsert["EndeAnmeldung"] =$this->getTermin($asS["EndeAnmeldung"]);
$asInsert["BeginnDatum"] =$this->getTermin($asS["BeginnDatum"]);
$asInsert["EndeDatum"] =$this->getTermin($asS["EndeDatum"]);
$asInsert["VeranstaltungsName"] =$this->oSystem->oDB->gsEscapeString($asS["VeranstaltungsName"]);
$asInsert["VeranstaltungsKey"] =$this->oSystem->oDB->gsEscapeString($asS["VeranstaltungsKey"]);
$asInsert["CreateDate"] ="now()";
$asInsert["Creator"] =$this->mlUserPK;
$bError=false;
if(sizeof($_SESSION["neueveranstaltung"]["programmpunkte"])>0)
{
if($oRes=$this->oSystem->oDB->goInsertArray("tdVeranstaltungen",$asInsert))
{
$asData=$_SESSION["neueveranstaltung"]["programmpunkte"];
$lVeranstaltungsPK=$oRes->glGetInsertID();
foreach($asData as $asPGM)
{
unset($asInsert);
$asInsert["Name"] =$this->oSystem->oDB->gsEscapeString($asPGM["ProgrammPunktName"]);
$asInsert["BeginnDatum"] =$this->getTermin($asPGM["BeginnDatum"]);
$asInsert["BeginnUhrzeit"] =$this->oSystem->oDB->gsEscapeString($asPGM["BeginnUhrzeit"]);
$asInsert["EndeDatum"] =$asPGM["EndeDatum"]==""?"NULL":$this->getTermin($asPGM["EndeDatum"]);
$asInsert["EndeUhrzeit"] =$asPGM["EndeUhrzeit"]==""?"NULL":$this->oSystem->oDB->gsEscapeString($asPGM["EndeUhrzeit"]);
$asInsert["PreisRabattiert"] =$asPGM["PreisRabattiert"]==""?"NULL":$this->oSystem->oDB->gsEscapeString(CMoney::Betrag2Double($asPGM["PreisRabattiert"]));
$asInsert["PreisNormal"] =$asPGM["PreisNormal"]==""?"NULL":$this->oSystem->oDB->gsEscapeString(CMoney::Betrag2Double($asPGM["PreisNormal"]));
$asInsert["Kontingent"] =$asPGM["Kontingent"]==""?"NULL":$this->oSystem->oDB->gsEscapeString($asParams["Kontingent"]);
$asInsert["GratisForACV"] =$this->oSystem->oDB->gsEscapeString($asPGM["GratisForACV"]==-1?"-1":"0");
$asInsert["CreateDate"] ="now()";
$asInsert["Creator"] =$this->mlUserPK;
$asInsert["VeranstaltungsPK"] =$lVeranstaltungsPK;
if($oRes=$this->oSystem->oDB->goInsertArray("tdProgrammPunkte",$asInsert))
{
}
else
{
$bError=true;
}
}
unset($_SESSION["neueveranstaltung"]);
$this->gotoUebersicht=$this->oSystem->oSiteNavi->gsGetURL("StartSeite");
if($bError===true)
{
$this->oSystem->oDB->goQuery("DELETE FROM tdProgrammPunkte WHERE VeranstaltungsPK=".$lVeranstaltungsPK);
$this->oSystem->oDB->goQuery("DELETE FROM tdVeranstaltungen WHERE VeranstaltungsPK=".$lVeranstaltungsPK);
return "nicht gespecihernt";
}
return "Die Veranstaltung wurde gespeichert";
}
}
}
$this->gotoUebersicht=$this->oSystem->oSiteNavi->gsGetURL("StartSeite");
return "Die Veranstaltung wurde gespeichert";
}
function getTermin($asSet)
{
$asDatum=explode(".",$asSet);
if(sizeof($asDatum)<3)
$asDatum[2]=date("Y");
$asDatum=array_reverse($asDatum);
return $this->oSystem->oDB->gsEscapeString(join("-",$asDatum));
}
function gsEntfernen()
{
$lPK=$this->oSystem->oClientData->gvGetVariable("PK");
if($lPK!==false)
{
if(isset($_SESSION["neueveranstaltung"]["programmpunkte"][$lPK]))
unset($_SESSION["neueveranstaltung"]["programmpunkte"][$lPK]);
}
return $this->gsGetEditor($asParams);
}
function gsSave()
{
$sFormKey=$this->oSystem->oClientData->gvGetVariable("__formKey",false);
if($sFormKey==$_SESSION["form.editva"])
{
unset($_SESSION["form.editva"]);
if($asData=$this->oSystem->oClientData->gvGetVariable("__data",false))
{
$_SESSION["neueveranstaltung"]["title"]=$asData;
}
if($asData=$this->oSystem->oClientData->gvGetVariable("__programmPunkt",false))
{
if(trim($asData["ProgrammPunktName"])!="")
{
$_SESSION["neueveranstaltung"]["programmpunkte"][]=$asData;
}
}
}
return $this->gsGetEditor($asParams);
}
function canSave()
{
if($this->gotoUebersicht!==false)
{
return $this->oSystem->oUI->gsGetAnchor("javascript:",$this->gotoUebersicht,"Zur Startseite >>");
}
if(sizeof($_SESSION["neueveranstaltung"]["programmpunkte"])>0)
return $this->oSystem->oUI->gsGetAnchor("javascript:saveData()","#","Speichern >>");
return " ";
}
function gasGetEmpty($lEditorPK=false )
{
$as["VeranstaltungsKey"] =$_SESSION["neueveranstaltung"]["title"]["VeranstaltungsKey"];
$as["VeranstaltungsName"] =$_SESSION["neueveranstaltung"]["title"]["VeranstaltungsName"];
$as["BeginnAnmeldung"] =$_SESSION["neueveranstaltung"]["title"]["BeginnAnmeldung"];
$as["EndeAnmeldung"] =$_SESSION["neueveranstaltung"]["title"]["EndeAnmeldung"];
$as["BeginnDatum"] =$_SESSION["neueveranstaltung"]["title"]["BeginnDatum"];
$as["EndeDatum"] =$_SESSION["neueveranstaltung"]["title"]["EndeDatum"];
$as["PGMBeginnUhrzeit"] =$_SESSION["neueveranstaltung"]["title"];
$as["PGMBeginnDatum"] =$_SESSION["neueveranstaltung"]["title"];
$as["PGMEndeUhrzeit"] =$_SESSION["neueveranstaltung"]["title"];
$as["PGMEndeDatum"] =$_SESSION["neueveranstaltung"]["title"];
$as["ProgrammPunktName"] =$_SESSION["neueveranstaltung"]["title"];
$as["PreisRabattiert"] =$_SESSION["neueveranstaltung"]["title"];
$as["PreisNormal"] =$_SESSION["neueveranstaltung"]["title"];
$oR=$this->oSystem->oDB->goQuery("SELECT TypePK as Value,Name AS Anzeige,'' as Preselected FROM tdProgrammPunktTypen ORDER BY Name");
$asData=$oR->gaaGetAllRecords();
$as["programmtyp"]=$this->oSystem->oUI->gsGetSelectBox($asData,"__programmPunkt[TypePK]",array("class"=>"transpSelect","style"=>"width:150"));
$as["PGMBeginnUhrzeit"] ="";
$as["PGMBeginnDatum"] ="";
$as["PGMEndeUhrzeit"] ="";
$as["PGMEndeDatum"] ="";
$as["ProgrammPunktName"] ="";
$as["PreisRabattiert"] ="";
$as["PreisNormal"] ="";
$as["Kontingent"] ="";
return $as;
}
function gasGetPGMPKTE()
{
$asData=$_SESSION["neueveranstaltung"]["programmpunkte"];
$asReturn=array();
if(is_array($asData))
{
foreach($asData as $lKey=>$asPGM)
{
if(isset($asPGM["TypePK"]))
$asPGM["TypeName"]=$this->oSystem->oDB->gsGetFieldValue("tdProgrammPunktTypen","Name","TypePK=".$asPGM["TypePK"]);
$lTime=CDateTime::glGetTimeStampDT($asPGM["BeginnDatum"],$asPGM["BeginnUhrzeit"]);
while(isset($asReturn[$lTime]))
{
$lTime++;
}
$asPGM["KEY"]=$lKey;
$asReturn[$lTime]=$asPGM;
}
ksort($asReturn);
}
return $asReturn;
}
function gsGetEditor($asParams,$bGetFromSession=false)
{
$oTPL=$this->oSystem->goGetTPLParser($this->msTPLPath."edit.tpl");
$oTPL->gbSetValue("save",$this->oSystem->oSiteNavi->gsGetURL("NeueVeranstaltung",array("Hinzufuegen")));
$oTPL->gbSetValue("DROPURL",$this->oSystem->oSiteNavi->gsGetURL("NeueVeranstaltung",array("Entfernen")));
if($bGetFromSession===false)
{
$asData=$this->gasGetEmpty();
}
$_SESSION["form.editva"]=md5(mt_rand());
$oTPL->gbSetValue("__formKey",$_SESSION["form.editva"]);
$oTPL->gbSetBlock("programmpunkte",$this->gasGetPGMPKTE());
$oTPL->gbSetValArray($asData);
$oTPL->gbSetValue("STORE",$this->oSystem->oSiteNavi->gsGetURL("NeueVeranstaltung",array("Speichern")));
return $oTPL->gsParse();
}
function gasGetVeranstaltungen()
{
return false;
}
function msContent()
{
}
}