From 0dd950839b69f8898c00f191573336f66abe23b7 Mon Sep 17 00:00:00 2001 From: Gerald Simane Date: Mon, 22 Jun 2009 08:39:29 +0000 Subject: [PATCH] --- include/jahresplan.class.php | 1939 ++++++++++++---------------------- 1 file changed, 689 insertions(+), 1250 deletions(-) diff --git a/include/jahresplan.class.php b/include/jahresplan.class.php index d7b39231c..6bb07e489 100644 --- a/include/jahresplan.class.php +++ b/include/jahresplan.class.php @@ -32,1398 +32,837 @@ * @param veranstaltung_id Veranstaltung Key * @param reservierung_id Reservierung Key * -* @return - kein Retourn des Konstruktors +* @return - Retourn Konstruktor * */ -include_once(dirname(__FILE__)."/postgre_sql.class.php"); -class jahresplan extends postgre_sql +require_once(dirname(__FILE__).'/basis_db.class.php'); +class jahresplan extends basis_db { - protected $veranstaltungkategorie; - protected $veranstaltungskategorie_kurzbz; - protected $veranstaltungkategorie_struck; - protected $veranstaltungkategorie_mitarbeiter; - - protected $veranstaltung_struck; - protected $veranstaltung; - protected $veranstaltung_id; - - protected $start; - protected $ende; + public $new; // @boolean + public $result = array(); // jahresplan Objekt - protected $start_jahr; - protected $ende_jahr; - protected $start_jahr_monat; - protected $ende_jahr_monat; - protected $start_jahr_woche; - protected $ende_jahr_woche; + // Veranstaltungskategorie + public $veranstaltungskategorie_kurzbz; // @string (16) KEY + public $bezeichnung; // @string (64) + public $farbe; // @string (6) + public $bild; // @string (255) - protected $suchtext; - - protected $freigabe; + // Veranstaltungen + public $veranstaltung_id; // @int serial (Key) + + public $titel; // @string (64) + public $beschreibung; // @string (255) + public $inhalt; // @string (255) + + public $start; // @timestamp oder @date + public $ende; // @timestamp oder @date + + public $insertamum; // @timestamp oder @date + public $insertvon; // @string (16) + public $updateamum; // @timestamp oder @date + public $updatevon; // c@string (16) + public $freigabeamum; // @timestamp oder @date + public $freigabevon; // @string (16) + + // Reservierung + public $reservierung_id; // @int serial (key) + public $startDatum; // @int + public $endeDatum; // @int + public $startZeit; // @int + public $endeZeit; // @int + + // Suchbedingungen + public $show_only_public_kategorie=true; // @boolean - Public Kategorien sollen gelesen werden = false + + public $start_jahr; // @int + public $ende_jahr; // @int + + public $start_jahr_monat; // @int + public $ende_jahr_monat; // @int + + public $start_jahr_woche; // @int + public $ende_jahr_woche; // @int + + public $suchtext; // @int + public $freigabe; // @boolean - protected $reservierung; - protected $reservierung_id; - protected $reservierung_struck; - -//-----Konstruktor - - function jahresplan($connectSQL,$veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="") + + public $schemaSQL="campus"; // string Datenbankschema + + /** + * Konstruktor + * @param $db Connection zur DB + * $veranstaltungskategorie_kurzbz zum ladenden der Kategorie Funktion + * $veranstaltung_id zum ladenden der Veranstaltung Funktion + * $reservierung_id zum ladenden der Reservierung Funktion + * $show_only_public_kategorie Boolean welche Kategorien Public oder Alle fuer Lektoren und Mitarbeiter + */ + public function __construct($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="",$show_only_public_kategorie=true) { - + parent::__construct(); + + // Init alle Funktionen und Variablen $this->InitJahresplan(); + + // Berechtigungen beim Lesen + $this->show_only_public_kategorie=$show_only_public_kategorie; + + // Veranstaltungskategorie ------------------------------------------------------------------------------ + $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; + if (!empty($this->veranstaltungskategorie_kurzbz)) + $this->loadVeranstaltungskategorie($this->veranstaltungskategorie_kurzbz); - $this->setSchemaSQL('campus'); - $this->setConnectSQL($connectSQL); - $this->setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz); - $this->setVeranstaltung_id($veranstaltung_id); - $this->setReservierung_id($reservierung_id); + // Veranstaltungen -------------------------------------------------------------------------------------- + $this->veranstaltung_id=$veranstaltung_id; + if (!empty($this->veranstaltung_id)) + $this->loadVeranstaltung($this->veranstaltung_id,$this->veranstaltungskategorie_kurzbz); + + $this->reservierung_id=$reservierung_id; + if (!empty($this->reservierung_id)) + $this->loadReservierung($this->reservierung_id,$this->veranstaltung_id); + } + //-----Initialisierung-------------------------------------------------------------------------------------------- - function InitJahresplan() - { - $this->setError(''); - $this->InitVeranstaltungskategorie(); - $this->InitVeranstaltung(); - } -//-----Initialisierung Veranstaltungskategorie-------------------------------------------------------------------------------------------- - function InitVeranstaltungskategorie() - { - $this->setVeranstaltungskategorie_kurzbz(''); - $this->setVeranstaltungskategorie(''); - $this->getStruckturVeranstaltungskategorie(); - - $this->setVeranstaltungskategorieMitarbeiter(''); - } -//-----veranstaltungskategorie_kurzbz-------------------------------------------------------------------------------------------- - function getVeranstaltungskategorie_kurzbz() - { - return $this->veranstaltungskategorie_kurzbz; - } - function setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz) - { - $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - } -//-----veranstaltungskategorie Daten-------------------------------------------------------------------------------------------- - function getVeranstaltungskategorie() - { - return $this->veranstaltungskategorie; - } - function setVeranstaltungskategorie($veranstaltungskategorie) - { - $this->veranstaltungskategorie=$veranstaltungskategorie; - } -//-----Kategorien nur fuer Mitarbeiter-------------------------------------------------------------------------------------------- - function getVeranstaltungskategorieMitarbeiter() - { - return $this->veranstaltungkategorie_mitarbeiter; - } - function setVeranstaltungskategorieMitarbeiter($veranstaltungkategorie_mitarbeiter) - { - $this->veranstaltungkategorie_mitarbeiter=$veranstaltungkategorie_mitarbeiter; - } -//-----Veranstaltungskategorie Datenstrucktur-------------------------------------------------------------------------------------------- - function getStruckturVeranstaltungskategorie() - { - $this->setTableSQL('tbl_veranstaltungskategorie'); - if ($this->veranstaltungkategorie_struck) - return $this->veranstaltungkategorie_struck; - return $this->veranstaltungkategorie_struck=$this->setTableStruckturSQL(); - } + public function InitJahresplan() + { + $this->errormsg=''; + $this->new=false; + + $this->InitVeranstaltungskategorie(); + $this->InitVeranstaltung(); + $this->InitReservierung(); + } + //------------------------------------------------------------------------------------------------- - function saveVeranstaltungskategorie($param="") - { +// ------------------------ VERANSTALTUNGSKATEGORIE +//------------------------------------------------------------------------------------------------- + public function InitVeranstaltungskategorie() + { + // Veranstaltungskategorie + $this->veranstaltungskategorie_kurzbz=''; + $this->bezeichnung=''; + $this->farbe=''; + $this->bild=''; + $this->result=array(); + } + +//------------------------------------------------------------------------------------------------- + /** + * Speichert bzw. Aendert eine Veranstaltungskategorie + * @return true wenn ok, false im Fehlerfall + */ + public function saveVeranstaltungskategorie() + { // Initialisieren - $this->setError(''); - $cSchemaSQL=$this->getSchemaSQL(); + $this->errormsg=''; + $qry=""; + + $fildsList=''; + $fildsValue=''; - // Konstante - $arrTmpTableStrucktur=$this->getStruckturVeranstaltungskategorie(); - $constTableStrukturSQL=$this->getTableSQL(); - if (!is_array($arrTmpTableStrucktur)) + + if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { - $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; return false; - } - if (!is_array($param) || count($param)<1 ) - return false; // Fehler : es wurden keine Datenuebergeben - - $this->setNewRecord(true); - if (isset($param['veranstaltungskategorie_kurzbz_old']) && !empty($param['veranstaltungskategorie_kurzbz_old'])) - $this->setNewRecord(false); - - - $param_kurzbz=(isset($param['veranstaltungskategorie_kurzbz_old'])&& !empty($param['veranstaltungskategorie_kurzbz_old'])?$param['veranstaltungskategorie_kurzbz_old']:$param['veranstaltungskategorie_kurzbz']); - $this->setVeranstaltungskategorie_kurzbz($param_kurzbz); - - // Check ob Daten vorhanden sind - Update wenn key_old belegt, - // oder Neuanlage und es duerfen keine Daten vorhanden sein - $bTmpMerkNew=$this->getNewRecord(); - if ($origVeranstaltungskategorie=$this->loadVeranstaltungskategorie()) - { - if ($this->getNewRecord()) - { - $this->setError($param_kurzbz .' bereits vorhanden !'); - return false; - } } - elseif (!$this->getNewRecord()) // Keine Daten gefunden - { - if ($this->getError()) // Beim Lesen ist ein Fehler aufgetreten - return false; - } - $this->setNewRecord($bTmpMerkNew); + if (empty($this->bezeichnung)) + { + $this->errormsg='Veranstaltungskategorie - Bezeichnung fehlt!'; + return false; + } - $cTmpSQL=""; - - if ($this->getNewRecord()) + if($this->new) { - $fildsList=""; - $fildsValue=""; - reset($arrTmpTableStrucktur); - for ($fildIND=0;$fildINDveranstaltungskategorie_kurzbz)."',"; + $fildsValue.="'".addslashes($this->bezeichnung)."',"; + $fildsValue.="'".addslashes($this->farbe)."',"; + $fildsValue.="'".addslashes($this->bild)."'"; + + $qry=" insert into ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") values (".$fildsValue."); "; } else { - $cTmpSQL.=" update ".$cSchemaSQL.$constTableStrukturSQL." set "; - $fildsValue=''; - $fildsWhere=""; - reset($arrTmpTableStrucktur); - for ($fildIND=0;$fildINDsetStringSQL($cTmpSQL); - $this->setResultSQL(null); - if (!$this->dbQuery()) - { - $this->setError($cTmpSQL); - return false; - } - // Beim Lesen ist ein Fehler aufgetreten - if (!$this->loadVeranstaltungskategorie()) - { - if ($this->getError()) - return false; - $this->setNewRecord(true); - } - $this->setStringSQL($cTmpSQL); - unset($cTmpSQL); + $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung='".addslashes($this->bezeichnung)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."farbe='".addslashes($this->farbe)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."bild='".addslashes($this->bild)."'"; - $this->setResultSQL(null); - return $this->getVeranstaltungskategorie(); -} -//------------------------------------------------------------------------------------------------- - function deleteVeranstaltungskategorie($param="") - { - // Initialisieren - $this->setError(''); + $qry.=" update ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; + $qry.=$fildsValue; + $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + } - //Init - $cTmpVeranstaltungskategorie_kurzbz=""; - $cSchemaSQL=$this->getschemaSQL(); - if (is_array($param) && isset($param['veranstaltungskategorie_kurzbz'])) - $this->setVeranstaltungskategorie_kurzbz($param['veranstaltungskategorie_kurzbz']); - else if (is_array($param) && !empty($param) ) - $this->setVeranstaltungskategorie_kurzbz($param); - $cTmpVeranstaltungskategorie_kurzbz=$this->getVeranstaltungskategorie_kurzbz(); - - // Konstante - $arrTmpTableStrucktur=$this->getStruckturVeranstaltungskategorie(); - if (!is_array($arrTmpTableStrucktur)) + if($this->db_query($qry)) + return true; + else { - $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim speichern des Datensatzes'; return false; } - $constTableStrukturSQL=$this->getTableSQL(); - if (!is_array($param) || count($param)<1 ) - return false; // Fehler : es wurden keine Datenuebergeben - - $cTmpSQL=""; - if ($origVeranstaltungskategorie=$this->loadVeranstaltungskategorie($cTmpVeranstaltungskategorie_kurzbz)) - { - $cTmpSQL="delete from ".$cSchemaSQL.$constTableStrukturSQL; - if (is_array($cTmpVeranstaltungskategorie_kurzbz)) - $cTmpSQL.=" WHERE UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz) in ('".strtoupper( implode("','",$cTmpVeranstaltungskategorie_kurzbz))."'); "; - else - $cTmpSQL.=" WHERE UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz) = E'".strtoupper($cTmpVeranstaltungskategorie_kurzbz)."'; "; - } - if (empty($cTmpSQL)) - return 'bereits gelöscht'; - - $this->setStringSQL($cTmpSQL); - $this->setResultSQL(null); - if (!$this->dbQuery()) - { - # $this->setError($cTmpSQL); - if ($this->getError()) - return false; - } + // Beim Lesen ist ein Fehler aufgetreten if (!$this->loadVeranstaltungskategorie()) - { - if ($this->getError()) - return false; - $this->setNewRecord(true); - } - $this->setStringSQL($cTmpSQL); - unset($cTmpSQL); + return false; + return $this->result; + } - $this->setResultSQL(null); - return $this->getVeranstaltungskategorie(); -} //------------------------------------------------------------------------------------------------- - function loadVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") + /** + * Loescht eine Veranstaltungskategorie + * @return true wenn ok, false im Fehlerfall + */ + public function deleteVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { - //Init - $this->setError(''); - $cTmpVeranstaltungskategorie_kurzbz=""; - $cSchemaSQL=$this->getschemaSQL(); - if (!empty($veranstaltungskategorie_kurzbz) ) - $this->setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz); - $cTmpVeranstaltungskategorie_kurzbz=$this->getVeranstaltungskategorie_kurzbz(); - // Kategorien nur fuer Mietarbeiter - $Veranstaltungkategorie_mitarbeiter=$this->getVeranstaltungskategorieMitarbeiter(); + // Initialisieren + $qry=""; + $this->errormsg=''; + + // Parameter + if (!empty($veranstaltungskategorie_kurzbz)) + $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; + + // Plausib + if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) + { + $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; + return false; + } + + // Abfrage + $qry.=" delete from ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + if (is_array($this->veranstaltungskategorie_kurzbz)) + $qry.=" where veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + else + $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + + if($this->db_query($qry)) + return true; + else + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim Veranstaltungskategorie löschen'; + return false; + } + } +//------------------------------------------------------------------------------------------------- + /** + * Lesen der Veranstaltungskategorien + * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall + */ + public function loadVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") + { + // Initialisieren + $qry=""; + $this->errormsg=''; + $this->result=array(); + + if (!empty($veranstaltungskategorie_kurzbz)) + $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - $cTmpSQL=""; - $cTmpSQL.="SELECT * FROM ".$cSchemaSQL."tbl_veranstaltungskategorie "; - $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' "; + // Abfrage + $qry.="SELECT * FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" WHERE veranstaltungskategorie_kurzbz IS NOT NULL "; // Suche nach einer einzigen Veranstaltungskategorie_kurzbz - if (!is_array($cTmpVeranstaltungskategorie_kurzbz) && !empty($cTmpVeranstaltungskategorie_kurzbz) ) - { - $cTmpSQL.=" AND UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz)=UPPER('".addslashes(trim($cTmpVeranstaltungskategorie_kurzbz))."') "; - } - elseif (is_array($cTmpVeranstaltungskategorie_kurzbz) && count($cTmpVeranstaltungskategorie_kurzbz)>0 ) - { - if (isset($cTmpVeranstaltungskategorie_kurzbz[0]['veranstaltungskategorie_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array - { - $cTmpVeranstaltungskategorie_kurzbzE=array(); - for ($indZEILE=0;$indZEILEveranstaltungskategorie_kurzbz) && !empty($this->veranstaltungskategorie_kurzbz) ) + { + $qry.=" and veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + } + elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) + { + $qry.=" and veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; } - - if ($Veranstaltungkategorie_mitarbeiter) - $cTmpSQL.=" AND UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz) like '*%' "; - - $cTmpSQL.=" ORDER BY ".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz "; - $cTmpSQL.=" OFFSET 0 LIMIT ALL FOR SHARE;"; -# exit($cTmpSQL); - - // Entfernen der Temporaeren Variablen aus dem Speicher - if (isset($cSchemaSQL)) unset($cSchemaSQL); - if (isset($cTmpVeranstaltungskategorie_kurzbzE)) unset($cTmpVeranstaltungskategorie_kurzbzE); - if (isset($cTmpVeranstaltungskategorie_kurzbz)) unset($cTmpVeranstaltungskategorie_kurzbz); - - // Datenbankabfrage - $this->setStringSQL($cTmpSQL); - unset($cTmpSQL); - $this->setResultSQL(null); -# if (!$this->fetch_object()) - if (!$this->fetch_all()) - return false; - $this->setVeranstaltungskategorie($this->getResultSQL()); - $this->setResultSQL(null); - return $this->getVeranstaltungskategorie(); - } + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + if ($this->show_only_public_kategorie) + $qry.=" and veranstaltungskategorie_kurzbz not like '*%' "; + + $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; + + if($this->db_query($qry)) + { + $this->result=array(); + while($row = $this->db_fetch_object()) + { + $this->result[]=$row; + } + return $this->result; + } + else + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler Veranstaltungskategorien lesen!'; + return false; + } + } + //------------------------------------------------------------------------------------------------- // ------------------------ VERANSTALTUNG //-----Initialisierung Veranstaltung-------------------------------------------------------------------------------------------- - function InitVeranstaltung() + public function InitVeranstaltung() { + $this->InitVeranstaltungskategorie(); + + $this->veranstaltung_id=0; + $this->veranstaltungskategorie_kurzbz=''; - $this->setVeranstaltung_id(''); - $this->setVeranstaltung(''); - - $this->setStart(''); - $this->setEnde(''); + $this->titel=''; + $this->beschreibung=''; - $this->setStart_jahr(''); - $this->setEnde_jahr(''); + $this->inhalt=''; + + $this->start=''; + $this->ende=''; - $this->setStart_jahr_monat(''); - $this->setEnde_jahr_monat(''); - - $this->setStart_jahr_woche(''); - $this->setEnde_jahr_woche(''); + $this->insertamum=''; + $this->insertvon=''; + $this->updateamum=''; + $this->updatevon=''; + $this->freigabeamum=''; + $this->freigabevon=''; + + // Suchfelder + $this->start_jahr=''; + $this->ende_jahr=''; + + $this->start_jahr_monat=''; + $this->ende_jahr_monat=''; + + $this->start_jahr_woche=''; + $this->ende_jahr_woche=''; + + $this->suchtext=''; + $this->freigabe=false; - $this->setStart_jahr_monat_tag(''); - $this->setEnde_jahr_monat_tag(''); - - $this->setFreigabe(''); - $this->setSuchtext(''); - - $this->getStruckturVeranstaltung(); - } -//-----veranstaltung_id-------------------------------------------------------------------------------------------- - function getVeranstaltung_id() - { - return $this->veranstaltung_id; - } - function setVeranstaltung_id($veranstaltung_id="") - { - $this->veranstaltung_id=$veranstaltung_id; - } -//-----veranstaltung Daten-------------------------------------------------------------------------------------------- - function getVeranstaltung() - { - return $this->veranstaltung; - } - function setVeranstaltung($veranstaltung) - { - $this->veranstaltung=$veranstaltung; + $this->result=array(); } -//-----start Jahr-------------------------------------------------------------------------------------------- - function getStart_jahr() - { - return $this->start_jahr; - } - function setStart_jahr($start_jahr="") - { - $this->start_jahr=$start_jahr; - } -//-----ende Jahr-------------------------------------------------------------------------------------------- - function getEnde_jahr() - { - return $this->ende_jahr; - } - function setEnde_jahr($ende_jahr="") - { - $this->ende_jahr=$ende_jahr; - } -//-----start JahrMonat-------------------------------------------------------------------------------------------- - function getStart_jahr_monat() - { - return $this->start_jahr_monat; - } - function setStart_jahr_monat($start_jahr_monat="") - { - $this->start_jahr_monat=$start_jahr_monat; - } -//-----ende JahrMonat-------------------------------------------------------------------------------------------- - function getEnde_jahr_monat() - { - return $this->ende_jahr_monat; - } - function setEnde_jahr_monat($ende_jahr_monat="") - { - $this->ende_jahr_monat=$ende_jahr_monat; - } - -//-----start JahrMonat-------------------------------------------------------------------------------------------- - function getStart_jahr_woche() - { - return $this->start_jahr_woche; - } - function setStart_jahr_woche($start_jahr_woche="") - { - $this->start_jahr_woche=$start_jahr_woche; - } -//-----ende JahrMonat-------------------------------------------------------------------------------------------- - function getEnde_jahr_woche() - { - return $this->ende_jahr_woche; - } - function setEnde_jahr_woche($ende_jahr_woche="") - { - $this->ende_jahr_woche=$ende_jahr_woche; - } -//-----start JahrMonat-------------------------------------------------------------------------------------------- - function getStart_jahr_monat_tag() - { - return $this->start_jahr_monat_tag; - } - function setStart_jahr_monat_tag($start_jahr_monat_tag="") - { - $this->start_jahr_monat_tag=$start_jahr_monat_tag; - } - -//-----ende JahrMonat-------------------------------------------------------------------------------------------- - function getEnde_jahr_monat_tag() - { - return $this->ende_jahr_monat_tag; - } - function setEnde_jahr_monat_tag($ende_jahr_monat_tag="") - { - $this->ende_jahr_monat_tag=$ende_jahr_monat_tag; - } -//-----start-------------------------------------------------------------------------------------------- - function getStart() - { - return $this->start; - } - function setStart($start="") - { - if (!empty($start) && !is_numeric($start)) // Start wurde als Datum Zeit uebergeben - { - $start=str_replace('-','.',$start); - $param=explode(' ',$start); - $date=explode('.',$param[0]); - if (!isset($param[1])) $param[1]='00:01:00'; - $time=explode(':',$param[1]); - if (@checkdate($date[1], $date[0], $date[2]) ) - { - if (is_numeric($cTmpTimeStampWert=@mktime($time[0], $time[1], 0, $date[1],$date[0],$date[2] ))) - $start=$cTmpTimeStampWert; - } - } - $this->start=$start; - } - -//-----ende-------------------------------------------------------------------------------------------- - function getEnde() - { - return $this->ende; - } - function setEnde($ende="") - { - if (!empty($ende) && !is_numeric($ende)) // Start wurde als Datum Zeit uebergeben - { - $ende=str_replace('-','.',$ende); - $param=explode(' ',$ende); - $date=explode('.',$param[0]); - if (!isset($param[1])) $param[1]='23:59:59'; - $time=explode(':',$param[1]); - if (@checkdate($date[1], $date[0], $date[2]) ) - { - if (is_numeric($cTmpTimeStampWert=@mktime($time[0], $time[1], 0, $date[1],$date[0],$date[2] ))) - $ende=$cTmpTimeStampWert; - } - } - $this->ende=$ende; - } -//-----freigabe-------------------------------------------------------------------------------------------- - function getFreigabe() - { - return $this->freigabe; - } - function setFreigabe($freigabe="") - { - $this->freigabe=$freigabe; - } -//-----freigabe-------------------------------------------------------------------------------------------- - function getSuchtext() - { - return $this->suchtext; - } - function setSuchtext($suchtext="") - { - $this->suchtext=$suchtext; - } - -//-----Veranstaltung Daten-------------------------------------------------------------------------------------------- - function getStruckturVeranstaltung() - { - $this->setTableSQL('tbl_veranstaltung'); - if ($this->veranstaltung_struck) - return $this->veranstaltung_struck; - return $this->veranstaltung_struck=$this->setTableStruckturSQL(); - } - //------------------------------------------------------------------------------------------------- - function saveVeranstaltung($param="") + /** + * Speichert bzw. Aendert eine Veranstaltung + * @return true wenn ok, false im Fehlerfall + */ + public function saveVeranstaltung() { // Initialisieren - $this->setError(''); - $cSchemaSQL=$this->getSchemaSQL(); + $this->errormsg=''; + $qry=''; + $fildsList=''; + $fildsValue=''; - // Konstante - $arrTmpTableStrucktur=$this->getStruckturVeranstaltung(); - $constTableStrukturSQL=$this->getTableSQL(); - if (!is_array($arrTmpTableStrucktur)) + if (!$this->new && ( empty($this->veranstaltung_id) || $this->veranstaltung_id==null) ) { - $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + $this->errormsg='Veranstaltungs - ID fehlt!'; return false; - } - - if (!is_array($param) || count($param)<1 ) - return false; // Fehler : es wurden keine Datenuebergeben - - $this->setNewRecord(true); - if (isset($param['veranstaltung_id_old']) && $param['veranstaltung_id_old']>0) - $this->setNewRecord(false); - - $param_id=(isset($param['veranstaltung_id_old'])&& !empty($param['veranstaltung_id_old'])?$param['veranstaltung_id_old']:$param['veranstaltung_id']); - $this->setVeranstaltung_id($param_id); - - if ( (empty($param['veranstaltung_id']) && !empty($param['veranstaltung_id_old'])) ) - { - $this->setError('Keine Veranstaltungs ID gefunden !'); - return false; - } - - if (!isset($param['veranstaltungskategorie_kurzbz']) || empty($param['veranstaltungskategorie_kurzbz']) ) - $param['veranstaltungskategorie_kurzbz']=$this->getVeranstaltungskategorie_kurzbz(); - if (empty($param['veranstaltungskategorie_kurzbz']) ) - { - $this->setError('Keine Veranstaltungskategorie gefunden !'); - return false; - } - $this->setVeranstaltungskategorie_kurzbz($param['veranstaltungskategorie_kurzbz']); - - $bTmpMerkNew=$this->getNewRecord(); - // Check ob Daten vorhanden sind - Update wenn key_old belegt, - // oder Neuanlage und es duerfen keine Daten vorhanden sein - if ($origVeranstaltungskategorie=$this->loadVeranstaltung()) - { - - if ($this->getNewRecord()) - { - $this->setError($param_id .' bereits vorhanden !'); - return false; - } } - elseif (!$this->getNewRecord()) // Keine Daten gefunden - { - if ($this->getError()) // Beim Lesen ist ein Fehler aufgetreten - return false; - } - $this->setNewRecord($bTmpMerkNew); - $cTmpSQL=""; - - if ($this->getNewRecord()) + if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { + $this->errormsg='Veranstaltungs - Kategoriekurzbz. fehlt!'; + return false; + } + + if (empty($this->beschreibung)) + { + $this->errormsg='Veranstaltungs - Beschreibung fehlt!'; + return false; + } - $fildsList=""; - $fildsValue=""; - reset($arrTmpTableStrucktur); - for ($fildIND=0;$fildINDnew) + { +# $fildsList.='veranstaltung_id,'; // Key - Automatisch erzeugt - Serial + $fildsList.='veranstaltungskategorie_kurzbz,'; + $fildsList.='beschreibung,'; + $fildsList.='inhalt,'; + $fildsList.='start,'; + $fildsList.='ende,'; + $fildsList.='insertamum,'; + $fildsList.='insertvon,'; + $fildsList.='updateamum,'; + $fildsList.='updatevon,'; + $fildsList.='freigabeamum,'; + $fildsList.='freigabevon'; +# $fildsValue.="'".addslashes($this->veranstaltung_id)."',"; // Key - Automatisch erzeugt - Serial + $fildsValue.="'".addslashes($this->veranstaltungskategorie_kurzbz)."',"; + $fildsValue.="'".addslashes($this->beschreibung)."',"; + $fildsValue.="'".addslashes($this->inhalt)."',"; + $fildsValue.="'".addslashes($this->start)."',"; + $fildsValue.="'".addslashes($this->ende)."',"; + $fildsValue.="'".addslashes($this->insertamum)."',"; + $fildsValue.="'".addslashes($this->insertvon)."',"; + $fildsValue.="'".addslashes($this->updateamum)."',"; + $fildsValue.="'".addslashes($this->updatevon)."',"; + $fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':"'".addslashes($this->freigabeamum)."'").","; + $fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':"'".addslashes($this->freigabevon)."'"); + $qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") "; } else { - $cTmpSQL.=" update ".$cSchemaSQL.$constTableStrukturSQL." set "; - $fildsValue=''; - $fildsWhere=""; - reset($arrTmpTableStrucktur); - for ($fildIND=0;$fildINDsetStringSQL($cTmpSQL); - $this->setResultSQL(null); - if ($this->getNewRecord()) - { - if (!$this->fetch_object()) - { - if ($this->getError()) - return false; - } - $iTmpMax=$this->getResultSQL(); - $this->setVeranstaltung_id($iTmpMax->max); - $param['veranstaltung_id']=$this->getVeranstaltung_id(); - } - elseif (!$this->dbQuery()) - { - if ($this->getError()) - return false; - } - // Beim Lesen ist ein Fehler aufgetreten - if (!$this->loadVeranstaltung()) - { - if ($this->getError()) - return false; - $this->setNewRecord(true); + $fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."beschreibung='".addslashes($this->beschreibung)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."inhalt='".addslashes($this->inhalt)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."start='".addslashes($this->start)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."ende='".addslashes($this->ende)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."updateamum='".addslashes($this->updateamum)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."updatevon='".addslashes($this->updatevon)."'"; + if (is_null($this->freigabeamum)) + $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=null"; + else + $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum='".addslashes($this->freigabeamum)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."freigabevon='".addslashes($this->freigabevon)."'"; + $qry.=" update ".$this->schemaSQL.".tbl_veranstaltung set "; + $qry.=$fildsValue; + $qry.=" where veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; } - $this->setStringSQL($cTmpSQL); - unset($cTmpSQL); - - $this->setResultSQL(null); - return $this->getVeranstaltung(); -} -//------------------------------------------------------------------------------------------------- - function deleteVeranstaltung($param="") - { - // Initialisieren - $this->setError(''); - - //Init - $cTmpVeranstaltung_id=""; - $cSchemaSQL=$this->getschemaSQL(); - if (is_array($param) && isset($param['veranstaltung_id'])) - $this->setVeranstaltung_id($param['veranstaltung_id']); - else if (!is_array($param) && !empty($param) ) - $this->setVeranstaltung_id($param); - $cTmpVeranstaltung_id=$this->getVeranstaltung_id(); - - $cTmpVeranstaltungskategorie_kurzbz=""; - if (!isset($param['veranstaltungskategorie_kurzbz']) || empty($param['veranstaltungskategorie_kurzbz']) ) - $param['veranstaltungskategorie_kurzbz']=$this->getVeranstaltungskategorie_kurzbz(); - if (is_array($param) && isset($param['veranstaltungskategorie_kurzbz'])) - $this->setVeranstaltungskategorie_kurzbz($param['veranstaltungskategorie_kurzbz']); - $cTmpVeranstaltungskategorie_kurzbz=$this->getVeranstaltungskategorie_kurzbz(); - - // Konstante - $arrTmpTableStrucktur=$this->getStruckturVeranstaltung(); - $constTableStrukturSQL=$this->getTableSQL(); - if (!is_array($arrTmpTableStrucktur)) +#echo "

$qry

"; + if(!$this->db_query($qry)) { - $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim speichern des Datensatzes'; return false; } - - if (!is_array($param) || count($param)<1 ) - return false; // Fehler : es wurden keine Datenuebergeben - - $cTmpSQL=""; - - $cTmpSQL.="BEGIN; "; - $cTmpSQL.="update ".$cSchemaSQL."tbl_reservierung set veranstaltung_id=null "; - if (is_array($cTmpVeranstaltung_id)) - $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_reservierung.veranstaltung_id in (".implode(",",$cTmpVeranstaltung_id)."); "; - else if (!empty($cTmpVeranstaltung_id)) - $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_reservierung.veranstaltung_id =".$cTmpVeranstaltung_id."; "; - else - $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_reservierung.veranstaltung_id =".$cTmpVeranstaltung_id."; "; - - $cTmpSQL.="delete from ".$cSchemaSQL.$constTableStrukturSQL; - if (is_array($cTmpVeranstaltung_id)) - $cTmpSQL.=" WHERE ".$cSchemaSQL.$constTableStrukturSQL.".veranstaltung_id in (".implode(",",$cTmpVeranstaltung_id)."); "; - else if (!empty($cTmpVeranstaltung_id)) - $cTmpSQL.=" WHERE ".$cSchemaSQL.$constTableStrukturSQL.".veranstaltung_id =".$cTmpVeranstaltung_id."; "; - else - $cTmpSQL.=" WHERE ".$cSchemaSQL.$constTableStrukturSQL.".veranstaltung_id =".$cTmpVeranstaltungskategorie_kurzbz."; "; - $cTmpSQL.=" COMMIT; "; - - $this->setStringSQL($cTmpSQL); - $this->setResultSQL(null); - if (!$this->dbQuery()) - { - if ($this->getError()) - return false; + + if($this->new) + { + $qry=" select max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) from ".$this->schemaSQL.".tbl_veranstaltung; "; + if(!$this->db_query($qry)) + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim lesen des neuen Datensatzes'; + return false; + } +#echo "

$qry

"; + if (!$row = $this->db_fetch_object()) + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim ermitteln des neuen Datensatzes'; + return false; + } + $this->veranstaltung_id=$row->max; } // Beim Lesen ist ein Fehler aufgetreten + + $this->freigabe=false; + $veranstaltung_id=$this->veranstaltung_id; + $this->InitVeranstaltung(); + $this->veranstaltung_id=$veranstaltung_id; if (!$this->loadVeranstaltung()) - { - if ($this->getError()) - return false; - $this->setNewRecord(true); + return false; + return $this->result; + } +//------------------------------------------------------------------------------------------------- + /** + * Loescht eine Veranstaltung + * @return true wenn ok, false im Fehlerfall + */ + public function deleteVeranstaltung($veranstaltung_id="") + { + // Initialisieren + $qry=""; + $this->errormsg=''; + + // Parameter + if (!empty($veranstaltung_id)) + $this->veranstaltung_id=$veranstaltung_id; + + // Plausib + if (empty($this->veranstaltung_id) || $this->veranstaltung_id==null ) + { + $this->errormsg='Veranstaltung - ID fehlt!'; + return false; + } + + // Abfrage + $qry.="BEGIN; "; + + // Reservierung + $qry.="update ".$this->schemaSQL.".tbl_reservierung set veranstaltung_id=null "; + if (is_array($this->veranstaltung_id)) + $qry.=" WHERE veranstaltung_id in (".implode(",",$this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; "; + + // Veranstaltung + $qry.=" delete from ".$this->schemaSQL.".tbl_veranstaltung "; + if (is_array($this->veranstaltung_id)) + $qry.=" WHERE veranstaltung_id in (".implode(",",$this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; "; + + $qry.=" COMMIT; "; + + if($this->db_query($qry)) + return true; + else + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim Veranstaltung löschen '; + return false; } - $this->setStringSQL($cTmpSQL); - unset($cTmpSQL); - - $this->setResultSQL(null); - return true; } - //------------------------------------------------------------------------------------------------- - function loadVeranstaltung($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$freigabe="") - { - //Init - $this->setError(''); - $cSchemaSQL=$this->getschemaSQL(); - - $cTmpVeranstaltung_id=''; - if ($veranstaltung_id!='') - $this->setVeranstaltung_id($veranstaltung_id); - $cTmpVeranstaltung_id=$this->getVeranstaltung_id(); + /** + * Lesen der Veranstaltung + * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall + */ +public function loadVeranstaltung($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$freigabe="",$show_only_public_kategorie="") +{ + //Init + $qry=""; + + $this->errormsg=''; + $this->result=array(); + + if ($veranstaltung_id!='') + $this->veranstaltung_id=$veranstaltung_id; + + if (!empty($veranstaltungskategorie_kurzbz)) + $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - $cTmpVeranstaltungskategorie_kurzbz=""; - if ($veranstaltungskategorie_kurzbz!='') - $this->setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz); - $cTmpVeranstaltungskategorie_kurzbz=$this->getVeranstaltungskategorie_kurzbz(); - - $cTmpFreigabe=""; - if ($freigabe!='') - $this->setFreigabe($freigabe); - $cTmpFreigabe=$this->getFreigabe(); - - - $cTmpSuchtext=$this->getSuchtext(); - - $cTmpStart=$this->getStart(); - $cTmpEnde=$this->getEnde(); - - // Selektion - $cTmpStart_jahr=$this->getStart_jahr(); - $cTmpEnde_jahr=$this->getEnde_jahr(); - - $cTmpStart_jahr_monat=$this->getStart_jahr_monat(); - $cTmpEnde_jahr_monat=$this->getEnde_jahr_monat(); + if ($freigabe!='') + $this->freigabe=$freigabe; - $cTmpStart_jahr_woche=$this->getStart_jahr_woche(); - $cTmpEnde_jahr_woche=$this->getEnde_jahr_woche(); - - $cTmpStart_jahr_monat_tag=$this->getStart_jahr_monat_tag(); - $cTmpEnde_jahr_monat_tag=$this->getEnde_jahr_monat_tag(); - - $Veranstaltungkategorie_mitarbeiter=$this->getVeranstaltungskategorieMitarbeiter(); - - $cTmpSQL=""; - $cTmpSQL.="SELECT tbl_veranstaltung.* "; - - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'YYYYMMDD') as \"ende_jjjjmmtt\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'YYYYMM') as \"start_jahr_monat\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'YYYYMM') as \"ende_jahr_monat\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'YYYY') as \"start_jahr\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'YYYY') as \"ende_jahr\" "; - - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'MM') as \"start_monat\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'MM') as \"ende_monat\" "; - - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'DD') as \"start_tag\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'DD') as \"ende_tag\" "; + if ($show_only_public_kategorie!='') + $this->show_only_public_kategorie=$show_only_public_kategorie; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'Day') as \"start_tagname\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'Day') as \"ende_tagname\" "; + $qry.="SELECT tbl_veranstaltung.* "; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'IW') as \"start_woche\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'IW') as \"ende_woche\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'YYYYMMDD') as \"ende_jjjjmmtt\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'YYYYMM') as \"start_jahr_monat\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'YYYYMM') as \"ende_jahr_monat\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'YYYY') as \"start_jahr\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'YYYY') as \"ende_jahr\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'MM') as \"start_monat\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'MM') as \"ende_monat\" "; + + $qry.=", to_char(tbl_veranstaltung.start, 'DD') as \"start_tag\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'DD') as \"ende_tag\" "; - $cTmpSQL.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start) as \"start_timestamp\" "; - $cTmpSQL.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende) as \"ende_timestamp\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'Day') as \"start_tagname\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'Day') as \"ende_tagname\" "; + + $qry.=", to_char(tbl_veranstaltung.start, 'IW') as \"start_woche\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'IW') as \"ende_woche\" "; + + $qry.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" "; + + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start) as \"start_timestamp\" "; + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende) as \"ende_timestamp\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'DD.MM.YYYY') as \"start_datum\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'DD.MM.YYYY') as \"ende_datum\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'DD.MM.YYYY') as \"start_datum\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'DD.MM.YYYY') as \"ende_datum\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'HH24:MI') as \"start_zeit\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'HH24:MI') as \"ende_zeit\" "; + $qry.=", to_char(tbl_veranstaltung.start, 'HH24:MI') as \"start_zeit\" "; + $qry.=", to_char(tbl_veranstaltung.ende, 'HH24:MI') as \"ende_zeit\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.insertamum, 'DD.MM.YYYY') as \"insertamum_datum\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.insertamum, 'HH24:MI') as \"insertamum_zeit\" "; - $cTmpSQL.=", EXTRACT(EPOCH FROM tbl_veranstaltung.insertamum) as \"insertamum_timestamp\" "; + $qry.=", to_char(tbl_veranstaltung.insertamum, 'DD.MM.YYYY') as \"insertamum_datum\" "; + $qry.=", to_char(tbl_veranstaltung.insertamum, 'HH24:MI') as \"insertamum_zeit\" "; + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.insertamum) as \"insertamum_timestamp\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.updateamum, 'DD.MM.YYYY') as \"updateamum_datum\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.updateamum, 'HH24:MI') as \"updateamum_zeit\" "; - $cTmpSQL.=", EXTRACT(EPOCH FROM tbl_veranstaltung.updateamum) as \"updateamum_timestamp\" "; + $qry.=", to_char(tbl_veranstaltung.updateamum, 'DD.MM.YYYY') as \"updateamum_datum\" "; + $qry.=", to_char(tbl_veranstaltung.updateamum, 'HH24:MI') as \"updateamum_zeit\" "; + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.updateamum) as \"updateamum_timestamp\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.freigabeamum, 'DD.MM.YYYY') as \"freigabeamum_datum\" "; - $cTmpSQL.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" "; - $cTmpSQL.=", EXTRACT(EPOCH FROM tbl_veranstaltung.freigabeamum) as \"freigabeamum_timestamp\" "; + $qry.=", to_char(tbl_veranstaltung.freigabeamum, 'DD.MM.YYYY') as \"freigabeamum_datum\" "; + $qry.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" "; + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.freigabeamum) as \"freigabeamum_timestamp\" "; - $cTmpSQL.=",tbl_veranstaltungskategorie.*,tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz as kategorie_kurzbz "; + $qry.=",tbl_veranstaltungskategorie.*,tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz as kategorie_kurzbz "; - $cTmpSQL.=" FROM ".$cSchemaSQL."tbl_veranstaltungskategorie "; - - $cTmpSQL.=" LEFT JOIN ".$cSchemaSQL."tbl_veranstaltung ON UPPER(".$cSchemaSQL."tbl_veranstaltung.veranstaltungskategorie_kurzbz)=UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz) "; - if (!is_array($cTmpVeranstaltung_id) && $cTmpVeranstaltung_id!='' ) - { - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_veranstaltung.veranstaltung_id=".$cTmpVeranstaltung_id." "; - } - - $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' "; - - if ($cTmpFreigabe) - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_veranstaltung.freigabevon>E'' "; + $qry.=" FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz "; + $qry.=" WHERE ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' "; - // Suche nach einer einzigen Veranstaltung_id - if (!is_array($cTmpVeranstaltung_id) && !empty($cTmpVeranstaltung_id) ) + if ($this->freigabe) + { + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.freigabevon>'' "; + } + // Suche nach einer einzigen Veranstaltung_id + if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) ) { - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_veranstaltung.veranstaltung_id=".$cTmpVeranstaltung_id." "; - } - elseif (is_array($cTmpVeranstaltung_id) && count($cTmpVeranstaltung_id)>0 ) - { - if (isset($cTmpVeranstaltung_id[0]['veranstaltung_id'])) // Check ob nicht kpl. Tablestruck in Array + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id=".$this->veranstaltung_id." "; + } + elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) { - $cTmpVeranstaltung_idE=array(); - for ($indZEILE=0;$indZEILEschemaSQL.".tbl_veranstaltung.veranstaltung_id in (".implode(",",$this->veranstaltung_id).") "; } - elseif (isset($cTmpVeranstaltung_id['veranstaltung_id'])) // Check ob nicht kpl. Tablestruck in Array - { - $cTmpVeranstaltung_idE=array(); - $cTmpVeranstaltung_idE[]=trim($cTmpVeranstaltung_id['veranstaltung_id']); - $cTmpVeranstaltung_id=$cTmpVeranstaltung_idE; - } - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_veranstaltung.veranstaltung_id in (".strtoupper(implode(",",$cTmpVeranstaltung_id)).") "; - } // Suche nach einer einzigen Veranstaltungskategorie_kurzbz - if (!is_array($cTmpVeranstaltungskategorie_kurzbz) && $cTmpVeranstaltungskategorie_kurzbz!='' ) + if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' ) { - $cTmpSQL.=" AND UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz)=UPPER('".addslashes(trim($cTmpVeranstaltungskategorie_kurzbz))."') "; - } - elseif (is_array($cTmpVeranstaltungskategorie_kurzbz) && count($cTmpVeranstaltungskategorie_kurzbz)>0 ) + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + } + elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) { - if (isset($cTmpVeranstaltungskategorie_kurzbz[0]['veranstaltungskategorie_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array - { - $cTmpVeranstaltungskategorie_kurzbzE=array(); - for ($indZEILE=0;$indZEILEschemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + } - if (!empty($cTmpStart) && empty($cTmpEnde) ) - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_veranstaltung.start=to_timestamp(".$cTmpStart.") "; - else if (empty($cTmpStart) && !empty($cTmpEnde) ) - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_veranstaltung.ende=to_timestamp(".$cTmpEnde.") "; - else if (!empty($cTmpStart) && !empty($cTmpEnde) ) + if (!empty($this->start) && empty($this->ende) ) + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") "; + else if (empty($this->start) && !empty($this->ende) ) + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") "; + else if (!empty($this->start) && !empty($this->ende) ) { - $cTmpSQL.=" AND to_timestamp(".$cTmpStart.") >=to_timestamp(".$cSchemaSQL."tbl_veranstaltung.start) "; - $cTmpSQL.=" AND to_timestamp(".$cTmpEnde.") <= to_timestamp(".$cSchemaSQL."tbl_veranstaltung.ende) "; + $qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) "; + $qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) "; } - if (!empty($cTmpStart_jahr) && empty($cTmpEnde_jahr)) - $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYY')='".$cTmpStart_jahr."'"; - elseif (empty($cTmpStart_jahr) && !empty($cTmpEnde_jahr) ) - $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYY')='".$cTmpEnde_jahr."'"; - elseif (empty($cTmpStart_jahr) && !empty($cTmpEnde_jahr) ) + if (!empty($this->start_jahr) && empty($this->ende_jahr)) + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".$this->start_jahr."'"; + elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".$this->ende_jahr."'"; + elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) { - $cTmpSQL.=" AND '".$cTmpStart_jahr."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYY') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYY') "; - $cTmpSQL.=" AND '".$cTmpEnde_jahr."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYY') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND '".$this->start_jahr."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND '".$this->ende_jahr."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; } - if (!empty($cTmpStart_jahr_monat) && empty($cTmpEnde_jahr_monat) ) - $cTmpSQL.=" AND '".$cTmpStart_jahr_monat."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMM') and to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMM')"; - elseif (empty($cTmpStart_jahr_monat) && !empty($cTmpEnde_jahr_monat) ) - $cTmpSQL.=" AND '".$cTmpStart_jahr_monat."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMM') and to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMM')"; - elseif (!empty($cTmpStart_jahr_monat) && !empty($cTmpEnde_jahr_monat) ) + if (!empty($this->start_jahr_monat) && empty($this->ende_jahr_monat) ) + $qry.=" AND '".$this->start_jahr_monat."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; + elseif (empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) ) + $qry.=" AND '".$this->start_jahr_monat."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; + elseif (!empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) ) { - $cTmpSQL.=" AND '".$cTmpStart_jahr_monat."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMM') "; - $cTmpSQL.=" AND '".$cTmpEnde_jahr_monat."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND '".$this->start_jahr_monat."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND '".$this->ende_jahr_monat."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; } - if (!empty($cTmpStart_jahr_woche) && empty($cTmpEnde_jahr_woche) ) - $cTmpSQL.=" AND '".$cTmpStart_jahr_woche."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYIW'')"; - elseif (empty($cTmpStart_jahr_woche) && !empty($cTmpEnde_jahr_woche) ) - $cTmpSQL.=" AND '".$cTmpStart_jahr_woche."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYIW'')"; - elseif (!empty($cTmpStart_jahr_woche) && !empty($cTmpEnde_jahr_woche) ) + if (!empty($this->start_jahr_woche) && empty($this->ende_jahr_woche) ) + $qry.=" AND '".$this->start_jahr_woche."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; + elseif (empty($this->start_jahr_woche) && !empty($this->ende_jahr_woche) ) + $qry.=" AND '".$this->start_jahr_woche."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; + elseif (!empty($this->start_jahr_woche) && !empty($this->ende_jahr_woche) ) { - $cTmpSQL.=" AND '".$cTmpStart_jahr_woche."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYIW'') "; - $cTmpSQL.=" AND '".$cTmpEnde_jahr_woche."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYIW'') "; + $qry.=" AND '".$this->start_jahr_woche."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; + $qry.=" AND '".$this->ende_jahr_woche."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; } - if (!empty($cTmpStart_jahr_monat_tag) && empty($cTmpEnde_jahr_monat_tag) ) - $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMMDD')>='".$cTmpStart_jahr_monat_tag."'"; - elseif (empty($cTmpStart_jahr_monat_tag) && !empty($cTmpEnde_jahr_monat_tag) ) - $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMMDD')<='".$cTmpEnde_jahr_monat_tag."'"; - elseif (!empty($cTmpStart_jahr_monat_tag) && !empty($cTmpEnde_jahr_monat_tag) ) + if (!empty($this->start_jahr_monat_tag) && empty($this->ende_jahr_monat_tag) ) + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>='".$this->start_jahr_monat_tag."'"; + elseif (empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD')<='".$this->ende_jahr_monat_tag."'"; + elseif (!empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) { - $cTmpSQL.=" AND '".$cTmpStart_jahr_monat_tag."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMMDD') "; - $cTmpSQL.=" AND '".$cTmpEnde_jahr_monat_tag."' between to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND '".$this->start_jahr_monat_tag."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND '".$this->ende_jahr_monat_tag."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; } - if ($cTmpSuchtext) + if ($this->suchtext) { - $cTmpSuchtext="%$cTmpSuchtext%"; - $cTmpSuchtext=str_replace(' ','%',$cTmpSuchtext); - $cTmpSuchtext=str_replace('%%','%',addslashes(strtoupper(trim($cTmpSuchtext)))); - $cTmpSQL.=" AND ( UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz) like E'".$cTmpSuchtext."' - OR UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.bezeichnung) like E'".$cTmpSuchtext."' - OR UPPER(".$cSchemaSQL."tbl_veranstaltung.beschreibung) like E'".$cTmpSuchtext."' - OR UPPER(".$cSchemaSQL."tbl_veranstaltung.inhalt) like E'".$cTmpSuchtext."' ) "; + $this->suchtext='%'.$this->suchtext.'%'; + $this->suchtext=str_replace(' ','%',$this->suchtext); + $this->suchtext=str_replace('%%','%',addslashes($this->suchtext)); + $qry.=" AND ( ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz like '".$this->suchtext."' + OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like '".$this->suchtext."' + OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like '".$this->suchtext."' + OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like '".$this->suchtext."' ) "; } - // Kategorien nur fuer Mietarbeiter - if (!$Veranstaltungkategorie_mitarbeiter) - $cTmpSQL.=" AND NOT UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz) like '*%' "; + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + if ($this->show_only_public_kategorie) + $qry.=" AND NOT ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz like '*%' "; - if (!empty($cTmpStart) || !empty($cTmpEnde) || !empty($cTmpStart_jahr) || !empty($cTmpEnde_jahr) || !empty($cTmpStart_jahr_monat) || !empty($cTmpEnde_jahr_monat) || !empty($cTmpStart_jahr_monat_tag) || !empty($cTmpEnde_jahr_monat_tag) ) - $cTmpSQL.=" ORDER BY ".$cSchemaSQL."tbl_veranstaltung.start, tbl_veranstaltungskategorie.bezeichnung "; + if (!empty($this->start) || !empty($this->ende) || !empty($this->start_jahr) || !empty($this->ende_jahr) || !empty($this->start_jahr_monat) || !empty($this->ende_jahr_monat) || !empty($this->start_jahr_monat_tag) || !empty($this->ende_jahr_monat_tag) ) + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltung.start, ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung "; else - $cTmpSQL.=" ORDER BY ".$cSchemaSQL."tbl_veranstaltungskategorie.bezeichnung, tbl_veranstaltung.start "; + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; - $cTmpSQL.=" OFFSET 0 LIMIT ALL ;"; +#echo "

$qry

"; + + if($this->db_query($qry)) + { + $veranstaltungkategorie=array(); + while($row = $this->db_fetch_object()) + { + $veranstaltungkategorie[]=$row; + } + +#var_dump($veranstaltungkategorie); - // Entfernen der Temporaeren Variablen aus dem Speicher - if (isset($cSchemaSQL)) unset($cSchemaSQL); - if (isset($cTmpVeranstaltungskategorie_kurzbzE)) unset($cTmpVeranstaltungskategorie_kurzbzE); - if (isset($cTmpVeranstaltungskategorie_kurzbz)) unset($cTmpVeranstaltungskategorie_kurzbz); - - // Datenbankabfrage - $this->setStringSQL($cTmpSQL); - unset($cTmpSQL); - - $this->setResultSQL(null); -# if (!$this->fetch_object()) - if (!$this->fetch_all()) - return false; - - $this->setVeranstaltung($this->getResultSQL()); - $this->setResultSQL(null); - - return $this->getVeranstaltung(); - } + return $this->result=$veranstaltungkategorie; + } + else + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler Veranstaltungen lesen'; + return false; + } + } //-----Initialisierung Veranstaltungskategorie-------------------------------------------------------------------------------------------- - function InitReservierung() + public function InitReservierung() { - $this->setReservierung_id(''); - $this->setReservierung(''); - } - -//-----reservierung_id-------------------------------------------------------------------------------------------- - function getReservierung_id() - { - return $this->reservierung_id; - } - function setReservierung_id($reservierung_id="") - { - $this->reservierung_id=$reservierung_id; - } -//-----reservierung Daten-------------------------------------------------------------------------------------------- - function getReservierung() - { - return $this->reservierung; - } - function setReservierung($reservierung="") - { - $this->reservierung=$reservierung; - } -//-----Veranstaltung Daten-------------------------------------------------------------------------------------------- - function getStruckturReservierung() - { - $this->setTableSQL('tbl_reservierung'); - if ($this->reservierung_struck) - return $this->reservierung_struck; - return $this->reservierung_struck=$this->setTableStruckturSQL(); - } - - + $this->reservierung_id=0; + $this->veranstaltung_id=null; + $this->startDatum=''; + $this->endeDatum=''; + $this->startZeit=''; + $this->endeZeit=''; + + $this->result=array(); + } //------------------------------------------------------------------------------------------------- - function saveReservierung($param="") +// +//------------------------------------------------------------------------------------------------- + public function saveReservierung() { // Initialisieren - $this->setError(''); - $cSchemaSQL=$this->getSchemaSQL(); + $this->errormsg=''; + $qry=""; - // Konstante - $arrTmpTableStrucktur=$this->getStruckturReservierung(); - $constTableStrukturSQL=$this->getTableSQL(); - if (!is_array($arrTmpTableStrucktur)) + // Plausib + if ( empty($this->reservierung_id) ) { - $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + $this->errormsg='Keine Reservierung ID gefunden !'; return false; } - - if (is_array($param) && count($param)>0 && isset($param['reservierung_id'])) - $this->setReservierung_id($param['reservierung_id']); - if (!is_array($param) && !empty($param)) - $this->setReservierung_id($param); - $reservierung_id=$this->getReservierung_id(); - if ( empty($reservierung_id) ) + $qry.=" update ".$this->schemaSQL.".tbl_reservierung set veranstaltung_id=".(!empty($this->veranstaltung_id) && !is_null($this->veranstaltung_id)?$this->veranstaltung_id:"null")." WHERE reservierung_id=".$this->reservierung_id."; " ; + if($this->db_query($qry)) + return true; + else { - $this->setError('Keine Reservierung ID gefunden !'); + if (empty($this->errormsg)) + $this->errormsg = 'Fehler beim speichern des Datensatzes'; return false; } - if (is_array($param) && count($param)>0 && isset($param['veranstaltung_id'])) - { - $this->setVeranstaltung_id($param['veranstaltung_id']); - } - $veranstaltung_id=$this->getVeranstaltung_id(); - - $cTmpSQLS=""; - $cTmpSQLS.=" update ".$cSchemaSQL."tbl_reservierung set veranstaltung_id=".(!empty($veranstaltung_id)?"'$veranstaltung_id'":"null")." WHERE reservierung_id='".$reservierung_id."'; " ; - -#exit($cTmpSQLS); - - $this->setStringSQL($cTmpSQLS); - $this->setResultSQL(null); - if (!$this->dbQuery()) - { - if ($this->getError()) - return false; - } - - // Beim Lesen ist ein Fehler aufgetreten - if (!$this->loadReservierung()) - { - if ($this->getError()) - return false; - $this->setNewRecord(true); - } - $this->setStringSQL($cTmpSQLS); - unset($cTmpSQLS); - - $this->setResultSQL(null); - return $this->getReservierung(); } + //------------------------------------------------------------------------------------------------- - function loadReservierung($reservierung_id="",$veranstaltung_id="") - { - //Init - $this->setError(''); - $cSchemaSQL=$this->getschemaSQL(); - - $cTmpReservierung_id=''; - if ($reservierung_id!='') - $this->setreservierung_id($reservierung_id); - $cTmpReservierung_id=$this->getreservierung_id(); - - $cTmpVeranstaltung_id=''; - if ($veranstaltung_id!='') - $this->setVeranstaltung_id($veranstaltung_id); - $cTmpVeranstaltung_id=$this->getVeranstaltung_id(); - - - $cTmpStart=$this->getStart(); - if (!empty($cTmpStart) && is_numeric($cTmpStart)) - $cTmpStart=strftime('%Y%m%d',$cTmpStart); - $cTmpEnde=$this->getEnde(); - if (!empty($cTmpEnde) && is_numeric($cTmpEnde)) - $cTmpEnde=strftime('%Y%m%d',$cTmpEnde); - - $cTmpStartZeit=$this->getStart(); - if (!empty($cTmpStart) && is_numeric($cTmpStartZeit)) - $cTmpStartZeit=date('Hi',$cTmpStartZeit); - $cTmpEndeZeit=$this->getEnde(); - if (!empty($cTmpEndeZeit) && is_numeric($cTmpEndeZeit)) - $cTmpEndeZeit=date('Hi',$cTmpEndeZeit); - - // Selektion - - $cTmpSQL=""; - $cTmpSQL.="SELECT tbl_reservierung.* "; - - $cTmpSQL.=", to_char(tbl_reservierung.datum, 'YYYYMMDD') as \"datum_jjjjmmtt\" "; - $cTmpSQL.=", to_char(tbl_reservierung.datum, 'YYYYMM') as \"datum_jahr_monat\" "; - $cTmpSQL.=", to_char(tbl_reservierung.datum, 'YYYY') as \"datum_jahr\" "; - - $cTmpSQL.=", to_char(tbl_reservierung.datum, 'WW') as \"datum_woche\" "; - - $cTmpSQL.=", to_char(tbl_reservierung.datum, 'Q') as \"datum_quartal\" "; - - $cTmpSQL.=", to_char(tbl_reservierung.datum, 'DD.MM.YYYY') as \"datum_anzeige\" "; - - $cTmpSQL.=", lehre.tbl_stunde.beginn, lehre.tbl_stunde.ende "; - $cTmpSQL.=", to_char(lehre.tbl_stunde.beginn, 'HH24:MI') as \"beginn_anzeige\" "; - $cTmpSQL.=", to_char(lehre.tbl_stunde.ende, 'HH24:MI') as \"ende_anzeige\" "; - - $cTmpSQL.=", EXTRACT(EPOCH FROM tbl_reservierung.datum) as \"datum_timestamp\" "; - - - $cTmpSQL.=" FROM ".$cSchemaSQL."tbl_reservierung "; - $cTmpSQL.=" RIGHT JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde=".$cSchemaSQL."tbl_reservierung.stunde "; - - if (!empty($cTmpStartZeit) && empty($cTmpEndeZeit) ) - $cTmpSQL.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')='".$cTmpStartZeit."' "; - else if (empty($cTmpStartZeit) && !empty($cTmpEndeZeit) ) - $cTmpSQL.=" to_char(lehre.tbl_stunde.ende, 'HH24MI')='".$cTmpEndeZeit."' "; - else if (!empty($cTmpStartZeit) && !empty($cTmpEndeZeit) ) - { - $cTmpSQL.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >='".$cTmpStartZeit."' "; - $cTmpSQL.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= '".$cTmpEndeZeit.",' "; - } - $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_reservierung.titel>'' "; - - // Suche nach einer einzigen reservierung_id - if (!is_array($cTmpReservierung_id) && !empty($cTmpReservierung_id) ) - { - $cTmpSQL.=" AND ".$cSchemaSQL."tbl_reservierung.reservierung_id=".$cTmpReservierung_id." "; - } - elseif (is_array($cTmpReservierung_id) && count($cTmpReservierung_id)>0 ) - { - if (isset($cTmpReservierung_id[0]['reservierung_id'])) // Check ob nicht kpl. Tablestruck in Array - { - $cTmpReservierung_idE=array(); - for ($indZEILE=0;$indZEILE0 ) - { - if (isset($cTmpVeranstaltung_id[0]['veranstaltung_id'])) // Check ob nicht kpl. Tablestruck in Array - { - $cTmpVeranstaltung_idE=array(); - for ($indZEILE=0;$indZEILEsetStringSQL($cTmpSQL); - unset($cTmpSQL); - - $this->setResultSQL(null); -# if (!$this->fetch_object()) - if (!$this->fetch_all()) - return false; - - $this->setReservierung($this->getResultSQL()); - $this->setResultSQL(null); - - return $this->getReservierung(); - } +// +//------------------------------------------------------------------------------------------------- + public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") + { + //Init + $this->errormsg=''; + $qry=""; + if ($reservierung_id!='') + $this->reservierung_id=$reservierung_id; + if ($veranstaltung_id!='') + $this->veranstaltung_id=$veranstaltung_id; + + if ($startDatum!='') + $this->startDatum=$startDatum; + if (!empty($this->startDatum) && is_numeric($this->startDatum)) + $this->startDatum=strftime('%Y%m%d',$this->startDatum); + + if ($endeDatum!='') + $this->endeDatum=$endeDatum; + if (!empty($this->endeDatum) && is_numeric($this->endeDatum)) + $this->endeDatum=strftime('%Y%m%d',$this->endeDatum); + + if ($startZeit!='') + $this->startZeit=$startZeit; + if (!empty($this->startZeit) && is_numeric($this->startZeit)) + $this->startZeit=date('Hi',$this->startZeit); + + if ($endeZeit!='') + $this->endeZeit=$endeZeit; + if (!empty($this->endeZeit) && is_numeric($this->endeZeit)) + $this->endeZeit=date('Hi',$this->endeZeit); + + // Selektion + + $qry=""; + $qry.="SELECT tbl_reservierung.* "; + + $qry.=", to_char(tbl_reservierung.datum, 'YYYYMMDD') as \"datum_jjjjmmtt\" "; + $qry.=", to_char(tbl_reservierung.datum, 'YYYYMM') as \"datum_jahr_monat\" "; + $qry.=", to_char(tbl_reservierung.datum, 'YYYY') as \"datum_jahr\" "; + + $qry.=", to_char(tbl_reservierung.datum, 'WW') as \"datum_woche\" "; + + $qry.=", to_char(tbl_reservierung.datum, 'Q') as \"datum_quartal\" "; + + $qry.=", to_char(tbl_reservierung.datum, 'DD.MM.YYYY') as \"datum_anzeige\" "; + + $qry.=", lehre.tbl_stunde.beginn, lehre.tbl_stunde.ende "; + $qry.=", to_char(lehre.tbl_stunde.beginn, 'HH24:MI') as \"beginn_anzeige\" "; + $qry.=", to_char(lehre.tbl_stunde.ende, 'HH24:MI') as \"ende_anzeige\" "; + + $qry.=", EXTRACT(EPOCH FROM tbl_reservierung.datum) as \"datum_timestamp\" "; + + + $qry.=" FROM ".$this->schemaSQL.".tbl_reservierung "; + $qry.=" RIGHT JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde=".$this->schemaSQL.".tbl_reservierung.stunde "; + // Wird nur fuer Lesen alle - benoetigt + if (empty($this->reservierung_id) && empty($this->veranstaltung_id)) + { + if (!empty($this->startZeit) && empty($this->endeZeit) ) + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')='".$this->startZeit."' "; + else if (empty($this->startZeit) && !empty($this->endeZeit) ) + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI')='".$this->endeZeit."' "; + else if (!empty($this->startZeit) && !empty($this->endeZeit) ) + { + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >='".$this->startZeit."' "; + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= '".$this->endeZeit.",' "; + } + } + $qry.=" WHERE ".$this->schemaSQL.".tbl_reservierung.titel>'' "; + + // Suche nach einer einzigen reservierung_id + if (!is_array($this->reservierung_id) && !empty($this->reservierung_id) ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id=".$this->reservierung_id." "; + elseif (is_array($this->reservierung_id) && count($this->reservierung_id)>0 ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id in (".implode(",",$this->reservierung_id).") "; + + // Suche nach einer einzigen Veranstaltung_id + if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id=".$this->veranstaltung_id." "; + elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id in (".implode(",",$this->veranstaltung_id).") "; + + if (!empty($this->startDatum) && empty($this->endeDatum) ) + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->start."' "; + else if (empty($this->startDatum) && !empty($this->endeDatum) ) + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->ende."' "; + else if (!empty($this->startDatum) && !empty($this->endeDatum) ) + { + $qry.=" AND '".$this->startDatum."' between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + $qry.=" AND '".$this->endeDatum."' between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + } + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_reservierung.datum,tbl_reservierung.stunde "; +#echo "

$qry

"; + + if($this->db_query($qry)) + { + $this->result=array(); + while($row = $this->db_fetch_object()) + { + $this->result[]=$row; + } + return $this->result; + } + else + { + if (empty($this->errormsg)) + $this->errormsg = 'Fehler Reservierung lesen'; + return false; + } + } } // Class jahresplan Ende