From 4e67cdd8f6c0eb8276e2f1ffb95b8943bd83dd01 Mon Sep 17 00:00:00 2001 From: Gerald Simane Date: Mon, 19 Jan 2009 07:11:51 +0000 Subject: [PATCH] --- include/jahresplan.class.php | 1430 +++++++++++++++++ include/komune_wettbewerb.class.php | 220 +++ .../komune_wettbewerbeinladungen.class.php | 826 ++++++++++ include/komune_wettbewerbteam.class.php | 396 +++++ 4 files changed, 2872 insertions(+) create mode 100644 include/jahresplan.class.php create mode 100644 include/komune_wettbewerb.class.php create mode 100644 include/komune_wettbewerbeinladungen.class.php create mode 100644 include/komune_wettbewerbteam.class.php diff --git a/include/jahresplan.class.php b/include/jahresplan.class.php new file mode 100644 index 000000000..caf96f398 --- /dev/null +++ b/include/jahresplan.class.php @@ -0,0 +1,1430 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens . + */ + +#-------------------------------------------------------------------------------------------------- +/* +* +* @classe Jahresplan +* +* @param connectSQL Datenbankverbindung +* @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key +* @param veranstaltung_id Veranstaltung Key +* @param reservierung_id Reservierung Key +* +* @return - kein Retourn des Konstruktors +* +*/ + +include_once(dirname(__FILE__)."/postgre_sql.class.php"); +class jahresplan extends postgre_sql +{ + protected $veranstaltungkategorie; + protected $veranstaltungskategorie_kurzbz; + protected $veranstaltungkategorie_struck; + protected $veranstaltungkategorie_mitarbeiter; + + protected $veranstaltung_struck; + protected $veranstaltung; + protected $veranstaltung_id; + + protected $start; + protected $ende; + + protected $start_jahr; + protected $ende_jahr; + protected $start_jahr_monat; + protected $ende_jahr_monat; + protected $start_jahr_woche; + protected $ende_jahr_woche; + + protected $suchtext; + + protected $freigabe; + + protected $reservierung; + protected $reservierung_id; + protected $reservierung_struck; + +//-----Konstruktor + + function jahresplan($connectSQL,$veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="") + { + + $this->InitJahresplan(); + + $this->setSchemaSQL('campus'); + $this->setConnectSQL($connectSQL); + $this->setVeranstaltungskategorie_kurzbz($veranstaltungskategorie_kurzbz); + $this->setVeranstaltung_id($veranstaltung_id); + $this->setReservierung_id($reservierung_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(); + } +//------------------------------------------------------------------------------------------------- + function saveVeranstaltungskategorie($param="") + { + // Initialisieren + $this->setError(''); + $cSchemaSQL=$this->getSchemaSQL(); + + // Konstante + $arrTmpTableStrucktur=$this->getStruckturVeranstaltungskategorie(); + $constTableStrukturSQL=$this->getTableSQL(); + if (!is_array($arrTmpTableStrucktur)) + { + $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + 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); + + + $cTmpSQL=""; + + if ($this->getNewRecord()) + { + $fildsList=""; + $fildsValue=""; + 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); + + $this->setResultSQL(null); + return $this->getVeranstaltungskategorie(); +} +//------------------------------------------------------------------------------------------------- + function deleteVeranstaltungskategorie($param="") + { + // Initialisieren + $this->setError(''); + + //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)) + { + $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + 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); + + $this->setResultSQL(null); + return $this->getVeranstaltungskategorie(); +} +//------------------------------------------------------------------------------------------------- + function loadVeranstaltungskategorie($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(); + + $cTmpSQL=""; + $cTmpSQL.="SELECT * FROM ".$cSchemaSQL."tbl_veranstaltungskategorie "; + $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' "; + + // 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;$indZEILEsetStringSQL($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(); + } +//------------------------------------------------------------------------------------------------- +// ------------------------ VERANSTALTUNG +//-----Initialisierung Veranstaltung-------------------------------------------------------------------------------------------- + + function InitVeranstaltung() + { + + $this->setVeranstaltung_id(''); + $this->setVeranstaltung(''); + + $this->setStart(''); + $this->setEnde(''); + + $this->setStart_jahr(''); + $this->setEnde_jahr(''); + + $this->setStart_jahr_monat(''); + $this->setEnde_jahr_monat(''); + + $this->setStart_jahr_woche(''); + $this->setEnde_jahr_woche(''); + + $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; + } + +//-----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="") + { + // Initialisieren + $this->setError(''); + $cSchemaSQL=$this->getSchemaSQL(); + + // Konstante + $arrTmpTableStrucktur=$this->getStruckturVeranstaltung(); + $constTableStrukturSQL=$this->getTableSQL(); + if (!is_array($arrTmpTableStrucktur)) + { + $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + 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 (empty($param['veranstaltungskategorie_kurzbz']) ) + { + $this->setError('Keine Veranstaltungskategorie gefunden !'); + return false; + } + + $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()) + { + + $fildsList=""; + $fildsValue=""; + 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); + } + $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 (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)) + { + $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + 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()) + { + $this->setError($cTmpSQL); + return false; + } + // Beim Lesen ist ein Fehler aufgetreten + if (!$this->loadVeranstaltung()) + { + if ($this->getError()) + return false; + $this->setNewRecord(true); + } + $this->setStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + return $this->getVeranstaltung(); +} + + +//------------------------------------------------------------------------------------------------- + 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(); + + $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(); + + $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\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'Day') as \"start_tagname\" "; + $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'Day') as \"ende_tagname\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'IW') as \"start_woche\" "; + $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'IW') as \"ende_woche\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" "; + $cTmpSQL.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.start, 'DD.MM.YYYY') as \"start_datum\" "; + $cTmpSQL.=", 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\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.insertamum, 'DD.MM.YYYY') as \"insertamum_datum\" "; + $cTmpSQL.=", to_char(tbl_veranstaltung.insertamum, 'HH24:MI') as \"insertamum_zeit\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.updateamum, 'DD.MM.YYYY') as \"updateamum_datum\" "; + $cTmpSQL.=", to_char(tbl_veranstaltung.updateamum, 'HH24:MI') as \"updateamum_zeit\" "; + + $cTmpSQL.=", to_char(tbl_veranstaltung.freigabeamum, 'DD.MM.YYYY') as \"freigabeamum_datum\" "; + $cTmpSQL.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" "; + + $cTmpSQL.=",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'' "; + + // Suche nach einer einzigen Veranstaltung_id + if (!is_array($cTmpVeranstaltung_id) && !empty($cTmpVeranstaltung_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 + { + $cTmpVeranstaltung_idE=array(); + for ($indZEILE=0;$indZEILE0 ) + { + if (isset($cTmpVeranstaltungskategorie_kurzbz[0]['veranstaltungskategorie_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $cTmpVeranstaltungskategorie_kurzbzE=array(); + for ($indZEILE=0;$indZEILE=to_timestamp(".$cSchemaSQL."tbl_veranstaltung.start) "; + $cTmpSQL.=" AND to_timestamp(".$cTmpEnde.") <= to_timestamp(".$cSchemaSQL."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) ) + { + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYY')>='".$cTmpStart_jahr."'"; + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYY')<='".$cTmpEnde_jahr."'"; + } + + 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) ) + { + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMM')>='".$cTmpStart_jahr_monat."'"; + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMM')<='".$cTmpEnde_jahr_monat."'"; + } + + + 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) ) + { + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYIW'')>='".$cTmpStart_jahr_woche."'"; + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYIW'')<='".$cTmpEnde_jahr_woche."'"; + } + + 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) ) + { + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.start, 'YYYYMMDD')>='".$cTmpStart_jahr_monat_tag."'"; + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_veranstaltung.ende, 'YYYYMMDD')<='".$cTmpEnde_jahr_monat_tag."'"; + } + + if ($cTmpSuchtext) + { + $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.titel) like E'".$cTmpSuchtext."' + OR UPPER(".$cSchemaSQL."tbl_veranstaltung.beschreibung) like E'".$cTmpSuchtext."' + OR UPPER(".$cSchemaSQL."tbl_veranstaltung.inhalt) like E'".$cTmpSuchtext."' ) "; + } + + // Kategorien nur fuer Mietarbeiter + if (!$Veranstaltungkategorie_mitarbeiter) + $cTmpSQL.=" AND NOT UPPER(".$cSchemaSQL."tbl_veranstaltungskategorie.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,tbl_veranstaltung.titel "; + else + $cTmpSQL.=" ORDER BY ".$cSchemaSQL."tbl_veranstaltungskategorie.bezeichnung, tbl_veranstaltung.start, tbl_veranstaltung.titel "; + } // Ende ID==0 + + if ($cTmpVeranstaltung_id=='0') // Kennzeichen Neuanlage + $cTmpSQL.=" OFFSET 0 LIMIT 1 ;"; + else + $cTmpSQL.=" OFFSET 0 LIMIT ALL ;"; + + // 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); + +# exit($cTmpSQL); + + // 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(); + } + + +//-----Initialisierung Veranstaltungskategorie-------------------------------------------------------------------------------------------- + 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(); + } + + + +//------------------------------------------------------------------------------------------------- + function saveReservierung($param="") + { + // Initialisieren + $this->setError(''); + $cSchemaSQL=$this->getSchemaSQL(); + + // Konstante + $arrTmpTableStrucktur=$this->getStruckturReservierung(); + $constTableStrukturSQL=$this->getTableSQL(); + if (!is_array($arrTmpTableStrucktur)) + { + $this->setError('Kein Tabellenstrucktur ("'.$constTableStrukturSQL.'") gefunden !'); + return false; + } + + if (!is_array($param) || count($param)<1 ) + return false; // Fehler : es wurden keine Datenuebergeben + + if (isset($param['reservierung_id'])) + $this->setReservierung_id($param['reservierung_id']); + $reservierung_id=$this->getReservierung_id(); + + if ( empty($reservierung_id) ) + { + $this->setError('Keine Reservierung ID gefunden !'); + return false; + } + + if (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.=" FROM ".$cSchemaSQL."tbl_reservierung "; + $cTmpSQL.=" LEFT 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;$indZEILE='".$cTmpStart."' "; + $cTmpSQL.=" AND to_char(".$cSchemaSQL."tbl_reservierung.datum, 'YYYYMMDD') <= '".$cTmpEnde.",' "; + } + + $cTmpSQL.=" ORDER BY ".$cSchemaSQL."tbl_reservierung.datum "; + $cTmpSQL.=" OFFSET 0 LIMIT ALL ;"; + + // Entfernen der Temporaeren Variablen aus dem Speicher + if (isset($cSchemaSQL)) unset($cSchemaSQL); + + // Datenbankabfrage + $this->setStringSQL($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(); + } + + +} // Class jahresplan Ende + +?> \ No newline at end of file diff --git a/include/komune_wettbewerb.class.php b/include/komune_wettbewerb.class.php new file mode 100644 index 000000000..1dcf09f52 --- /dev/null +++ b/include/komune_wettbewerb.class.php @@ -0,0 +1,220 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens . + */ + +#-------------------------------------------------------------------------------------------------- +/* +* +* @classe kommune_wettbewerb +* +* @param connectSQL Datenbankverbindung +* @param wbtyp_kurzbz Wettbewerbsgruppen Key +* @param wettbewerb_kurzbz Wettbewerbssubgruppen Key +* +* @return - kein Retourn des Konstruktors +* +*/ +include_once(dirname(__FILE__)."/postgre_sql.class.php"); +class komune_wettbewerb extends postgre_sql +{ + protected $wettbewerb; + protected $wbtyp_kurzbz; + protected $wettbewerb_kurzb; +//-----Konstruktor + function komune_wettbewerb($connectSQL,$wbtyp_kurzbz="",$wettbewerb_kurzbz="") + { + $this->InitWettbewerb(); + + $this->setConnectSQL($connectSQL); + $this->setWbtyp_kurzbz($wbtyp_kurzbz); + $this->setWettbewerb_kurzbz($wettbewerb_kurzbz); + } +//-----Initialisierung-------------------------------------------------------------------------------------------- + function InitWettbewerb() + { + $this->setError(''); + + $this->setWettbewerb(''); + $this->setWbtyp_kurzbz(''); + $this->setWettbewerb_kurzbz(''); + } +//-----wbtyp_kurzbz-------------------------------------------------------------------------------------------- + function getWettbewerb() + { + return $this->wettbewerb; + } + function setWettbewerb($wettbewerb) + { + $this->wettbewerb=$wettbewerb; + } +//-----wbtyp_kurzbz-------------------------------------------------------------------------------------------- + function getWbtyp_kurzbz() + { + return $this->wbtyp_kurzbz; + } + function setWbtyp_kurzbz($wbtyp_kurzbz) + { + $this->wbtyp_kurzbz=$wbtyp_kurzbz; + } +//-----wettbewerb_kurzbz-------------------------------------------------------------------------------------------- + function getWettbewerb_kurzbz() + { + return $this->wettbewerb_kurzbz; + } + function setWettbewerb_kurzbz($wettbewerb_kurzbz="") + { + $this->wettbewerb_kurzbz=$wettbewerb_kurzbz; + } +//------------------------------------------------------------------------------------------------- + function loadWettbewerbTyp() + { + + $cSchemaSQL=$this->getSchemaSQL(); + $tmpwbtyp_kurzbz=$this->getWbtyp_kurzbz(); + + $cTmpSQL=""; + $cTmpSQL.="SELECT * FROM ".$cSchemaSQL."tbl_wettbewerbtyp "; + $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_wettbewerbtyp.wbtyp_kurzbz>'' "; + + // Suche nach einem einzigen Wetttbewerbstypen wbtyp_kurzbz + if (!is_array($tmpwbtyp_kurzbz) && !empty($tmpwbtyp_kurzbz) ) + { + $cTmpSQL.=" AND UPPER(".$cSchemaSQL."tbl_wettbewerbtyp.wbtyp_kurzbz)=UPPER('".$tmpwbtyp_kurzbz."') "; + } + elseif (is_array($tmpwbtyp_kurzbz) && count($tmpwbtyp_kurzbz)>0 ) + { + if (isset($tmpwbtyp_kurzbz[0]['wbtyp_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $tmpwbtyp_kurzbzE=array(); + for ($indZEILE=0;$indZEILEsetStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + if (!$this->fetch_all()) + return false; + $this->setWettbewerb($this->getResultSQL()); + $this->setResultSQL(null); + + return true; + } + + function loadWettbewerb() + { + $cSchemaSQL=$this->getSchemaSQL(); + $tmpwbtyp_kurzbz=$this->getWbtyp_kurzbz(); + $cWettbewerb_kurzbz=$this->getWettbewerb_kurzbz(); + + $cTmpSQL=""; + $cTmpSQL.="SELECT *,tbl_wettbewerbtyp.wbtyp_kurzbz,case WHEN tbl_wettbewerb.teamgroesse >1 then 'Teambewerb' else 'Einzelbewerb' end as wettbewerbart FROM ".$cSchemaSQL."tbl_wettbewerbtyp "; + $cTmpSQL.=" LEFT JOIN ".$cSchemaSQL."tbl_wettbewerb ON UPPER(".$cSchemaSQL."tbl_wettbewerb.wbtyp_kurzbz)=UPPER(".$cSchemaSQL."tbl_wettbewerbtyp.wbtyp_kurzbz) "; + $cTmpSQL.=" WHERE ".$cSchemaSQL."tbl_wettbewerbtyp.wbtyp_kurzbz>'' "; + + // Suche nach einem einzigen Wetttbewerbstypen wbtyp_kurzbz + if (!is_array($tmpwbtyp_kurzbz) && !empty($tmpwbtyp_kurzbz) ) + { + $cTmpSQL.=" AND UPPER(".$cSchemaSQL."tbl_wettbewerbtyp.wbtyp_kurzbz)=UPPER('".$tmpwbtyp_kurzbz."') "; + } + elseif (is_array($tmpwbtyp_kurzbz) && count($tmpwbtyp_kurzbz)>0 ) + { + if (isset($tmpwbtyp_kurzbz[0]['wbtyp_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $tmpwbtyp_kurzbzE=array(); + for ($indZEILE=0;$indZEILE0 ) + { + if (isset($cWettbewerb_kurzbz[0]['wettbewerb_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $tmpwbtyp_kurzbzE=array(); + for ($indZEILE=0;$indZEILEsetStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + if (!$this->fetch_all()) + return false; + $this->setWettbewerb($this->getResultSQL()); + $this->setResultSQL(null); + + return true; + } +} // Class komune_wettbewerb Ende + +?> \ No newline at end of file diff --git a/include/komune_wettbewerbeinladungen.class.php b/include/komune_wettbewerbeinladungen.class.php new file mode 100644 index 000000000..2b9684707 --- /dev/null +++ b/include/komune_wettbewerbeinladungen.class.php @@ -0,0 +1,826 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens . + */ +#-------------------------------------------------------------------------------------------------- +/* +* +* @classe kommune_wettbewerbeinladungen +* +* @param connectSQL Datenbankverbindung +* @param team_kurzbz Einladung zum Wettbewerb +* @param team_gefordert Einladung zum Wettbewerb +* @param wettbewerb_kurzbz Wettbewerbssubgruppen Key +* +* @return - kein Retourn des Konstruktors +* +*/ +include_once(dirname(__FILE__)."/postgre_sql.class.php"); +class komune_wettbewerbeinladungen extends postgre_sql +{ + protected $wettbewerbeinladungen=""; + + protected $uid=""; + + protected $match_id=""; + protected $wettbewerb_kurzbz=""; + + protected $team_kurzbz=""; + protected $team_gefordert=""; + + protected $gefordertvon=""; + protected $gefordertamum=""; + + protected $matchdatumzeit=""; + protected $matchort=""; + + protected $bestaetigtvon=""; + protected $bestaetigtamum=""; + + protected $ergebniss=""; + protected $team_sieger=""; + + protected $matchbestaetigtamum=""; + protected $matchbestaetigtvon=""; + + protected $switchGewinner=''; + +//-----Konstruktor + function komune_wettbewerbeinladungen($connectSQL,$match_id="",$team_forderer="",$team_gefordert="",$wettbewerb_kurzbz="",$uid="") + { + $this->InitWettbewerbeinladungen(); + + $this->setConnectSQL($connectSQL); + $this->setMatch_id($match_id); + $this->setTeam_forderer($team_forderer); + $this->setTeam_gefordert($team_gefordert); + $this->setWettbewerb_kurzbz($wettbewerb_kurzbz); + $this->setGefordertvon($uid); + } +//-----Initialisierung-------------------------------------------------------------------------------------------- + function InitWettbewerbeinladungen() + { + $this->setError(''); + // Ergebniss-Liste der Spiele + $this->setWettbewerbeinladung(''); + // Liste der Spiele mit Ergebniss "True" , oder Ohne "False" + $this->setSwitchGewinner(''); + + // Step 1 + $this->setMatch_id(''); + $this->setWettbewerb_kurzbz(''); + + $this->setGefordertvon(''); + $this->setGefordertamum(''); + + $this->setTeam_kurzbz(''); + $this->setTeam_gefordert(''); + + $this->setMatchdatumzeit(''); + $this->setMatchort(''); + // Step 2 + $this->setBestaetigtvon(''); + $this->setBestaetigtamum(0); + // Step 3 + $this->setErgebniss(''); + $this->setTeam_sieger(''); + // Step 4 + $this->setMatchbestaetigtamum(''); + $this->setMatchbestaetigtvon(''); + } +//-----Wettbewerb Matchdaten-------------------------------------------------------------------------------------------- + function getWettbewerbeinladung() + { + return $this->wettbewerbeinladung; + } + function setWettbewerbeinladung($wettbewerbeinladung) + { + $this->wettbewerbeinladung=$wettbewerbeinladung; + } +//-----match_id-------------------------------------------------------------------------------------------- + function getMatch_id() + { + return $this->match_id; + } + function setMatch_id($match_id) + { + $this->match_id=$match_id; + } +//-----gefordertvon-------------------------------------------------------------------------------------------- + function getGefordertvon() + { + return $this->gefordertvon; + } + function setGefordertvon($gefordertvon) + { + $this->gefordertvon=$gefordertvon; + } + +//-----UID-------------------------------------------------------------------------------------------- +// Match - Wettbewerb uid = Moderator + function getUid() + { + return $this->uid; + } + function setUid($uid) + { + $this->uid=$uid; + } + +//-----gefordertam-------------------------------------------------------------------------------------------- + function getGefordertamum() + { + return $this->gefordertamum; + } + function setGefordertamum($gefordertamum) + { + $this->gefordertamum=$gefordertamum; + } +//-----team_forderer-------------------------------------------------------------------------------------------- + function getTeam_forderer() + { + return $this->team_forderer; + } + function setTeam_forderer($team_forderer) + { + $this->team_forderer=$team_forderer; + } +//-----team_kurzbz--kompilitaet------------------------------------------------------------------------------------------ + function getTeam_kurzbz() + { + return $this->getTeam_forderer(); + } + function setTeam_kurzbz($team_kurzbz) + { + $this->setTeam_forderer($team_kurzbz); + } + +//-----team_gefordert-------------------------------------------------------------------------------------------- + function getTeam_gefordert() + { + return $this->team_gefordert; + } + function setTeam_gefordert($team_gefordert) + { + $this->team_gefordert=$team_gefordert; + } +//-----team_sieger-------------------------------------------------------------------------------------------- + function getTeam_sieger() + { + return $this->team_sieger; + } + function setTeam_sieger($team_sieger) + { + $this->team_sieger=$team_sieger; + } +//-----wettbewerb_kurzbz-------------------------------------------------------------------------------------------- + function getWettbewerb_kurzbz() + { + return $this->wettbewerb_kurzbz; + } + function setWettbewerb_kurzbz($wettbewerb_kurzbz="") + { + $this->wettbewerb_kurzbz=$wettbewerb_kurzbz; + } +//-----matchdatumzeit-------------------------------------------------------------------------------------------- + function getMatchdatumzeit() + { + return $this->matchdatumzeit; + } + function setMatchdatumzeit($matchdatumzeit) + { + $this->matchdatumzeit=$matchdatumzeit; + } +//-----matchort-------------------------------------------------------------------------------------------- + function getMatchort() + { + return $this->matchort; + } + function setMatchort($matchort) + { + $this->matchort=$matchort; + } +//-----ergebniss-------------------------------------------------------------------------------------------- + function getErgebniss() + { + return $this->ergebniss; + } + function setErgebniss($ergebniss) + { + $this->ergebniss=$ergebniss; + } +//-----bestaetigtvon-------------------------------------------------------------------------------------------- + function getBestaetigtvon() + { + return $this->bestaetigtvon; + } + function setBestaetigtvon($bestaetigtvon) + { + $this->bestaetigtvon=$bestaetigtvon; + } +//-----bestaetigtamum-------------------------------------------------------------------------------------------- + function getBestaetigtamum() + { + return $this->bestaetigtamum; + } + function setBestaetigtamum($bestaetigtamum) + { + $this->bestaetigtamum=$bestaetigtamum; + } +//-----matchbestaetigtamum-------------------------------------------------------------------------------------------- + function getMatchbestaetigtamum() + { + return $this->matchbestaetigtamum; + } + function setMatchbestaetigtamum($matchbestaetigtamum) + { + $this->matchbestaetigtamum=$matchbestaetigtamum; + } +//-----matchbestaetigtvon-------------------------------------------------------------------------------------------- + function getMatchbestaetigtvon() + { + return $this->matchbestaetigtvon; + } + function setMatchbestaetigtvon($matchbestaetigtvon) + { + $this->matchbestaetigtvon=$matchbestaetigtvon; + } +//-----switchGewinner-------------------------------------------------------------------------------------------- +// Selektion des Datenlesen 0 nur nicht Gewonnene, 1 sind alle Gewonnene , leer alle + function getSwitchGewinner() + { + return $this->switchGewinner; + } + function setSwitchGewinner($switchGewinner) + { + $this->switchGewinner=$switchGewinner; + } + +//------------------------------------------------------------------------------------------------- + function saveWettbewerbeinladung($team_forderer="",$team_gefordert="",$match_id="") + { + // Initialisieren + $this->setError(''); + // Konstante + $constTableMatch='tbl_match'; + + // Parameteruebernahme + if (!empty($team_forderer)) + $this->setTeam_forderer($team_forderer); + if (!empty($team_gefordert)) + $this->setTeam_gefordert($team_gefordert); + if (!empty($match_id)) + $this->setMatch_id($match_id); + + // Verarbeitungsvariablen + $cSchemaSQL=$this->getschemaSQL(); + $cMatch_id=$this->getMatch_id(); + $cTeam_forderer=$this->getTeam_forderer(); + $cTeam_gefordert=$this->getTeam_gefordert(); + + // Plausib - Pruefen ob Eingeladente Team nicht als Array ubergeben wurde ( gebraucht wird nur die Kurzbezeichnung) + if (is_array($cTeam_forderer) && isset($cTeam_forderer['team_forderer'])) + $cTeam_forderer=$cTeam_forderer['team_forderer']; + elseif (is_array($cTeam_forderer) && isset($cTeam_forderer[0]['team_forderer']) ) + $cTeam_forderer=$cTeam_forderer[0]['team_forderer']; + elseif (is_array($cTeam_forderer) && isset($cTeam_forderer['team_forderer'])) + $cTeam_forderer=$cTeam_forderer['team_kurzbz']; + elseif (is_array($cTeam_forderer) && isset($cTeam_forderer[0]['team_forderer']) ) + $cTeam_forderer=$cTeam_forderer[0]['team_forderer']; + + // Plausib - Pruefen ob Eingeladene Team nicht als Array ubergeben wurde ( gebraucht wird nur die Kurzbezeichnung) + if (is_array($cTeam_gefordert) && isset($cTeam_gefordert['team_kurzbz'])) + $cTeam_gefordert=$cTeam_gefordert['team_kurzbz']; + elseif (is_array($cTeam_gefordert) && isset($cTeam_gefordert[0]['team_kurbz'])) + $cTeam_gefordert=$cTeam_gefordert[0]['team_kurzbz']; + + $cTeam_forderer=trim($cTeam_forderer); + if (empty($cTeam_forderer) ) + { + $this->setError('Kein Einladung (Einladenter fehlt) möglich !'); + return false; + } + $cTeam_gefordert=trim($cTeam_gefordert); + if (empty($cTeam_gefordert) ) + { + $this->setError('Kein Einladung (Eingeladener fehlt) möglich !'); + return false; + } + $cMatch_id=trim($cMatch_id); + if (empty($cTeam_gefordert) && empty($cMatch_id) ) + { + $this->setError('Kein Einladung (Bearbeitung) möglich !'); + return false; + } + + $this->setTableStruckturSQL($constTableMatch); + if (!$origWettbewerbeinladungen=$this->loadWettbewerbeinladungen()) + { + if ($this->getError()) // Beim Lesen ist ein Fehler aufgetreten + return false; + $this->setNewRecord(true); + } + + $arrTmpTableStrucktur=$this->getTableStruckturSQL(); + if (!is_array($arrTmpTableStrucktur)) + { + $this->setError('Kein Tabellenstrucktur ("'.$constTableMatch.'") gefunden !'); + return false; + } + + $cTmpSQL="BEGIN; "; + if ($this->getNewRecord()) // Neuanlage - Insert + { + if (!$this->getGefordertamum()) + $this->setGefordertamum(time()); + + $fildsList=""; + $fildsValue=""; + for ($fildIND=0;$fildIND$arrTmpTableStrucktur[$fildIND]['name']) && $this->$arrTmpTableStrucktur[$fildIND]['name']!='') + $cTmpWert=$this->$arrTmpTableStrucktur[$fildIND]['name']; + if ($cTmpWert!='') + { + switch ($arrTmpTableStrucktur[$fildIND]['type']) + { + case 'timestamp': + $cTmpWert="to_timestamp('".$cTmpWert."')"; + break; + case 'time': + $cTmpWert="to_timestamp('".$cTmpWert."')"; + break; + default: + $cTmpWert="E'".addslashes(trim($cTmpWert))."'"; + break; + } + $fildsList.=(!empty($fildsList)?',':'').$arrTmpTableStrucktur[$fildIND]['name']; + $fildsValue.=(!empty($fildsValue)?',':'').$cTmpWert; + } + } + $cTmpSQL=" insert into ".$cSchemaSQL."tbl_match (".$fildsList.") values (".$fildsValue."); "; + } + else + { + if (!$this->getMatch_id()) + $this->setMatch_id($origWettbewerbeinladungen[0]['match_id']); + $cTmpSQL.=" update ".$cSchemaSQL."tbl_match set "; + $fildsValue=''; + for ($fildIND=0;$fildIND$arrTmpTableStrucktur[$fildIND]['name']) + && $this->$arrTmpTableStrucktur[$fildIND]['name']!='' + && $arrTmpTableStrucktur[$fildIND]['name']!='match_id' ) + { + $cTmpWert=$this->$arrTmpTableStrucktur[$fildIND]['name']; + if ($cTmpWert!='') + { + switch ($arrTmpTableStrucktur[$fildIND]['type']) + { + case 'timestamp': + $cTmpWert="to_timestamp('".$cTmpWert."')"; + break; + case 'time': + $cTmpWert="to_timestamp('".$cTmpWert."')"; + break; + default: + $cTmpWert="E'".addslashes(trim($cTmpWert))."'"; + break; + } + $fildsValue.= (!empty($fildsValue)?',':'').$arrTmpTableStrucktur[$fildIND]['name']."=".$cTmpWert; + } + } + } + $cTmpSQL.=$fildsValue." where tbl_match.match_id='".$this->getMatch_id()."'; "; + $cWettbewerb_kurzbz=trim($origWettbewerbeinladungen[0]['wettbewerb_kurzbz']); + $origWettbewerbeinladungen[0]['matchbestaetigtvon']=trim($origWettbewerbeinladungen[0]['matchbestaetigtvon']); + $origWettbewerbeinladungen[0]['team_sieger']=trim($origWettbewerbeinladungen[0]['team_sieger']); + + if ($this->getMatchbestaetigtvon() && empty($origWettbewerbeinladungen[0]['matchbestaetigtvon']) + && trim($origWettbewerbeinladungen[0]['team_sieger'])==trim($cTeam_forderer)) // Der Forderer ist der Siehter den Rangtauschen + { + // Rang des Geforderten ermitteln + $cTmpSQL_tmp="select rang from ".$cSchemaSQL."tbl_wettbewerbteam where upper(team_kurzbz)=upper('".$cTeam_gefordert."') and upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."') FOR UPDATE ;"; + $this->fetch_object($cTmpSQL_tmp); + $iTmpRangGeforderter=$this->getResultSQL(); + if (isset($iTmpRangGeforderter->rang)) + $iTmpRangGeforderter=trim($iTmpRangGeforderter->rang); + + // Rang des Geforderten ermitteln + $cTmpSQL_tmp="select rang from ".$cSchemaSQL."tbl_wettbewerbteam where upper(team_kurzbz)=upper('".$cTeam_forderer."') and upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."') FOR UPDATE ;"; + + $this->fetch_object($cTmpSQL_tmp); + $iTmpRangFrorderer=$this->getResultSQL(); + if (isset($iTmpRangFrorderer->rang)) + $iTmpRangFrorderer=trim($iTmpRangFrorderer->rang); + + $cTmpSQL.=" update ".$cSchemaSQL."tbl_wettbewerbteam "; + $cTmpSQL.="set rang=0 "; + $cTmpSQL.=" where upper(team_kurzbz)=upper('".$cTeam_gefordert."') and upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."'); "; + + $cTmpSQL.=" update ".$cSchemaSQL."tbl_wettbewerbteam "; + $cTmpSQL.="set rang=".$iTmpRangGeforderter; + $cTmpSQL.=" where upper(team_kurzbz)=upper('".$cTeam_forderer."') and upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."'); "; + + $cTmpSQL.=" update ".$cSchemaSQL."tbl_wettbewerbteam "; + $cTmpSQL.="set rang=".$iTmpRangFrorderer; + $cTmpSQL.=" where upper(team_kurzbz)=upper('".$cTeam_gefordert."') and upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."'); "; + + $cTmpSQL.=" update ".$cSchemaSQL."tbl_wettbewerbteam "; + $cTmpSQL.="set punkte=3+punkte "; + $cTmpSQL.="where upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."') and upper(team_kurzbz)=upper('".$origWettbewerbeinladungen[0]['team_sieger']."'); "; + + $cTmpSQL.=" update ".$cSchemaSQL."tbl_wettbewerbteam "; + $cTmpSQL.="set punkte=1+punkte "; + $cTmpSQL.="where upper(wettbewerb_kurzbz)=upper('".$cWettbewerb_kurzbz."') and upper(team_kurzbz)=upper('". ($origWettbewerbeinladungen[0]['team_sieger']==$cTeam_gefordert?$cTeam_forderer:$cTeam_gefordert)."'); "; + } + } + $cTmpSQL.=" COMMIT; "; +#exit($cTmpSQL); + // Datenbankabfrage + $this->setStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + if (!$this->dbQuery()) + return false; + if (!$origWettbewerbeinladungen=$this->loadWettbewerbeinladungen()) + { + if ($this->getError()) // Beim Lesen ist ein Fehler aufgetreten + return false; + $this->setNewRecord(true); + } + $this->setResultSQL(null); + return $origWettbewerbeinladungen; + } + +//------------------------------------------------------------------------------------------------- + function loadWettbewerbeinladungen() + { + $this->setError(''); + + $cSchemaSQL=$this->getschemaSQL(); + + $match_id=$this->getMatch_id(); + $cTeam_forderer=$this->getTeam_forderer(); + $cTeam_kurzbz_einladungen=$this->getTeam_gefordert(); + $cWettbewerb_kurzbz=$this->getWettbewerb_kurzbz(); + $cGefordertvon=$this->getGefordertvon(); + + $bSwitchGewinner=$this->getSwitchGewinner(); + + #SELECT TIMESTAMP WITHOUT TIME ZONE 'epoch' + 982384720 * INTERVAL '1 second'; + #select to_char(TIMESTAMP '2007-03-27 10:48:50.022', 'DD.MM.YYYY'); + #select to_char(TIMESTAMP '2007-03-27 10:48:50.022', 'HH24:MI:SS'); + $cTmpSQL=""; + $cTmpSQL.="SELECT * "; + + $cTmpSQL.=", to_char(matchdatumzeit, 'DD.MM.YYYY') as \"matchdatum\" "; + $cTmpSQL.=", to_char(matchdatumzeit, 'HH24:MI') as \"matchzeit\" "; + + $cTmpSQL.=", to_char(gefordertamum, 'DD.MM.YYYY') as \"gefordertamumdatum\" "; + $cTmpSQL.=", to_char(gefordertamum, 'HH24:MI') as \"gefordertamumzeit\" "; + + $cTmpSQL.=", to_char(bestaetigtamum, 'DD.MM.YYYY') as \"bestaetigtdatum\" "; + $cTmpSQL.=", to_char(bestaetigtamum, 'HH24:MI') as \"bestaetigtzeit\" "; + + $cTmpSQL.=", to_char(matchbestaetigtamum, 'DD.MM.YYYY') as \"matchbestaetigtdatum\" "; + $cTmpSQL.=", to_char(matchbestaetigtamum, 'HH24:MI') as \"matchbestaetigtzeit\" "; + + $cTmpSQL.=" FROM ".$cSchemaSQL."tbl_match "; + + if (empty($match_id)) + $cTmpSQL.=" WHERE tbl_match.match_id>0 "; + else + $cTmpSQL.=" WHERE tbl_match.match_id='".addslashes(trim($match_id))."' "; + +# if (empty($cGefordertvon)) +# $cTmpSQL.=" and tbl_match.gefordertvon='".addslashes(trim($cGefordertvon))."' "; + + // Forderer + if (!is_array($cTeam_forderer) && !empty($cTeam_forderer) ) + { + $cTmpSQL.=" AND UPPER(tbl_match.team_forderer)=UPPER('".addslashes(trim($cTeam_forderer))."') "; + } + elseif (is_array($cTeam_forderer) && count($cTeam_forderer)>0 ) + { + if (isset($cTeam_forderer[0]['team_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $arrTmpTeam_kurzbz=array(); + for ($indZEILE=0;$indZEILE0 ) + { + if (isset($cTeam_kurzbz_einladungen[0]['team_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $arrTmpTeam_kurzbz=array(); + for ($indZEILE=0;$indZEILE0 ) + { + if (isset($cWettbewerb_kurzbz[0]['wettbewerb_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $arrWettbewerb_kurzbz=array(); + for ($indZEILE=0;$indZEILEsetStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + $this->setWettbewerbeinladung(null); + + if (!$this->fetch_all()) + return false; + $this->setWettbewerbeinladung($this->getResultSQL()); + $this->setResultSQL(null); + + return $this->getWettbewerbeinladung(); + } +//------------------------------------------------------------------------------------------------- + function loadWettbewerbeinladungenForderungstage() + { + $this->setError(''); + $cSchemaSQL=$this->getschemaSQL(); + + $match_id=$this->getMatch_id(); + $cTeam_forderer=$this->getTeam_forderer(); + $cTeam_kurzbz_einladungen=$this->getTeam_gefordert(); + $cWettbewerb_kurzbz=$this->getWettbewerb_kurzbz(); + + $cUid=$this->getGefordertvon(); + + $cTmpSQL=""; + $cTmpSQL.="SELECT * "; + + $cTmpSQL.=", to_char(matchdatumzeit, 'DD.MM.YYYY') as \"matchdatum\" "; + $cTmpSQL.=", to_char(matchdatumzeit, 'HH24:MI') as \"matchzeit\" "; + + $cTmpSQL.=", to_char(gefordertamum, 'DD.MM.YYYY') as \"gefordertamumdatum\" "; + $cTmpSQL.=", to_char(gefordertamum, 'HH24:MI') as \"gefordertamumzeit\" "; + + $cTmpSQL.=", to_char(bestaetigtamum, 'DD.MM.YYYY') as \"bestaetigtdatum\" "; + $cTmpSQL.=", to_char(bestaetigtamum, 'HH24:MI') as \"bestaetigtzeit\" "; + + $cTmpSQL.=", to_char(matchbestaetigtamum, 'DD.MM.YYYY') as \"matchbestaetigtdatum\" "; + $cTmpSQL.=", to_char(matchbestaetigtamum, 'HH24:MI') as \"matchbestaetigtzeit\" "; + + + $cTmpSQL.=" + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.gefordertamum))) as gefordertamum_diff + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.bestaetigtamum,".$cSchemaSQL."tbl_match.gefordertamum))) as bestaetigtamum_diff + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.matchdatumzeit,".$cSchemaSQL."tbl_match.bestaetigtamum))) as matchdatumzeit_diff + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.matchbestaetigtamum,".$cSchemaSQL."tbl_match.matchdatumzeit))) as matchbestaetigtamum_diff + + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.gefordertamum))) as gefordertamum_tag_diff + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.bestaetigtamum))) as bestaetigtamum_tag_diff + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.matchdatumzeit))) as matchdatumzeit_tag_diff + ,1+extract('day' from (age(".$cSchemaSQL."tbl_match.matchbestaetigtamum))) as matchbestaetigtamum_tag_diff + + + "; + + + $cTmpSQL.=" from ".$cSchemaSQL."tbl_wettbewerbtyp,".$cSchemaSQL."tbl_wettbewerb,".$cSchemaSQL."tbl_match + + where ".$cSchemaSQL."tbl_wettbewerbtyp.wbtyp_kurzbz=".$cSchemaSQL."tbl_wettbewerb.wbtyp_kurzbz + and ".$cSchemaSQL."tbl_match.wettbewerb_kurzbz=".$cSchemaSQL."tbl_wettbewerb.wettbewerb_kurzbz + and (".$cSchemaSQL."tbl_match.matchbestaetigtvon IS NULL or ".$cSchemaSQL."tbl_match.matchbestaetigtvon<='') + + "; +# and ( extract('day' from (age(".$cSchemaSQL."tbl_match.gefordertamum))) >=".$cSchemaSQL."tbl_wettbewerb.forderungstage +# or extract('day' from (age(".$cSchemaSQL."tbl_match.bestaetigtamum,".$cSchemaSQL."tbl_match.gefordertamum)))>=".$cSchemaSQL."tbl_wettbewerb.forderungstage +# or extract('day' from (age(".$cSchemaSQL."tbl_match.matchdatumzeit,".$cSchemaSQL."tbl_match.bestaetigtamum)))>=".$cSchemaSQL."tbl_wettbewerb.forderungstage +# or extract('day' from (age(".$cSchemaSQL."tbl_match.matchbestaetigtamum,".$cSchemaSQL."tbl_match.matchdatumzeit)))>=".$cSchemaSQL."tbl_wettbewerb.forderungstage +# ) + + + if (!empty($match_id)) + $cTmpSQL.=" and tbl_match.match_id='".addslashes(trim($match_id))."' "; + + if (!empty($cUid)) + $cTmpSQL.=" and tbl_wettbewerb.uid='".addslashes(trim($cUid))."' "; + + + // Forderer + if (!is_array($cTeam_forderer) && !empty($cTeam_forderer) ) + { + $cTmpSQL.=" AND UPPER(tbl_match.team_forderer)=UPPER('".addslashes(trim($cTeam_forderer))."') "; + } + elseif (is_array($cTeam_forderer) && count($cTeam_forderer)>0 ) + { + if (isset($cTeam_forderer[0]['team_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $arrTmpTeam_kurzbz=array(); + for ($indZEILE=0;$indZEILE0 ) + { + if (isset($cTeam_kurzbz_einladungen[0]['team_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $arrTmpTeam_kurzbz=array(); + for ($indZEILE=0;$indZEILE0 ) + { + if (isset($cWettbewerb_kurzbz[0]['wettbewerb_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $arrWettbewerb_kurzbz=array(); + for ($indZEILE=0;$indZEILEsetStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + $this->setWettbewerbeinladung(null); + + if (!$this->fetch_all()) + return false; + $this->setWettbewerbeinladung($this->getResultSQL()); + $this->setResultSQL(null); + return $this->getWettbewerbeinladung(); + } + +//------------------------------------------------------------------------------------------------- + function unloadWettbewerbeinladungen() + { + $this->setError(''); + $cSchemaSQL=$this->getschemaSQL(); + + $match_id=$this->getMatch_id(); + if (empty($match_id)) + { + $this->setError('Keine Match ID gefunden!'); + return false; + } + $cTmpSQL=""; + $cTmpSQL.="delete from ".$cSchemaSQL."tbl_match "; + $cTmpSQL.=" * "; + $cTmpSQL.=" where tbl_match.match_id='".addslashes(trim($match_id))."' "; + + // Entfernen der Temporaeren Variablen aus dem Speicher + unset($cSchemaSQL); + unset($match_id); + // Datenbankabfrage + $this->setStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + $this->setWettbewerbeinladung(null); + if (!$this->fetch_object()) + return false; + $this->setResultSQL(null); + return true; + } + + +} // Class komune_wettbewerb Ende + +?> \ No newline at end of file diff --git a/include/komune_wettbewerbteam.class.php b/include/komune_wettbewerbteam.class.php new file mode 100644 index 000000000..0226e3e7a --- /dev/null +++ b/include/komune_wettbewerbteam.class.php @@ -0,0 +1,396 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens . + */ + +#-------------------------------------------------------------------------------------------------- +/* +* +* @classe komune_wettbewerbteam +* +* @param connectSQL Datenbankverbindung +* @param uid Angemeleter Anwender +* @param team_kurzbz Team des Angemeleter Anwenders zum Wettbewerb +* @param wettbewerb_kurzbz Wettbewerbssubgruppen Key +* +* @return - kein Retourn des Konstruktors +* +*/ +include_once(dirname(__FILE__)."/postgre_sql.class.php"); +class komune_wettbewerbteam extends postgre_sql +{ + protected $newWettbewerbteam; + protected $wettbewerbteam; + + protected $uid; + protected $team_kurzbz; + protected $team_kurzbz_old; + protected $wettbewerb_kurzbz; + +//-----Konstruktor + function komune_wettbewerbteam($connectSQL,$uid="",$team_kurzbz="",$wettbewerb_kurzbz="") + { + $this->InitWettbewerbteam(); + + $this->setConnectSQL($connectSQL); + $this->setSchemaSQL('kommune'); + // Parameter DB Schema + + $this->setuid($uid); + $this->setTeam_kurzbz($team_kurzbz); + $this->setWettbewerb_kurzbz($wettbewerb_kurzbz); + } + +//-----Initialisierung-------------------------------------------------------------------------------------------- + function InitWettbewerbteam() + { + $this->setError(''); + + $this->setNewWettbewerbteam(''); + $this->setWettbewerbteam(''); + + $this->setuid(''); + $this->setTeam_kurzbz(''); + $this->setTeam_kurzbz_old(''); + $this->setWettbewerb_kurzbz(''); + } + +//-----Neuer Datensatz-------------------------------------------------------------------------------------------- + function getNewWettbewerbteam() + { + return $this->newWettbewerbteam; + } + function setNewWettbewerbteam($newWettbewerbteam) + { + $this->newWettbewerbteam=$newWettbewerbteam; + } +//-----Aenderung Datensatz wird wie Neuanlage gehandhabt ------------------------------------------------------------- + function getUpdWettbewerbteam() + { + return $this->newWettbewerbteam; + } + function setUpdWettbewerbteam($newWettbewerbteam) + { + $this->newWettbewerbteam=trim($newWettbewerbteam); + } +//-----Aktueller Datensatz-------------------------------------------------------------------------------------------- + function getWettbewerbteam() + { + return $this->wettbewerbteam; + } + function setWettbewerbteam($wettbewerbteam) + { + $this->wettbewerbteam=$wettbewerbteam; + } +//-----team_kurzbz-------------------------------------------------------------------------------------------- + function getTeam_kurzbz() + { + return $this->team_kurzbz; + } + function setTeam_kurzbz($team_kurzbz) + { + $this->team_kurzbz=trim($team_kurzbz); + } +//-----team_kurzbz-------------------------------------------------------------------------------------------- + function getTeam_kurzbz_old() + { + return $this->team_kurzbz_old; + } + function setTeam_kurzbz_old($team_kurzbz_old) + { + $this->team_kurzbz_old=trim($team_kurzbz_old); + } +//-----uid-------------------------------------------------------------------------------------------- + function getUid() + { + return $this->uid; + } + function setUid($uid) + { + $this->uid=trim($uid); + } +//-----wettbewerb_kurzbz-------------------------------------------------------------------------------------------- + function getWettbewerb_kurzbz() + { + return $this->wettbewerb_kurzbz; + } + function setWettbewerb_kurzbz($wettbewerb_kurzbz="") + { + $this->wettbewerb_kurzbz=trim($wettbewerb_kurzbz); + } +//------------------------------------------------------------------------------------------------- + function saveWettbewerbteam($newWettbewerbteam="") + { + // Initialisierung + $this->setError(''); + + // Plausib + if (!empty($newWettbewerbteam)) + $this->setNewWettbewerbteam($newWettbewerbteam); + + if (!is_array($this->getNewWettbewerbteam())) + { + $this->setError('Kein Wettbewerbsteam übergeben'); + return false; + } + $newWettbewerbteam=$this->getNewWettbewerbteam(); + + // Daten uebernahme + $cSchemaSQL=$this->getSchemaSQL(); + $cTeam_kurzbz=$this->getTeam_kurzbz(); + + // Aenderungen muessen mit dem Team_kurzbz_old gekennzeichnet werden. Ansonst koennten falsche Daten geaendert werden + $cTeam_kurzbz_old=$this->getTeam_kurzbz_old(); + + $cUserUID=$this->getUid(); // Vor der Verarbeitung sicherstellen das Alle Anwender gelesen werden + $this->setUid(''); + + $this->setNewRecord(false); + if (!$origWettbewerbteam=$this->loadWettbewerbteam()) + { + if ($this->getError()) // Beim Lesen ist ein Fehler aufgetreten + return false; + $this->setNewRecord(true); + } + $this->setUid($cUserUID); + unset($cUserUID); + + if ($origWettbewerbteam && empty($cTeam_kurzbz_old)) // Datenrec bereits vorhanden + { + $this->setError('Das Team '.$cTeam_kurzbz.' ist bereits angelegt!'); + return false; + } + $bTmpNewRecord=$this->getNewRecord(); // Neuanlage Switch sichern + + + // Aus dem Array newWettbewerbteam die Teaminformationen heraus holen + $cWettbewerb_kurzbz=(isset($newWettbewerbteam['wettbewerb_kurzbz']) ? $newWettbewerbteam['wettbewerb_kurzbz'] : ''); + if (empty($cWettbewerb_kurzbz)) + $cWettbewerb_kurzbz=(isset($newWettbewerbteam[0]['wettbewerb_kurzbz']) ? $newWettbewerbteam[0]['wettbewerb_kurzbz'] : ''); + $team_bezeichnung=(isset($newWettbewerbteam['bezeichnung']) ? $newWettbewerbteam['bezeichnung'] : ''); + $team_beschreibung=(isset($newWettbewerbteam['beschreibung']) ? $newWettbewerbteam['beschreibung'] : ''); + + $team_logo=(isset($newWettbewerbteam['logo']) ? $newWettbewerbteam['logo'] : null); + $team_rang=(isset($newWettbewerbteam['rang']) ? $newWettbewerbteam['rang'] : null); + + // Ermitteln der Tabelle der Teamspieler + if (isset($newWettbewerbteam['array_userUID'])) + $array_userUID=$newWettbewerbteam['array_userUID']; + else + { + $this->setError('Die Spieler / Team wurde nicht gefunden! '); + return false; + } + + + $cTmpSQL="select * from ".$cSchemaSQL."tbl_teambenutzer , ".$cSchemaSQL."tbl_wettbewerbteam "; + $cTmpSQL.=" where tbl_wettbewerbteam.team_kurzbz =tbl_teambenutzer.team_kurzbz "; + $cTmpSQL.=" and not ( UPPER(tbl_teambenutzer.team_kurzbz)=E'".addslashes(trim(strtoupper($cTeam_kurzbz_old)))."' and UPPER(tbl_teambenutzer.team_kurzbz)=E'".addslashes(trim(strtoupper($cTeam_kurzbz)))."' ) "; + $cTmpSQL.=" and UPPER(tbl_teambenutzer.uid) in ('".strtoupper(implode("','",$array_userUID))."') "; + $cTmpSQL.=" and UPPER(tbl_wettbewerbteam.wettbewerb_kurzbz)=E'".addslashes(trim(strtoupper($cWettbewerb_kurzbz)))."' ; "; + // Datenbankabfrage + $this->setStringSQL($cTmpSQL); + unset($cTmpSQL); + $this->setResultSQL(null); + if ($this->fetch_all()) + { + $cTmpSQL=$this->getResultSQL(); + $this->setResultSQL(null); +# exit(kommune_Test($cTmpSQL)); + if (is_array($cTmpSQL)) + { + for ($zeileIND=0;$zeileINDsetError(sprintf('Der Spieler %s wurde bereits im Team %s im Wettbewerb %s gefunden ! ',$cTmpSQL[$zeileIND]['uid'],$cTmpSQL[$zeileIND]['team_kurzbz'],$cTmpSQL[$zeileIND]['wettbewerb_kurzbz'])); + return false; + } + } + + $arrTmpCheckUID=array(); // Aus dem Array nur die Belegten UIDs suchen + for ($zeileIND=0;$zeileINDsetNewRecord($bTmpNewRecord); + + $cTmpSQL="BEGIN; "; + // Neuanlage - Insert + if ($this->getNewRecord()) + { + $cTmpSQL.=" INSERT into ".$cSchemaSQL."tbl_team (team_kurzbz,bezeichnung,beschreibung,logo) VALUES (E'".addslashes(trim($cTeam_kurzbz))."',E'".addslashes(trim($team_bezeichnung))."',E'".addslashes(trim($team_beschreibung))."',E'".addslashes(trim($team_logo))."'); "; + for ($zeileIND=0;$zeileIND$cTmpUID=$cTmpUID; + } + + + // Suchen Neuanlage - Update (nach Update den Array Eintrag entleeren sonst wird er nachher geloescht) + for ($zeileIND=0;$zeileIND$cTmpUID)) + { + $cTmpSQL.=" UPDATE ".$cSchemaSQL."tbl_teambenutzer set team_kurzbz=E'".addslashes(trim($cTeam_kurzbz))."' WHERE UPPER(uid)=UPPER(E'".addslashes($cTmpUID)."') AND upper(team_kurzbz)=upper(E'".$cTeam_kurzbz_old."'); "; + unset($arrTmpCheckUID->$cTmpUID); + } + elseif (!isset($arrTmpCheckUID->$cTmpUID)) + { + $cTmpSQL.=" INSERT into ".$cSchemaSQL."tbl_teambenutzer (uid, team_kurzbz) VALUES (E'".addslashes(trim($cTmpUID))."',E'".addslashes(trim($cTeam_kurzbz))."'); "; + } + } + + if (isset($zeileIND)) unset($zeileIND); + if (isset($array_userUID)) unset($array_userUID); + // Alle die noch in der DB-Alt Array sind muessen geloeschte sein + while (list( $key, $value ) = each($arrTmpCheckUID) ) + $cTmpSQL.=" DELETE from ".$cSchemaSQL."tbl_teambenutzer WHERE UPPER(uid)=UPPER(E'".addslashes($value)."') AND upper(team_kurzbz)=upper(E'".$cTeam_kurzbz_old."'); "; + + if (isset($key)) unset($key); + if (isset($value)) unset($value); + if (isset($arrTmpCheckUID)) unset($arrTmpCheckUID); + } + $cTmpSQL.=" COMMIT; "; +# exit("
".$cTmpSQL); + + // Datenbankabfrage + $this->setStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + if (!$this->dbQuery()) + return false; + if (!$this->loadWettbewerbteam()) + { + if ($this->getError()) // Beim Lesen ist ein Fehler aufgetreten + return false; + $this->setNewRecord(true); + } + + $this->setResultSQL(null); + return $this->getWettbewerbteam(); + } +//------------------------------------------------------------------------------------------------- + function loadWettbewerbteam() + { + $this->setError(''); + + $cSchemaSQL=$this->getSchemaSQL(); + $tmpUid=$this->getUid(); + + $cTeam_kurzbz=$this->getTeam_kurzbz_old(); + if (empty($cTeam_kurzbz)) + $cTeam_kurzbz=$this->getTeam_kurzbz(); + + $cWettbewerb_kurzbz=$this->getWettbewerb_kurzbz(); + + $cTmpSQL=""; + $cTmpSQL.="SELECT * FROM ".$cSchemaSQL."tbl_teambenutzer,".$cSchemaSQL."tbl_team,".$cSchemaSQL."tbl_wettbewerbteam "; + + $cTmpSQL.=" WHERE UPPER(tbl_team.team_kurzbz)=UPPER(tbl_teambenutzer.team_kurzbz) "; + $cTmpSQL.=" AND UPPER(tbl_wettbewerbteam.team_kurzbz)=UPPER(tbl_team.team_kurzbz) "; + + // Check wie Postgre darauf reagiert Performenc + $cTmpSQL.=" AND UPPER(tbl_wettbewerbteam.team_kurzbz)=UPPER(tbl_teambenutzer.team_kurzbz) "; + + if (!empty($cTeam_kurzbz)) + $cTmpSQL.=" AND UPPER(tbl_teambenutzer.team_kurzbz)=UPPER(E'".$cTeam_kurzbz."') "; + + if (!empty($tmpUid)) + $cTmpSQL.=" AND UPPER(tbl_teambenutzer.uid)=UPPER(E'".addslashes($tmpUid)."') "; + + // Suche nach einem einzigen Wettbewerb + if (!is_array($cWettbewerb_kurzbz) && !empty($cWettbewerb_kurzbz) ) + { + $cTmpSQL.=" AND UPPER(tbl_wettbewerbteam.wettbewerb_kurzbz)=UPPER(E'".$cWettbewerb_kurzbz."') "; + } + elseif (is_array($cWettbewerb_kurzbz) && count($cWettbewerb_kurzbz)>0 ) + { + if (isset($cWettbewerb_kurzbz[0]['wettbewerb_kurzbz'])) // Check ob nicht kpl. Tablestruck in Array + { + $tmpWETTBEWERB=array(); + for ($indZEILE=0;$indZEILEsetStringSQL($cTmpSQL); + unset($cTmpSQL); + + $this->setResultSQL(null); + $this->setWettbewerbteam(null); + if (!$this->fetch_all()) + return false; + $this->setWettbewerbteam($this->getResultSQL()); + $this->setResultSQL(null); + return $this->getWettbewerbteam(); + } +} // Class komune_wettbewerbteam Ende + +?> \ No newline at end of file