From f0f29be54bcff82672b90600b7823730a4eb3515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 8 Mar 2018 09:22:53 +0100 Subject: [PATCH] =?UTF-8?q?Jahresplan=20-=20Deprecated=20functions=20entfe?= =?UTF-8?q?rnt=20Problem=20bei=20der=20Suche=20nach=20Eintr=C3=A4gen=20beh?= =?UTF-8?q?oben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/jahresplan/index.php | 12 +- include/jahresplan.class.php | 543 ++++++++++++++++--------------- 2 files changed, 282 insertions(+), 273 deletions(-) diff --git a/cis/private/jahresplan/index.php b/cis/private/jahresplan/index.php index 7c135a790..8de7600ee 100644 --- a/cis/private/jahresplan/index.php +++ b/cis/private/jahresplan/index.php @@ -50,7 +50,7 @@ $veranstaltungskategorie_kurzbz=trim((isset($_REQUEST['veranstaltungskategorie_k // Parameter Veranstaltung $veranstaltung_id=trim((isset($_REQUEST['veranstaltung_id']) ? $_REQUEST['veranstaltung_id']:'')); $Jahr=trim((isset($_REQUEST['Jahr']) ? $_REQUEST['Jahr']:date("Y", mktime(0,0,0,date("m"),date("d"),date("y"))))); -$Monat=trim((isset($_REQUEST['Monat']) ? $_REQUEST['Monat']:date("m", mktime(0,0,0,date("m"),date("d"),date("y"))))); +$Monat=trim((isset($_REQUEST['Monat']) && $_REQUEST['Monat']!='' ? $_REQUEST['Monat']:date("m", mktime(0,0,0,date("m"),date("d"),date("y"))))); $suchtext=trim((isset($_REQUEST['suchtext']) ? $_REQUEST['suchtext']:'')); if(!is_numeric($Jahr)) @@ -59,7 +59,7 @@ if(!is_numeric($Monat)) die($p->t("eventkalender/monatIstUngueltig")); if($veranstaltung_id!='' && !is_numeric($veranstaltung_id)) die($p->t("eventkalender/veranstaltungIdIstUngueltig")); - + // ------------------------------------------------------------------------------------------ // Alle Kategoriedaten lesen fuer Selektfeld (open in jahresplan_funktionen) // ------------------------------------------------------------------------------------------ @@ -196,13 +196,13 @@ if (!$veranstaltungskategorie=$Jahresplan->loadVeranstaltungskategorie())

 t('eventkalender/veranstaltungen');?> 

- + '.$p->t("eventkalender/veranstaltung").' | '.$p->t("eventkalender/kategorie").' ] '.$userNAME.'

'; ?> - +
@@ -269,7 +269,7 @@ if (!$veranstaltungskategorie=$Jahresplan->loadVeranstaltungskategorie()) - loadVeranstaltungskategorie()) { $veranstaltung=array(); } - + # var_dump($veranstaltung); # exit; diff --git a/include/jahresplan.class.php b/include/jahresplan.class.php index a3bff5f29..3f52a5bf2 100644 --- a/include/jahresplan.class.php +++ b/include/jahresplan.class.php @@ -22,36 +22,36 @@ */ /** * - * @classe Jahresplan + * @classe Jahresplan * * @param connectSQL Datenbankverbindung - * @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key - * @param veranstaltung_id Veranstaltung Key + * @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key + * @param veranstaltung_id Veranstaltung Key * @param reservierung_id Reservierung Key * */ -require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/basis_db.class.php'); -class jahresplan extends basis_db +class jahresplan extends basis_db { public $new; // @boolean - public $result = array(); // jahresplan Objekt + public $result = array(); // jahresplan Objekt - // Veranstaltungskategorie - public $veranstaltungskategorie_kurzbz; // @string (16) KEY + // Veranstaltungskategorie + public $veranstaltungskategorie_kurzbz; // @string (16) KEY public $bezeichnung; // @string (64) public $farbe; // @string (6) public $bild; // @string (255) - - // Veranstaltungen - public $veranstaltung_id; // @int serial (Key) - + + // 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 $ende; // @timestamp oder @date public $insertamum; // @timestamp public $insertvon; // @string (16) @@ -59,59 +59,58 @@ class jahresplan extends basis_db public $updatevon; // @string (16) public $freigabeamum; // @timestamp oder @date public $freigabevon; // @string (16) - + // Reservierung - public $reservierung_id; // @int serial (key) + public $reservierung_id; // @int serial (key) public $startDatum; // @int public $endeDatum; // @int public $startZeit; // @int - public $endeZeit; // @int - - // Suchbedingungen + 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 $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 - + public $schemaSQL="campus"; // string Datenbankschema - + /** * Konstruktor - * @param $db Connection zur DB - * $veranstaltungskategorie_kurzbz zum ladenden der Kategorie Funktion + * @param $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) + 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); - + // 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); @@ -122,43 +121,43 @@ class jahresplan extends basis_db * Initialisierung * */ - public function InitJahresplan() + public function InitJahresplan() { $this->errormsg=''; - $this->new=false; - + $this->new=false; + $this->InitVeranstaltungskategorie(); $this->InitVeranstaltung(); - $this->InitReservierung(); + $this->InitReservierung(); } - + /** * Initialisierung der Kategorien * */ public function InitVeranstaltungskategorie() - { - // Veranstaltungskategorie - $this->veranstaltungskategorie_kurzbz=''; - $this->bezeichnung=''; - $this->farbe=''; - $this->bild=''; - $this->result=array(); + { + // 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->errormsg=''; $qry=''; - + $fildsList=''; $fildsValue=''; - + if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; @@ -170,7 +169,7 @@ class jahresplan extends basis_db $this->errormsg='Veranstaltungskategorie - Bezeichnung fehlt!'; return false; } - + if($this->new) { @@ -179,61 +178,61 @@ class jahresplan extends basis_db $fildsList.='farbe,'; $fildsList.='bild'; - $fildsValue.="'".addslashes($this->veranstaltungskategorie_kurzbz)."',"; - $fildsValue.="'".addslashes($this->bezeichnung)."',"; - $fildsValue.="'".addslashes($this->farbe)."',"; - $fildsValue.="'".addslashes($this->bild)."'"; - - $qry=" insert into ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") values (".$fildsValue."); "; + $fildsValue.= $this->db_add_param($this->veranstaltungskategorie_kurzbz).","; + $fildsValue.= $this->db_add_param($this->bezeichnung).","; + $fildsValue.= $this->db_add_param($this->farbe).","; + $fildsValue.= $this->db_add_param($this->bild); + + $qry=" INSERT INTO ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") VALUES (".$fildsValue."); "; } else { - $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung='".addslashes($this->bezeichnung)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."farbe='".addslashes($this->farbe)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."bild='".addslashes($this->bild)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung=".$this->db_add_param($this->bezeichnung); + $fildsValue.=(!empty($fildsValue)?',':'')."farbe=".$this->db_add_param($this->farbe); + $fildsValue.=(!empty($fildsValue)?',':'')."bild=".$this->db_add_param($this->bild); - $qry.=" update ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; + $qry.=" UPDATE ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; $qry.=$fildsValue; - $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; - } - + $qry.=" WHERE veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; + } + if($this->db_query($qry)) return true; else { if (empty($this->errormsg)) - $this->errormsg = 'Fehler beim speichern des Datensatzes'; + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; - } + } } /** * Loescht eine Veranstaltungskategorie * @return true wenn ok, false im Fehlerfall - */ + */ public function deleteVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { // 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 "; + $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)."' "; + $qry.=" WHERE veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; + else + $qry.=" WHERE veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; if($this->db_query($qry)) return true; @@ -246,9 +245,9 @@ class jahresplan extends basis_db } /** - * Lesen der Veranstaltungskategorien + * Lesen der Veranstaltungskategorien * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall - */ + */ public function loadVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { // Initialisieren @@ -258,26 +257,26 @@ class jahresplan extends basis_db if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$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($this->veranstaltungskategorie_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)."') "; + // Abfrage + $qry.="SELECT * FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" WHERE veranstaltungskategorie_kurzbz IS NOT NULL "; + + // Suche nach einer einzigen Veranstaltungskategorie_kurzbz + if (!is_array($this->veranstaltungskategorie_kurzbz) && !empty($this->veranstaltungskategorie_kurzbz) ) + { + $qry.=" AND veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; + } + elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) + { + $qry.=" AND veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; } - // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles if ($this->show_only_public_kategorie) - $qry.=" and veranstaltungskategorie_kurzbz not like '*%' "; + $qry.=" AND veranstaltungskategorie_kurzbz not like '*%' "; - $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; + $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; if($this->db_query($qry)) { @@ -293,7 +292,7 @@ class jahresplan extends basis_db if (empty($this->errormsg)) $this->errormsg = 'Fehler Veranstaltungskategorien lesen!'; return false; - } + } } @@ -301,10 +300,10 @@ class jahresplan extends basis_db * Initialisierung Veranstaltung * */ - public function InitVeranstaltung() + public function InitVeranstaltung() { $this->InitVeranstaltungskategorie(); - + $this->veranstaltung_id=0; $this->veranstaltungskategorie_kurzbz=''; @@ -312,8 +311,8 @@ class jahresplan extends basis_db $this->beschreibung=''; $this->inhalt=''; - - $this->start=''; + + $this->start=''; $this->ende=''; $this->insertamum=''; @@ -322,7 +321,7 @@ class jahresplan extends basis_db $this->updatevon=''; $this->freigabeamum=''; $this->freigabevon=''; - + // Suchfelder $this->start_jahr=''; $this->ende_jahr=''; @@ -335,7 +334,7 @@ class jahresplan extends basis_db $this->suchtext=''; $this->freigabe=false; - + $this->result=array(); } @@ -343,7 +342,7 @@ class jahresplan extends basis_db * Speichert bzw. Aendert eine Veranstaltung * @return true wenn ok, false im Fehlerfall * ToDo: angleichen an die anderen Save Funktionen - */ + */ public function saveVeranstaltung() { // Initialisieren @@ -351,7 +350,7 @@ class jahresplan extends basis_db $qry=''; $fildsList=''; $fildsValue=''; - + if (!$this->new && ( empty($this->veranstaltung_id) || $this->veranstaltung_id==null) ) { $this->errormsg='Veranstaltungs - ID fehlt!'; @@ -368,13 +367,13 @@ class jahresplan extends basis_db { $this->errormsg='Veranstaltungs - Beschreibung fehlt!'; return false; - } - + } + if($this->new) { $fildsList.='veranstaltungskategorie_kurzbz,'; $fildsList.='beschreibung,'; - $fildsList.='inhalt,'; + $fildsList.='inhalt,'; $fildsList.='start,'; $fildsList.='ende,'; $fildsList.='insertamum,'; @@ -384,37 +383,38 @@ class jahresplan extends basis_db $fildsList.='freigabeamum,'; $fildsList.='freigabevon'; - $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.") "; + $fildsValue.=$this->db_add_param($this->veranstaltungskategorie_kurzbz).","; + $fildsValue.=$this->db_add_param($this->beschreibung).","; + $fildsValue.=$this->db_add_param($this->inhalt).","; + $fildsValue.=$this->db_add_param($this->start).","; + $fildsValue.=$this->db_add_param($this->ende).","; + $fildsValue.=$this->db_add_param($this->insertamum).","; + $fildsValue.=$this->db_add_param($this->insertvon).","; + $fildsValue.=$this->db_add_param($this->updateamum).","; + $fildsValue.=$this->db_add_param($this->updatevon).","; + $fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':$this->db_add_param($this->freigabeamum)).","; + $fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':$this->db_add_param($this->freigabevon)); + + $qry.=" INSERT INTO ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") VALUES (".$fildsValue.") "; } else { - $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)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz); + $fildsValue.=(!empty($fildsValue)?',':'')."beschreibung=".$this->db_add_param($this->beschreibung); + $fildsValue.=(!empty($fildsValue)?',':'')."inhalt=".$this->db_add_param($this->inhalt); + $fildsValue.=(!empty($fildsValue)?',':'')."start=".$this->db_add_param($this->start); + $fildsValue.=(!empty($fildsValue)?',':'')."ende=".$this->db_add_param($this->ende); + $fildsValue.=(!empty($fildsValue)?',':'')."updateamum=".$this->db_add_param($this->updateamum); + $fildsValue.=(!empty($fildsValue)?',':'')."updatevon=".$this->db_add_param($this->updatevon); if (is_null($this->freigabeamum)) $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=null"; else - $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum='".addslashes($this->freigabeamum)."'"; - $fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon='".addslashes($this->freigabevon)."'"); - $qry.=" update ".$this->schemaSQL.".tbl_veranstaltung set "; + $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=".$this->db_add_param($this->freigabeamum); + $fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon=".$this->db_add_param($this->freigabevon)); + $qry.=" UPDATE ".$this->schemaSQL.".tbl_veranstaltung SET "; $qry.=$fildsValue; - $qry.=" where veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; + $qry.=" WHERE veranstaltung_id=".$this->db_add_param($this->veranstaltung_id); } if(!$this->db_query($qry)) @@ -423,10 +423,10 @@ class jahresplan extends basis_db $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } - + if($this->new) { - $qry=" select max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) from ".$this->schemaSQL.".tbl_veranstaltung; "; + $qry=" SELECT max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) FROM ".$this->schemaSQL.".tbl_veranstaltung; "; if(!$this->db_query($qry)) { if (empty($this->errormsg)) @@ -447,7 +447,7 @@ class jahresplan extends basis_db $veranstaltung_id=$this->veranstaltung_id; $this->InitVeranstaltung(); $this->veranstaltung_id=$veranstaltung_id; - if (!$this->loadVeranstaltung()) + if (!$this->loadVeranstaltung()) return false; return $this->result; } @@ -455,39 +455,39 @@ class jahresplan extends basis_db /** * Loescht eine Veranstaltung * @return true wenn ok, false im Fehlerfall - */ + */ public function deleteVeranstaltung($veranstaltung_id="") { // Initialisieren $qry=''; $this->errormsg=''; - + if (!empty($veranstaltung_id)) $this->veranstaltung_id=$veranstaltung_id; - + 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 "; + + // 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 "; + $qry.=" WHERE veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->db_add_param($this->veranstaltung_id, FHC_INTEGER)."; "; + + // 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.=" WHERE veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->db_add_param($this->veranstaltung_id, FHC_INTEGER)."; "; + $qry.=" COMMIT; "; if($this->db_query($qry)) @@ -497,18 +497,18 @@ class jahresplan extends basis_db if (empty($this->errormsg)) $this->errormsg = 'Fehler beim Veranstaltung löschen '; return false; - } + } } /** - * Lesen der Veranstaltung + * 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(); @@ -517,13 +517,13 @@ class jahresplan extends basis_db if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - + if ($freigabe!='') $this->freigabe=$freigabe; if ($show_only_public_kategorie!='') $this->show_only_public_kategorie=$show_only_public_kategorie; - + $qry.="SELECT tbl_veranstaltung.* "; $qry.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" "; @@ -538,7 +538,7 @@ class jahresplan extends basis_db $qry.=", to_char(tbl_veranstaltung.start, 'DD') as \"start_tag\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'DD') as \"ende_tag\" "; - + $qry.=", to_char(tbl_veranstaltung.start, 'Day') as \"start_tagname\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'Day') as \"ende_tagname\" "; @@ -547,7 +547,7 @@ class jahresplan extends basis_db $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::TIMESTAMP WITHOUT TIME ZONE at time zone 'CEST' ) as \"start_timestamp\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende::TIMESTAMP WITHOUT TIME @@ -567,7 +567,7 @@ ZONE at time zone 'CEST' ) as \"ende_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\" "; - + $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\" "; @@ -577,108 +577,108 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; $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>'' "; - + 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) ) + // Suche nach einer einzigen Veranstaltung_id + if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id)) { if(!is_numeric($this->veranstaltung_id)) { $this->errormsg = 'Veranstaltung_id ist ungueltig'; return false; } - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id=".$this->db_add_param($this->veranstaltung_id)." "; } elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id).") "; } // Suche nach einer einzigen Veranstaltungskategorie_kurzbz if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; } elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; } if (!empty($this->start) && empty($this->ende) ) - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->db_add_param($this->start).") "; else if (empty($this->start) && !empty($this->ende) ) - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->db_add_param($this->ende).") "; else if (!empty($this->start) && !empty($this->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) "; + $qry.=" AND to_timestamp(".$this->db_add_param($this->start).") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) "; + $qry.=" AND to_timestamp(".$this->db_add_param($this->ende).") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) "; } if (!empty($this->start_jahr) && empty($this->ende_jahr)) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')=".$this->db_add_param($this->start_jahr); elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')=".$this->db_add_param($this->ende_jahr); elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) { - $qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; - $qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; } if (!empty($this->start_jahr_monat) && empty($this->ende_jahr_monat) ) - $qry.=" AND '".addslashes($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->db_add_param($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 '".addslashes($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->db_add_param($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 '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; - $qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND ".$this->db_add_param($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->db_add_param($this->ende_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; } - + if (!empty($this->start_jahr_woche) && empty($this->ende_jahr_woche) ) - $qry.=" AND '".addslashes($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->db_add_param($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 '".addslashes($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->db_add_param($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 '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; - $qry.=" AND '".addslashes($this->ende_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; - } - + $qry.=" AND ".$this->db_add_param($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->db_add_param($this->ende_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; + } + if (!empty($this->start_jahr_monat_tag) && empty($this->ende_jahr_monat_tag) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>='".addslashes($this->start_jahr_monat_tag)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>=".$this->db_add_param($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')<='".addslashes($this->ende_jahr_monat_tag)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD')<=".$this->db_add_param($this->ende_jahr_monat_tag); elseif (!empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) { - $qry.=" AND '".addslashes($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 '".addslashes($this->ende_jahr_monat_tag)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($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->db_add_param($this->ende_jahr_monat_tag)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; } if ($this->suchtext) { $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 '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like '".addslashes($this->suchtext)."' ) "; - } + $this->suchtext=str_replace('%%','%',$this->suchtext); + $qry.=" AND ( ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like ".$this->db_add_param($this->suchtext)." ) "; + } - // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + // 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 '*%' "; - + $qry.=" AND NOT ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz like '*%' "; + 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 "; + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltung.start, ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung "; else - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; - + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; + if($this->db_query($qry)) { $veranstaltungkategorie=array(); @@ -686,40 +686,40 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; { $veranstaltungkategorie[]=$row; } - + return $this->result=$veranstaltungkategorie; } else { if (empty($this->errormsg)) - $this->errormsg = 'Fehler Veranstaltungen lesen'; + $this->errormsg = 'Fehler beim Laden der Veranstaltung'; return false; - } - } + } + } /** * Reservierung Initialisieren * */ - public function InitReservierung() + public function InitReservierung() { - $this->reservierung_id=0; + $this->reservierung_id=0; $this->veranstaltung_id=null; $this->startDatum=''; $this->endeDatum=''; $this->startZeit=''; - $this->endeZeit=''; + $this->endeZeit=''; $this->result=array(); } - + /** * Reservierung Speichern * * @return unknown - * + * * TODO: eventuelle auslagerung in reservierung.class.php ??? */ public function saveReservierung() @@ -727,14 +727,23 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; // Initialisieren $this->errormsg=''; $qry=""; - + // Plausib - if ( empty($this->reservierung_id) ) + if ( empty($this->reservierung_id) ) { $this->errormsg='Keine Reservierung ID gefunden !'; return false; - } - $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(!empty($this->veranstaltung_id) && !is_null($this->veranstaltung_id)) + $id = $this->db_add_param($this->veranstaltung_id); + else + $id = null; + + $qry.="UPDATE ".$this->schemaSQL.".tbl_reservierung SET + veranstaltung_id=".$id." + WHERE reservierung_id=".$this->db_add_param($this->reservierung_id)."; " ; + if($this->db_query($qry)) return true; else @@ -755,104 +764,104 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; * @param unknown_type $startZeit * @param unknown_type $endeZeit * @return unknown - * + * * TODO: eventuelle auslagerung in reservierung.class.php ??? */ - public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") - { + public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") + { //Init $this->errormsg=''; - - if ($reservierung_id!='') + + if ($reservierung_id!='') $this->reservierung_id=$reservierung_id; - if ($veranstaltung_id!='') + if ($veranstaltung_id!='') $this->veranstaltung_id=$veranstaltung_id; - - if ($startDatum!='') + + 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); - + $this->endeZeit=date('Hi',$this->endeZeit); + $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.=", 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."' "; + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')=".$this->db_add_param($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.ende, 'HH24MI')=".$this->db_add_param($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 + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >=".$this->db_add_param($this->startZeit)." "; + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= ".$this->db_add_param($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." "; + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id=".$this->db_add_param($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 + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id in (".$this->db_implode4SQL($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).") "; - + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id=".$this->db_add_param($this->veranstaltung_id)." "; + elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id).") "; + if (!empty($this->startDatum) && empty($this->endeDatum) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->start."' "; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')=".$this->db_add_param($this->start)." "; else if (empty($this->startDatum) && !empty($this->endeDatum) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->ende."' "; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')=".$this->db_add_param($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 "; - + $qry.=" AND ".$this->db_add_param($this->startDatum)." between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($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 "; + if($this->db_query($qry)) { $this->result=array(); @@ -867,7 +876,7 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; if (empty($this->errormsg)) $this->errormsg = 'Fehler Reservierung lesen'; return false; - } - } + } + } } ?>