diff --git a/config/wawi.config-default.inc.php b/config/wawi.config-default.inc.php index f6d8e3c8a..35a5ac300 100644 --- a/config/wawi.config-default.inc.php +++ b/config/wawi.config-default.inc.php @@ -26,7 +26,7 @@ define("DB_PASSWORD","password"); define("DB_CONNECT_PERSISTENT",TRUE); define('CONN_CLIENT_ENCODING','UTF-8' ); -define('SERVER_ROOT','http://www.technikum-wien.at'); +define('SERVER_ROOT','http://www.technikum-wien.at/'); define('APP_ROOT','http://www.technikum-wien.at/wawi/'); // Externe Funktionen - Unterordner im Include-Verzeichnis diff --git a/include/ampel.class.php b/include/ampel.class.php index 79992be19..7c0aaa57f 100755 --- a/include/ampel.class.php +++ b/include/ampel.class.php @@ -301,7 +301,7 @@ class ampel extends basis_db foreach($this->beschreibung as $key=>$value) { - $idx = $sprache->index_arr[$key]; + $idx = sprache::$index_arr[$key]; $qry.=" beschreibung[$idx],"; } @@ -328,7 +328,7 @@ class ampel extends basis_db reset($this->beschreibung); foreach($this->beschreibung as $key=>$value) { - $idx = $sprache->index_arr[$key]; + $idx = sprache::$index_arr[$key]; $qry.=' beschreibung['.$idx.'] = '.$this->db_add_param($value).','; } diff --git a/include/sprache.class.php b/include/sprache.class.php index 08e26ad82..625809c2e 100644 --- a/include/sprache.class.php +++ b/include/sprache.class.php @@ -28,7 +28,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); class sprache extends basis_db { public $result; - public static $index_arr; + public static $index_arr = array(); public $sprache; // string public $locale; public $index; // int, id des array index @@ -56,7 +56,7 @@ class sprache extends basis_db */ public function load($sprache) { - $qry = "SELECT * FROM public.tbl_sprache WHERE sprache = '".addslashes($sprache)."';"; + $qry = "SELECT * FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache, FHC_STRING, false).";"; if(!$this->db_query($qry)) { @@ -68,7 +68,7 @@ class sprache extends basis_db $this->sprache = $row->sprache; $this->locale = $row->locale; $this->index = $row->index; - $this->content = ($row->content=='t'?true:false); + $this->content = $this->db_parse_bool($row->content); } return true; } @@ -83,7 +83,7 @@ class sprache extends basis_db $qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache"; if(!is_null($content)) - $qry.= " WHERE content=".($content?'true':'false'); + $qry.= " WHERE content=".$this->db_add_param($content, FHC_BOOLEAN); $qry.=" ORDER BY sprache"; if(!$this->db_query($qry)) @@ -98,7 +98,7 @@ class sprache extends basis_db $sprache->sprache = $row->sprache; $sprache->locale = $row->locale; $sprache->index = $row->index; - $sprache->content = ($row->content=='t'?true:false); + $sprache->content = $this->db_parse_bool($row->content); $sprache->bezeichnung_arr=$this->parseSprachResult('bezeichnung',$row); $this->result[] = $sprache; @@ -123,7 +123,7 @@ class sprache extends basis_db while($row = $this->db_fetch_object()) { - $this->index_arr[$row->sprache]=$row->index; + self::$index_arr[$row->sprache]=$row->index; } return true; } @@ -135,7 +135,7 @@ class sprache extends basis_db */ public function delete($sprache) { - $qry = "DELETE FROM public.tbl_sprache WHERE sprache = '".addslashes($sprache)."';"; + $qry = "DELETE FROM public.tbl_sprache WHERE sprache = ".$this->db_add_param($sprache, FHC_STRING, false).";"; if(!$this->db_query($qry)) { @@ -179,7 +179,7 @@ class sprache extends basis_db public function getSpracheFromIndex($index) { $sprache = ''; - $qry = "SELECT sprache FROM public.tbl_sprache WHERE index = '".addslashes($index)."';"; + $qry = "SELECT sprache FROM public.tbl_sprache WHERE index=".$this->db_add_param($index, FHC_INTEGER, false).";"; if(!$this->db_query($qry)) { @@ -205,10 +205,10 @@ class sprache extends basis_db { $result = ''; - if(!isset($this->index_arr)) + if(!isset(self::$index_arr) || count(self::$index_arr)==0) $this->loadIndexArray(); - foreach($this->index_arr as $sprache=>$index) + foreach(self::$index_arr as $sprache=>$index) { $result .= $feldname.'['.$index.'] as '.$feldname.'_'.$index.','; } @@ -226,10 +226,10 @@ class sprache extends basis_db { $result = array(); - if(!isset($this->index_arr)) + if(!isset(self::$index_arr) || count(self::$index_arr)==0) $this->getAll(); - foreach($this->index_arr as $sprache=>$index) + foreach(self::$index_arr as $sprache=>$index) { $name = $feldname.'_'.$index; if(isset($row->$name)) @@ -248,8 +248,8 @@ class sprache extends basis_db */ public function getBezeichnung($sprache, $anzeigesprache) { - $qry = "SELECT bezeichnung[(SELECT index FROM public.tbl_sprache WHERE sprache='".addslashes($anzeigesprache)."')] - FROM public.tbl_sprache WHERE sprache='".addslashes($sprache)."' "; + $qry = "SELECT bezeichnung[(SELECT index FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($anzeigesprache).")] + FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache); if($result = $this->db_query($qry)) { diff --git a/include/wawi_aufteilung.class.php b/include/wawi_aufteilung.class.php index c45d7d013..6ac5dcf81 100644 --- a/include/wawi_aufteilung.class.php +++ b/include/wawi_aufteilung.class.php @@ -66,7 +66,7 @@ class wawi_aufteilung extends basis_db $this->errormsg = "Ungültige aufteilung_id."; return false; } - $qry = "SELECT * FROM wawi.tbl_aufteilung_default WHERE aufteilung_id =".$this->addslashes($aufteilung_id).';'; + $qry = "SELECT * FROM wawi.tbl_aufteilung_default WHERE aufteilung_id =".$this->db_add_param($aufteilung_id, FHC_INTEGER).';'; if($this->db_query($qry)) { @@ -97,13 +97,13 @@ class wawi_aufteilung extends basis_db */ public function getAll() { - $qry = "SELECT *`FROM wawi.tbl_aufteilung_default;"; + $qry = "SELECT * FROM wawi.tbl_aufteilung_default;"; if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { - $aufteilung = new wawi_aufteilung(); + $aufteilung = new wawi_aufteilung(); $aufteilung->aufteilung_id = $row->aufteilung_id; $aufteilung->kostenstelle_id = $row->kostenstelle_id; @@ -140,9 +140,14 @@ class wawi_aufteilung extends basis_db return false; } - $qry = "SELECT aufteilung.* from wawi.tbl_aufteilung_default as aufteilung, wawi.tbl_kostenstelle as kostenstelle - where - kostenstelle.kostenstelle_id = aufteilung.kostenstelle_id and kostenstelle.kostenstelle_id = ".$this->addslashes($kostenstelle_id).";"; + $qry = "SELECT + aufteilung.* + FROM + wawi.tbl_aufteilung_default as aufteilung, + wawi.tbl_kostenstelle as kostenstelle + WHERE + kostenstelle.kostenstelle_id = aufteilung.kostenstelle_id + AND kostenstelle.kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";"; if($this->db_query($qry)) { @@ -177,7 +182,9 @@ class wawi_aufteilung extends basis_db public function getAufteilungFromBestellung($bestellung_id) { - $qry = "SELECT * from wawi.tbl_aufteilung where bestellung_id = ".$this->addslashes($bestellung_id)." Order by oe_kurzbz;"; + $qry = "SELECT * FROM wawi.tbl_aufteilung + WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER)." + ORDER BY oe_kurzbz;"; if($this->db_query($qry)) { @@ -210,7 +217,11 @@ class wawi_aufteilung extends basis_db */ public function AufteilungExists() { - $qry = "SELECT * from wawi.tbl_aufteilung where bestellung_id = ".$this->addslashes($this->bestellung_id)." and oe_kurzbz = ".$this->addslashes($this->oe_kurzbz).";"; + $qry = "SELECT * FROM wawi.tbl_aufteilung + WHERE + bestellung_id = ".$this->db_add_param($this->bestellung_id, FHC_INTEGER)." + AND oe_kurzbz = ".$this->db_add_param($this->oe_kurzbz).";"; + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -236,25 +247,26 @@ class wawi_aufteilung extends basis_db if($this->new == true) { // insert - $qry= "Insert into wawi.tbl_aufteilung (bestellung_id, oe_kurzbz, anteil, updateamum, updatevon, insertamum, insertvon) values (" - .$this->addslashes($this->bestellung_id).", " - .$this->addslashes($this->oe_kurzbz).", " - .$this->addslashes($this->anteil).", " - .$this->addslashes($this->updateamum).", " - .$this->addslashes($this->updatevon).", " - .$this->addslashes($this->insertamum).", " - .$this->addslashes($this->insertvon).");"; + $qry= "INSERT INTO wawi.tbl_aufteilung (bestellung_id, oe_kurzbz, anteil, updateamum, + updatevon, insertamum, insertvon) VALUES (" + .$this->db_add_param($this->bestellung_id, FHC_INTEGER).", " + .$this->db_add_param($this->oe_kurzbz).", " + .$this->db_add_param($this->anteil).", " + .$this->db_add_param($this->updateamum).", " + .$this->db_add_param($this->updatevon).", " + .$this->db_add_param($this->insertamum).", " + .$this->db_add_param($this->insertvon).");"; } else { // update - $qry = "Update wawi.tbl_aufteilung set - bestellung_id = ".$this->addslashes($this->bestellung_id).", - oe_kurzbz = ".$this->addslashes($this->oe_kurzbz).", - anteil = ".$this->addslashes($this->anteil).", - updateamum = ".$this->addslashes($this->updateamum).", - updatevon = ".$this->addslashes($this->updatevon)." - where aufteilung_id = ".$this->addslashes($this->aufteilung_id).";"; + $qry = "UPDATE wawi.tbl_aufteilung SET + bestellung_id = ".$this->db_add_param($this->bestellung_id).", + oe_kurzbz = ".$this->db_add_param($this->oe_kurzbz).", + anteil = ".$this->db_add_param($this->anteil).", + updateamum = ".$this->db_add_param($this->updateamum).", + updatevon = ".$this->db_add_param($this->updatevon)." + WHERE aufteilung_id = ".$this->db_add_param($this->aufteilung_id, FHC_INTEGER).";"; } if($this->db_query($qry)) diff --git a/include/wawi_bestelldetail.class.php b/include/wawi_bestelldetail.class.php index dd45f40e1..66df14b95 100644 --- a/include/wawi_bestelldetail.class.php +++ b/include/wawi_bestelldetail.class.php @@ -35,9 +35,9 @@ class wawi_bestelldetail extends basis_db public $artikelnummer; // char public $preisprove; // numeric public $mwst; // numeric - public $erhalten; // bool + public $erhalten=false; // bool public $sort; // integer - public $text; // bool + public $text=false; // bool public $insertamum; // timestamp public $insertvon; // char public $updateamum; // timestamp @@ -74,7 +74,7 @@ class wawi_bestelldetail extends basis_db return false; } - $qry = 'SELECT * FROM wawi.tbl_bestelldetail WHERE bestelldetail_id = '.$this->addslashes($bestelldetail_id).';'; + $qry = 'SELECT * FROM wawi.tbl_bestelldetail WHERE bestelldetail_id = '.$this->db_add_param($bestelldetail_id, FHC_INTEGER).';'; if(!$this->db_query($qry)) { @@ -86,16 +86,16 @@ class wawi_bestelldetail extends basis_db { $this->bestelldetail_id = $row->bestelldetail_id; $this->bestellung_id = $row->bestellung_id; - $this->positoin = $row->position; + $this->position = $row->position; $this->menge = $row->menge; $this->verpackungseinheit = $row->verpackungseinheit; $this->beschreibung = $row->beschreibung; $this->artikelnummer = $row->artikelnummer; $this->preisprove = $row->preisprove; $this->mwst = $row->mwst; - $this->erhalten = $row->erhalten; + $this->erhalten = $this->db_parse_bool($row->erhalten); $this->sort = $row->sort; - $this->text = $row->text; + $this->text = $this->db_parse_bool($row->text); $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; @@ -130,9 +130,9 @@ class wawi_bestelldetail extends basis_db $detail->artikelnummer = $row->artikelnummer; $detail->preisprove = $row->preisprove; $detail->mwst = $row->mwst; - $detail->erhalten = $row->erhalten; + $detail->erhalten = $this->db_parse_bool($row->erhalten); $detail->sort = $row->sort; - $detail->text = $row->text; + $detail->text = $this->db_parse_bool($row->text); $detail->insertamum = $row->insertamum; $detail->insertvon = $row->insertvon; $detail->updateamum = $row->updateamum; @@ -156,11 +156,11 @@ class wawi_bestelldetail extends basis_db return false; } - $qry = 'DELETE FROM wawi.tbl_bestelldetail WHERE bestelldetail_id ='.$this->addslashes($bestelldetail_id).';'; + $qry = 'DELETE FROM wawi.tbl_bestelldetail WHERE bestelldetail_id ='.$this->db_add_param($bestelldetail_id).';'; if(!$this->db_query($qry)) { - $this->errormsg = 'Fehler beim löschen des Betstelldetails.'; + $this->errormsg = 'Fehler beim Löschen des Betstelldetails.'; return false; } return true; @@ -218,14 +218,14 @@ class wawi_bestelldetail extends basis_db // insert $qry ='BEGIN; INSERT INTO wawi.tbl_bestelldetail (bestellung_id, position, menge, verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, text, insertamum, insertvon, updateamum, updatevon) VALUES ('. - $this->addslashes($this->bestellung_id).', '. - $this->addslashes($this->position).', '. - $this->addslashes($this->menge).', '. - $this->addslashes($this->verpackungseinheit).', '. - $this->addslashes($this->beschreibung).', '. - $this->addslashes($this->artikelnummer).', '. - $this->addslashes($this->preisprove).', '. - $this->addslashes($mwst).', + $this->db_add_param($this->bestellung_id).', '. + $this->db_add_param($this->position).', '. + $this->db_add_param($this->menge).', '. + $this->db_add_param($this->verpackungseinheit).', '. + $this->db_add_param($this->beschreibung).', '. + $this->db_add_param($this->artikelnummer).', '. + $this->db_add_param($this->preisprove).', '. + $this->db_add_param($mwst).', false, '. $this->addslashes($this->sort).', false , '. @@ -239,19 +239,19 @@ class wawi_bestelldetail extends basis_db { // Update $qry = 'UPDATE wawi.tbl_bestelldetail SET - bestellung_id = '.$this->addslashes($this->bestellung_id).', - position = '.$this->addslashes($this->position).', - menge = '.$this->addslashes($this->menge).', - verpackungseinheit = '.$this->addslashes($this->verpackungseinheit).', - beschreibung = '.$this->addslashes($this->beschreibung).', - artikelnummer = '.$this->addslashes($this->artikelnummer).', - preisprove = '.$this->addslashes($this->preisprove).', - mwst = '.$this->addslashes($mwst).', - erhalten = '.($this->erhalten?'true':'false').', - sort = '.$this->addslashes($this->sort).', - text = '.($this->text?'true':'false').', - updateamum = '.$this->addslashes($this->updateamum).', - updatevon = '.$this->addslashes($this->updatevon).' WHERE bestelldetail_id = '.$this->bestelldetail_id.';'; + bestellung_id = '.$this->db_add_param($this->bestellung_id, FHC_INTEGER).', + position = '.$this->db_add_param($this->position).', + menge = '.$this->db_add_param($this->menge).', + verpackungseinheit = '.$this->db_add_param($this->verpackungseinheit).', + beschreibung = '.$this->db_add_param($this->beschreibung).', + artikelnummer = '.$this->db_add_param($this->artikelnummer).', + preisprove = '.$this->db_add_param($this->preisprove).', + mwst = '.$this->db_add_param($mwst).', + erhalten = '.$this->db_add_param($this->erhalten, FHC_BOOLEAN).', + sort = '.$this->db_add_param($this->sort).', + text = '.$this->db_add_param($this->text, FHC_BOOLEAN).', + updateamum = '.$this->db_add_param($this->updateamum).', + updatevon = '.$this->db_add_param($this->updatevon).' WHERE bestelldetail_id = '.$this->db_add_param($this->bestelldetail_id, FHC_INTEGER).';'; } if($this->db_query($qry)) @@ -301,15 +301,18 @@ class wawi_bestelldetail extends basis_db $this->errormsg ='Keine gültige Bestell ID.'; return false; } - $qry = "SELECT * FROM wawi.tbl_bestelldetail + $qry = "SELECT + * + FROM + wawi.tbl_bestelldetail WHERE - bestellung_id = '".$bestell_id."'"; + bestellung_id = ".$this->db_add_param($bestell_id); if(!is_null($filter)) { - $qry.=" AND (lower(beschreibung) like lower('%".addslashes($filter)."%') - OR bestelldetail_id::text like '%".addslashes($filter)."%' - OR artikelnummer like '%".addslashes($filter)."%' + $qry.=" AND (lower(beschreibung) like lower('%".$this->db_escape($filter)."%') + OR bestelldetail_id::text like '%".$this->db_escape($filter)."%' + OR artikelnummer like '%".$this->db_escape($filter)."%' )"; } $qry.=" ORDER BY sort, position;"; @@ -329,9 +332,9 @@ class wawi_bestelldetail extends basis_db $detail->artikelnummer = $row->artikelnummer; $detail->preisprove = $row->preisprove; $detail->mwst = $row->mwst; - $detail->erhalten = $row->erhalten; + $detail->erhalten = $this->db_parse_bool($row->erhalten); $detail->sort = $row->sort; - $detail->text = $row->text; + $detail->text = $this->db_parse_bool($row->text); $detail->insertamum = $row->insertamum; $detail->insertvon = $row->insertvon; $detail->updateamum = $row->updateamum; diff --git a/include/wawi_bestellstatus.class.php b/include/wawi_bestellstatus.class.php index ac4722770..803fda43b 100644 --- a/include/wawi_bestellstatus.class.php +++ b/include/wawi_bestellstatus.class.php @@ -27,21 +27,20 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); class wawi_bestellstatus extends basis_db { - public $new; // bool - public $result = array(); // Aufteilungsobjekt array - - public $bestellung_bestellstatus_id; // integer - public $bestellung_id; - public $bestellstatus_kurzbz; - public $uid; - public $oe_kurzbz; - public $datum; - public $insertvon; - public $insertamum; - public $updatevon; - public $updateamum; - + public $new; + public $result = array(); + public $bestellung_bestellstatus_id; // integer + public $bestellung_id; // integer + public $bestellstatus_kurzbz; // varchar(32) + public $uid; // varchar(32) + public $oe_kurzbz; // varchar(32) + public $datum; // date + public $insertvon; // varchar(32) + public $insertamum; // timestamp + public $updatevon; // varchar(32) + public $updateamum; // timestamp + /** * * Konstruktor @@ -68,7 +67,8 @@ class wawi_bestellstatus extends basis_db return false; } - $qry= "SELECT bestellstatus.* from wawi.tbl_bestellung_bestellstatus as bestellstatus where bestellstatus = ".$this->addslashes($bestellung_bestellstatus_id).";"; + $qry= "SELECT bestellstatus.* FROM wawi.tbl_bestellung_bestellstatus as bestellstatus + WHERE bestellung_bestellstatus_id = ".$this->db_add_param($bestellung_bestellstatus_id).";"; if($this->db_query($qry)) { @@ -100,7 +100,7 @@ class wawi_bestellstatus extends basis_db */ public function getAll() { - $qry = "SELECT bestellstatus.* from wawi.tbl_bestellung_bestellstatus as bestellstatus;"; + $qry = "SELECT bestellstatus.* FROM wawi.tbl_bestellung_bestellstatus as bestellstatus;"; if($this->db_query($qry)) { @@ -153,17 +153,17 @@ class wawi_bestellstatus extends basis_db if($oe_kurzbz!='') { - $status .= " AND oe_kurzbz = ".$this->addslashes($oe_kurzbz); + $status .= " AND oe_kurzbz = ".$this->db_add_param($oe_kurzbz); } if($status_kurzbz!='') { - $status.=" AND bestellstatus_kurzbz = ".$this->addslashes($status_kurzbz); + $status.=" AND bestellstatus_kurzbz = ".$this->db_add_param($status_kurzbz); } $qry = "SELECT bestellstatus.* FROM wawi.tbl_bestellung_bestellstatus as bestellstatus WHERE - bestellung_id = ".$this->addslashes($bestellung_id).$status." + bestellung_id = ".$this->db_add_param($bestellung_id).$status." ORDER BY insertamum LIMIT 1;"; if($this->db_query($qry)) @@ -195,10 +195,17 @@ class wawi_bestellstatus extends basis_db return false; } - $qry = "INSERT INTO wawi.tbl_bestellung_bestellstatus (bestellung_id, bestellstatus_kurzbz, uid, oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum) - VALUES - (".($this->bestellung_id).", ".$this->addslashes($this->bestellstatus_kurzbz).", ".$this->addslashes($this->uid).", ".$this->addslashes($this->oe_kurzbz).", '".($this->datum)."', - ".$this->addslashes($this->insertvon).", ".$this->addslashes($this->insertamum).", ".$this->addslashes($this->updatevon).", ".$this->addslashes($this->updateamum).");"; + $qry = "INSERT INTO wawi.tbl_bestellung_bestellstatus (bestellung_id, bestellstatus_kurzbz, uid, + oe_kurzbz, datum, insertvon, insertamum, updatevon, updateamum) VALUES(". + $this->db_add_param($this->bestellung_id, FHC_INTEGER).", ". + $this->db_add_param($this->bestellstatus_kurzbz).", ". + $this->db_add_param($this->uid).", ". + $this->db_add_param($this->oe_kurzbz).", ". + $this->db_add_param($this->datum).", ". + $this->db_add_param($this->insertvon).", ". + $this->db_add_param($this->insertamum).", ". + $this->db_add_param($this->updatevon).", ". + $this->db_add_param($this->updateamum).");"; if(!$this->db_query($qry)) { @@ -222,9 +229,15 @@ class wawi_bestellstatus extends basis_db return false; } - $qry ="select * from wawi.tbl_bestellung_bestellstatus - WHERE - bestellstatus_kurzbz = ".$this->addslashes($status)." and bestellung_id = ".$this->addslashes($bestellung_id).";"; + $qry =" + SELECT + * + FROM + wawi.tbl_bestellung_bestellstatus + WHERE + bestellstatus_kurzbz=".$this->db_add_param($status)." + AND bestellung_id=".$this->db_add_param($bestellung_id, FHC_INTEGER).";"; + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -258,13 +271,18 @@ class wawi_bestellstatus extends basis_db public function getFreigabeFromBestellung($bestellung_id, $oe_kurzbz='') { if($oe_kurzbz == '') - $oe = 'is '.$this->addslashes($oe_kurzbz); + $oe = ' AND oe_kurzbz is null'; else - $oe = '= '.$this->addslashes($oe_kurzbz); + $oe = ' AND oe_kurzbz= '.$this->db_add_param($oe_kurzbz); - $qry = "Select * FROM wawi.tbl_bestellung_bestellstatus - WHERE - bestellung_id = ".$this->addslashes($bestellung_id)." and oe_kurzbz ".$oe." and bestellstatus_kurzbz = 'Freigabe';"; + $qry = "SELECT + * + FROM + wawi.tbl_bestellung_bestellstatus + WHERE + bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER). + ' '.$oe. + " AND bestellstatus_kurzbz = 'Freigabe';"; if($this->db_query($qry)) { diff --git a/include/wawi_bestellung.class.php b/include/wawi_bestellung.class.php index a2ac1be02..b40e795fc 100644 --- a/include/wawi_bestellung.class.php +++ b/include/wawi_bestellung.class.php @@ -38,7 +38,7 @@ class wawi_bestellung extends basis_db public $firma_id; // int public $lieferadresse; // int public $rechnungsadresse; // int - public $freigegeben; // bool + public $freigegeben=false; // bool public $bestell_nr; // char public $titel; // char public $bemerkung; // char @@ -81,7 +81,7 @@ class wawi_bestellung extends basis_db return false; } - $qry = "SELECT * FROM wawi.tbl_bestellung WHERE bestellung_id = ".addslashes($bestellung_id); + $qry = "SELECT * FROM wawi.tbl_bestellung WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER); if(!$this->db_query($qry)) { @@ -98,7 +98,7 @@ class wawi_bestellung extends basis_db $this->firma_id = $row->firma_id; $this->lieferadresse = $row->lieferadresse; $this->rechnungsadresse = $row->rechnungsadresse; - $this->freigegeben = $row->freigegeben; + $this->freigegeben = $this->db_parse_bool($row->freigegeben); $this->bestell_nr = $row->bestell_nr; $this->titel = $row->titel; $this->bemerkung = $row->bemerkung; @@ -143,7 +143,7 @@ class wawi_bestellung extends basis_db $bestellung->firma_id = $row->firma_id; $bestellung->lieferadresse = $row->lieferadresse; $bestellung->rechnungsadresse = $row->rechnungsadresse; - $bestellung->freigegeben = ($row->freigegeben=='t'?true:false); + $bestellung->freigegeben = $this->db_parse_bool($row->freigegeben); $bestellung->bestell_nr = $row->bestell_nr; $bestellung->titel = $row->titel; $bestellung->bemerkung = $row->bemerkung; @@ -153,7 +153,7 @@ class wawi_bestellung extends basis_db $bestellung->insertamum = $row->insertamum; $bestellung->insertvon = $row->insertvon; $bestellung->ext_id = $row->ext_id; - $bestellung->zahlungstyp_kurzbz = $row->$zahlungstyp_kurzbz; + $bestellung->zahlungstyp_kurzbz = $row->zahlungstyp_kurzbz; $this->result[] = $bestellung; } @@ -197,59 +197,59 @@ class wawi_bestellung extends basis_db // Bestellnummer und Inventarnummer werden durchsucht if ($bestellnr != '') - $qry.= " AND (UPPER(bestellung.bestell_nr) LIKE UPPER('%".addslashes($bestellnr)."%') OR UPPER(betriebsmittel.inventarnummer) LIKE UPPER('%".addslashes($bestellnr)."%'))"; + $qry.= " AND (UPPER(bestellung.bestell_nr) LIKE UPPER('%".$this->db_escape($bestellnr)."%') OR UPPER(betriebsmittel.inventarnummer) LIKE UPPER('%".$this->db_escape($bestellnr)."%'))"; else { if ($titel != '') - $qry.= " AND UPPER(bestellung.titel) LIKE UPPER('%".addslashes($titel)."%')"; + $qry.= " AND UPPER(bestellung.titel) LIKE UPPER('%".$this->db_escape($titel)."%')"; if ($evon != '') - $qry.= ' AND bestellung.insertamum::date >= date('.$this->addslashes($evon).')'; + $qry.= ' AND bestellung.insertamum::date >= date('.$this->db_add_param($evon).')'; if ($ebis != '') - $qry.= ' AND bestellung.insertamum::date <= '.$this->addslashes($ebis); + $qry.= ' AND bestellung.insertamum::date <= '.$this->db_add_param($ebis); if ($bvon != '') - $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' and status.datum > ".$this->addslashes($bvon); + $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' and status.datum > ".$this->db_add_param($bvon); if ($bbis != '') - $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' and status.datum < ".$this->addslashes($bbis); + $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' and status.datum < ".$this->db_add_param($bbis); if ($firma_id != '') - $qry.= ' AND bestellung.firma_id = '.$this->addslashes($firma_id); + $qry.= ' AND bestellung.firma_id = '.$this->db_add_param($firma_id, FHC_INTEGER); if ($filter_firma != '') - $qry.= ' AND bestellung.firma_id = '.$this->addslashes($filter_firma); + $qry.= ' AND bestellung.firma_id = '.$this->db_add_param($filter_firma); if ($oe_kurzbz != '') - $qry.= ' AND orgaeinheit.oe_kurzbz = '.$this->addslashes($oe_kurzbz); + $qry.= ' AND orgaeinheit.oe_kurzbz = '.$this->db_add_param($oe_kurzbz); if ($konto_id != '') - $qry.= ' AND bestellung.konto_id = '.$this->addslashes($konto_id); + $qry.= ' AND bestellung.konto_id = '.$this->db_add_param($konto_id, FHC_INTEGER); if ($mitarbeiter_uid != '') - $qry.= ' AND ( bestellung.updatevon = '.$this->addslashes($mitarbeiter_uid).' OR bestellung.insertvon = '.$this->addslashes($mitarbeiter_uid) - .' OR bestellung.besteller_uid = '.$this->addslashes($mitarbeiter_uid).' )'; + $qry.= ' AND ( bestellung.updatevon = '.$this->db_add_param($mitarbeiter_uid).' OR bestellung.insertvon = '.$this->db_add_param($mitarbeiter_uid) + .' OR bestellung.besteller_uid = '.$this->db_add_param($mitarbeiter_uid).' )'; if($rechnung) $qry.= ' AND not exists (Select bestellung.bestellung_id from wawi.tbl_rechnung rechnung where rechnung.bestellung_id=bestellung.bestellung_id)'; if($kostenstelle_id!='') - $qry.= ' AND kostenstelle_id='.$this->addslashes($kostenstelle_id); + $qry.= ' AND kostenstelle_id='.$this->db_add_param($kostenstelle_id, FHC_INTEGER); if($zahlungstyp!='') - $qry.= ' AND bestellung.zahlungstyp_kurzbz = '.$this->addslashes($zahlungstyp); + $qry.= ' AND bestellung.zahlungstyp_kurzbz = '.$this->db_add_param($zahlungstyp); if($tag!='') - $qry.= ' AND (EXISTS (SELECT 1 FROM wawi.tbl_bestellungtag WHERE tag='.$this->addslashes($tag).' AND bestellung_id=bestellung.bestellung_id) - OR EXISTS (SELECT 1 FROM wawi.tbl_bestelldetailtag JOIN wawi.tbl_bestelldetail USING(bestelldetail_id) WHERE tag='.$this->addslashes($tag).' AND bestellung_id=bestellung.bestellung_id) + $qry.= ' AND (EXISTS (SELECT 1 FROM wawi.tbl_bestellungtag WHERE tag='.$this->db_add_param($tag).' AND bestellung_id=bestellung.bestellung_id) + OR EXISTS (SELECT 1 FROM wawi.tbl_bestelldetailtag JOIN wawi.tbl_bestelldetail USING(bestelldetail_id) WHERE tag='.$this->db_add_param($tag).' AND bestellung_id=bestellung.bestellung_id) )'; if($tagNotExists) $qry.=' AND (NOT EXISTS (SELECT 1 FROM wawi.tbl_bestellungtag WHERE tag is not null AND bestellung_id=bestellung.bestellung_id) AND NOT EXISTS (SELECT 1 FROM wawi.tbl_bestelldetailtag JOIN wawi.tbl_bestelldetail USING(bestelldetail_id) WHERE tag is not null AND bestellung_id=bestellung.bestellung_id) )'; if($bestellposition!='') - $qry.=" AND EXISTS (SELECT 1 FROM wawi.tbl_bestelldetail where UPPER(beschreibung) LIKE UPPER('%".addslashes($bestellposition)."%') AND bestellung_id=bestellung.bestellung_id)"; + $qry.=" AND EXISTS (SELECT 1 FROM wawi.tbl_bestelldetail where UPPER(beschreibung) LIKE UPPER('%".$this->db_escape($bestellposition)."%') AND bestellung_id=bestellung.bestellung_id)"; if($ohneFreigabe) $qry.=" AND bestellung.freigegeben = 'false'"; @@ -271,7 +271,7 @@ class wawi_bestellung extends basis_db $bestellung->firma_id = $row->firma_id; $bestellung->lieferadresse = $row->lieferadresse; $bestellung->rechnungsadresse = $row->rechnungsadresse; - $bestellung->freigegeben = $row->freigegeben; + $bestellung->freigegeben = $this->db_parse_bool($row->freigegeben); $bestellung->bestell_nr = $row->bestell_nr; $bestellung->titel = $row->titel; $bestellung->bemerkung = $row->bemerkung; @@ -294,12 +294,14 @@ class wawi_bestellung extends basis_db * @param $filter */ public function getBestellung($filter) - { - $filter = addslashes($filter); - - $qry = "SELECT * FROM wawi.tbl_bestellung WHERE - bestellung_id::text like '%$filter%' OR - lower(bestell_nr) like lower('%$filter%')"; + { + $qry = "SELECT + * + FROM + wawi.tbl_bestellung + WHERE + bestellung_id::text LIKE '%".$this->db_escape($filter)."%' + OR lower(bestell_nr) LIKE lower('%".$this->db_escape($filter)."%')"; if($result = $this->db_query($qry)) { @@ -313,7 +315,7 @@ class wawi_bestellung extends basis_db $bestellung->firma_id = $row->firma_id; $bestellung->lieferadresse = $row->lieferadresse; $bestellung->rechnungsadresse = $row->rechnungsadresse; - $bestellung->freigegeben = $row->freigegeben; + $bestellung->freigegeben = $this->db_parse_bool($row->freigegeben); $bestellung->bestell_nr = $row->bestell_nr; $bestellung->titel = $row->titel; $bestellung->bemerkung = $row->bemerkung; @@ -344,8 +346,12 @@ class wawi_bestellung extends basis_db */ public function getBestellungProjekt($projekt_kurzbz) { - //$projekt_kurzbz = addslashes($projekt_kurzbz); - $qry = "SELECT * FROM wawi.tbl_bestellung JOIN wawi.tbl_projekt_bestellung USING (bestellung_id) WHERE projekt_kurzbz='".$projekt_kurzbz."';"; + $qry = "SELECT + * + FROM + wawi.tbl_bestellung + JOIN wawi.tbl_projekt_bestellung USING (bestellung_id) + WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz).";"; if($result = $this->db_query($qry)) { @@ -359,7 +365,7 @@ class wawi_bestellung extends basis_db $bestellung->firma_id = $row->firma_id; $bestellung->lieferadresse = $row->lieferadresse; $bestellung->rechnungsadresse = $row->rechnungsadresse; - $bestellung->freigegeben = $row->freigegeben; + $bestellung->freigegeben = $this->db_parse_bool($row->freigegeben); $bestellung->bestell_nr = $row->bestell_nr; $bestellung->titel = $row->titel; $bestellung->bemerkung = $row->bemerkung; @@ -390,15 +396,15 @@ class wawi_bestellung extends basis_db { if(!is_numeric($bestellung_id)) { - $this->errormsg = "Keine gültige Bestell ID"; + $this->errormsg = 'Keine gültige Bestell ID'; return false; } - $qry ="DELETE FROM wawi.tbl_bestellung WHERE bestellung_id = ".addslashes($bestellung_id); + $qry ="DELETE FROM wawi.tbl_bestellung WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER); if(!$this->db_query($qry)) { - $this->errormsg ="Fehler beim Löschen der Bestell ID $bestellung_id aufgetreten."; + $this->errormsg ="Fehler beim Löschen der Bestell aufgetreten."; return false; } return true; @@ -464,56 +470,52 @@ class wawi_bestellung extends basis_db */ public function save() { - /*if(!$this->validate()) - return false; */ + if(!$this->validate()) + return false; if($this->new) - { - if($this->freigegeben === false) - $freigegeben_new = 'false'; - else - $freigegeben_new = 'true'; - + { $qry = 'BEGIN; INSERT INTO wawi.tbl_bestellung (besteller_uid, kostenstelle_id, konto_id, firma_id, lieferadresse, rechnungsadresse, freigegeben, bestell_nr, titel, bemerkung, liefertermin, updateamum, updatevon, insertamum, insertvon, ext_id, zahlungstyp_kurzbz) VALUES ('. - $this->addslashes($this->besteller_uid).', '. - $this->addslashes($this->kostenstelle_id).', '. - $this->addslashes($this->konto_id).', '. - $this->addslashes($this->firma_id).', '. - $this->addslashes($this->lieferadresse).', '. - $this->addslashes($this->rechnungsadresse).', '. - $freigegeben_new.','. - $this->addslashes($this->bestell_nr).', '. - $this->addslashes($this->titel).', '. - $this->addslashes($this->bemerkung).', '. - $this->addslashes($this->liefertermin).', '. - $this->addslashes($this->updateamum).', '. - $this->addslashes($this->updatevon).', '. - $this->addslashes($this->insertamum).', '. - $this->addslashes($this->insertvon).', '. - $this->addslashes($this->ext_id).', '. - $this->addslashes($this->zahlungstyp_kurzbz).')'; + $this->db_add_param($this->besteller_uid).', '. + $this->db_add_param($this->kostenstelle_id, FHC_INTEGER).', '. + $this->db_add_param($this->konto_id, FHC_INTEGER).', '. + $this->db_add_param($this->firma_id, FHC_INTEGER).', '. + $this->db_add_param($this->lieferadresse).', '. + $this->db_add_param($this->rechnungsadresse).', '. + $this->db_add_param($this->freigegeben, FHC_BOOLEAN).','. + $this->db_add_param($this->bestell_nr).', '. + $this->db_add_param($this->titel).', '. + $this->db_add_param($this->bemerkung).', '. + $this->db_add_param($this->liefertermin).', '. + $this->db_add_param($this->updateamum).', '. + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->insertamum).', '. + $this->db_add_param($this->insertvon).', '. + $this->db_add_param($this->ext_id).', '. + $this->db_add_param($this->zahlungstyp_kurzbz).')'; } else { //UPDATE $qry = 'UPDATE wawi.tbl_bestellung SET - besteller_uid = '.$this->addslashes($this->besteller_uid).', - kostenstelle_id = '.$this->addslashes($this->kostenstelle_id).', - konto_id = '.$this->addslashes($this->konto_id).', - firma_id = '.$this->addslashes($this->firma_id).', - lieferadresse = '.$this->addslashes($this->lieferadresse).', - rechnungsadresse = '.$this->addslashes($this->rechnungsadresse).', - freigegeben = '.$this->addslashes($this->freigegeben).', - bestell_nr = '.$this->addslashes($this->bestell_nr).', - titel = '.$this->addslashes($this->titel).', - bemerkung = '.$this->addslashes($this->bemerkung).', - liefertermin = '.$this->addslashes($this->liefertermin).', - updateamum = '.$this->addslashes($this->updateamum).', - updatevon ='.$this->addslashes($this->updatevon).', - ext_id ='.$this->addslashes($this->ext_id).', - zahlungstyp_kurzbz = '.$this->addslashes($this->zahlungstyp_kurzbz).' WHERE bestellung_id = '.$this->bestellung_id.';'; + besteller_uid = '.$this->db_add_param($this->besteller_uid).', + kostenstelle_id = '.$this->db_add_param($this->kostenstelle_id, FHC_INTEGER).', + konto_id = '.$this->db_add_param($this->konto_id, FHC_INTEGER).', + firma_id = '.$this->db_add_param($this->firma_id, FHC_INTEGER).', + lieferadresse = '.$this->db_add_param($this->lieferadresse).', + rechnungsadresse = '.$this->db_add_param($this->rechnungsadresse).', + freigegeben = '.$this->db_add_param($this->freigegeben, FHC_BOOLEAN).', + bestell_nr = '.$this->db_add_param($this->bestell_nr).', + titel = '.$this->db_add_param($this->titel).', + bemerkung = '.$this->db_add_param($this->bemerkung).', + liefertermin = '.$this->db_add_param($this->liefertermin).', + updateamum = '.$this->db_add_param($this->updateamum).', + updatevon ='.$this->db_add_param($this->updatevon).', + ext_id ='.$this->db_add_param($this->ext_id).', + zahlungstyp_kurzbz = '.$this->db_add_param($this->zahlungstyp_kurzbz).' + WHERE bestellung_id = '.$this->db_add_param($this->bestellung_id, FHC_INTEGER, false).';'; } if($this->db_query($qry)) { @@ -549,6 +551,7 @@ class wawi_bestellung extends basis_db } return $this->bestellung_id; } + /** * * Rechnet den Bruttopreis einer Rechnung aus, false im Fehlerfall @@ -563,14 +566,21 @@ class wawi_bestellung extends basis_db } $brutto = 0; - $qry_brutto= "select sum(brutto) as brutto - from - (select detail.menge, detail.preisprove, detail.mwst, sum(detail.menge * detail.preisprove) * ((100+COALESCE(detail.mwst,0))/100) as brutto - from + $qry_brutto= " + SELECT + sum(brutto) as brutto + FROM + (SELECT + detail.menge, detail.preisprove, detail.mwst, + sum(detail.menge * detail.preisprove) * ((100+COALESCE(detail.mwst,0))/100) as brutto + FROM wawi.tbl_bestellung as bestellung, wawi.tbl_bestelldetail as detail - where - bestellung.bestellung_id = detail.bestellung_id and bestellung.bestellung_id =".$bestellung_id." group by detail.menge, detail.preisprove, detail.mwst) as b;"; - + WHERE + bestellung.bestellung_id = detail.bestellung_id + AND bestellung.bestellung_id =".$this->db_add_param($bestellung_id, FHC_INTEGER)." + GROUP BY detail.menge, detail.preisprove, detail.mwst + ) as b;"; + if($this->db_query($qry_brutto)) { if($row = $this->db_fetch_object()) @@ -603,9 +613,14 @@ class wawi_bestellung extends basis_db $bestellung_id = array(); $brutto = 0; - $qry = "select bestellung.bestellung_id, bestellung.kostenstelle_id - FROM wawi.tbl_bestellung bestellung where bestellung.kostenstelle_id = '$kostenstelle_id' - AND bestellung.insertamum >= '$start' and bestellung.insertamum <= '$ende' "; + $qry = "SELECT + bestellung.bestellung_id, bestellung.kostenstelle_id + FROM + wawi.tbl_bestellung bestellung + WHERE + bestellung.kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER)." + AND bestellung.insertamum >= ".$this->db_add_param($start)." + AND bestellung.insertamum <= ".$this->db_add_param($ende).';'; if($this->db_query($qry)) { @@ -647,11 +662,14 @@ class wawi_bestellung extends basis_db $this->db_query('BEGIN;'); // Bestellung kopieren - $qry_bestellung = "INSERT INTO wawi.tbl_bestellung (bestellung_id, besteller_uid, kostenstelle_id, konto_id, firma_id, lieferadresse, rechnungsadresse, zahlungstyp_kurzbz, freigegeben, bestell_nr, - titel, bemerkung, liefertermin, updateamum, updatevon, insertamum, insertvon, ext_id) SELECT - nextval('wawi.seq_bestellung_bestellung_id'), ".$this->addslashes($user).", kostenstelle_id, konto_id, firma_id, lieferadresse, - rechnungsadresse, zahlungstyp_kurzbz, 'false', '$newBestellNummer', titel, bemerkung, liefertermin, now(), ".$this->addslashes($user).", now(), ".$this->addslashes($user).", ext_id FROM wawi.tbl_bestellung WHERE - bestellung_id = ".$bestellung_id.";"; + $qry_bestellung = "INSERT INTO wawi.tbl_bestellung (bestellung_id, besteller_uid, kostenstelle_id, + konto_id, firma_id, lieferadresse, rechnungsadresse, zahlungstyp_kurzbz, freigegeben, bestell_nr, + titel, bemerkung, liefertermin, updateamum, updatevon, insertamum, insertvon, ext_id) + SELECT nextval('wawi.seq_bestellung_bestellung_id'), ".$this->db_add_param($user).", + kostenstelle_id, konto_id, firma_id, lieferadresse, rechnungsadresse, zahlungstyp_kurzbz, 'false', + ".$this->db_add_param($newBestellNummer).", titel, bemerkung, liefertermin, now(), + ".$this->db_add_param($user).", now(), ".$this->db_add_param($user).", ext_id + FROM wawi.tbl_bestellung WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).';'; if(!$this->db_query($qry_bestellung)) $error = true; @@ -674,10 +692,14 @@ class wawi_bestellung extends basis_db // Bestelldetails kopieren foreach ($bestelldetail->result as $detail) { - $qry_detail ="INSERT INTO wawi.tbl_bestelldetail (bestellung_id, position, menge, verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, - text, insertamum, insertvon, updateamum, updatevon) SELECT $newBestellung_id, position, menge, verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, - text, now(), ".$this->addslashes($user).", now(), ".$this->addslashes($user)." FROM wawi.tbl_bestelldetail - WHERE bestelldetail_id = ".$detail->bestelldetail_id.";"; + $qry_detail ="INSERT INTO wawi.tbl_bestelldetail (bestellung_id, position, menge, + verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, + text, insertamum, insertvon, updateamum, updatevon) + SELECT ".$this->db_add_param($newBestellung_id, FHC_INTEGER).", position, menge, + verpackungseinheit, beschreibung, artikelnummer, preisprove, mwst, erhalten, sort, + text, now(), ".$this->db_add_param($user).", now(), ".$this->db_add_param($user)." + FROM wawi.tbl_bestelldetail WHERE bestelldetail_id = ".$this->db_add_param($detail->bestelldetail_id).';'; + if (!$this->db_query($qry_detail)) $error = true; @@ -697,8 +719,9 @@ class wawi_bestellung extends basis_db // zugehörigen TAG kopieren $qry_detailtag = "INSERT INTO wawi.tbl_bestelldetailtag (tag, bestelldetail_id, insertamum, insertvon) - SELECT tag, ".$this->addslashes($newBestellDetail_id).", now(), ".$this->addslashes($user)." FROM wawi.tbl_bestelldetailtag - WHERE bestelldetail_id = ".$this->addslashes($detail->bestelldetail_id).";"; + SELECT tag, ".$this->db_add_param($newBestellDetail_id, FHC_INTEGER).", now(), ". + $this->db_add_param($user)." FROM wawi.tbl_bestelldetailtag + WHERE bestelldetail_id = ".$this->db_add_param($detail->bestelldetail_id, FHC_INTEGER).';'; if (!$this->db_query($qry_detailtag)) $error = true; @@ -706,20 +729,24 @@ class wawi_bestellung extends basis_db } // aufteilung kopieren - $qry_aufteilung = "INSERT INTO wawi.tbl_aufteilung (bestellung_id, oe_kurzbz, anteil, updateamum, updatevon, insertamum, insertvon) - SELECT ".$this->addslashes($newBestellung_id)." , oe_kurzbz, anteil, updateamum, updatevon, now(), ".$this->addslashes($user)." FROM wawi.tbl_aufteilung WHERE bestellung_id = ".$bestellung_id.";"; + $qry_aufteilung = "INSERT INTO wawi.tbl_aufteilung (bestellung_id, oe_kurzbz, anteil, updateamum, + updatevon, insertamum, insertvon) SELECT ".$this->db_add_param($newBestellung_id, FHC_INTEGER)." + , oe_kurzbz, anteil, updateamum, updatevon, now(), ".$this->db_add_param($user)." + FROM wawi.tbl_aufteilung WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).";"; if (!$this->db_query($qry_aufteilung)) $error = true; // projekt bestellung kopieren - $qry_project ="INSERT INTO wawi.tbl_projekt_bestellung (projekt_kurzbz, bestellung_id, anteil) SELECT projekt_kurzbz, ".$this->addslashes($newBestellung_id).", anteil - from wawi.tbl_projekt_bestellung WHERE bestellung_id = ".$bestellung_id.";"; + $qry_project ="INSERT INTO wawi.tbl_projekt_bestellung (projekt_kurzbz, bestellung_id, anteil) + SELECT projekt_kurzbz, ".$this->db_add_param($newBestellung_id, FHC_INTEGER).", anteil + FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).";"; if (!$this->db_query($qry_project)) $error = true; // bestelltag kopieren - $qry_bestelltag ="INSERT INTO wawi.tbl_bestellungtag (tag, bestellung_id, insertamum, insertvon) SELECT tag, ".$this->addslashes($newBestellung_id).", now(), ".$this->addslashes($user)." - from wawi.tbl_bestellungtag WHERE bestellung_id = ".$bestellung_id.";"; + $qry_bestelltag ="INSERT INTO wawi.tbl_bestellungtag (tag, bestellung_id, insertamum, insertvon) + SELECT tag, ".$this->db_add_param($newBestellung_id, FHC_INTEGER).", now(), ".$this->db_add_param($user)." + FROM wawi.tbl_bestellungtag WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).";"; if (!$this->db_query($qry_bestelltag)) $error = true; @@ -737,13 +764,19 @@ class wawi_bestellung extends basis_db /** * - * Liefert die oe_kurzbz einer bestellung zurück. JOIN über Kostenstelle + * Liefert die oe_kurzbz einer Bestellung zurück. JOIN über Kostenstelle + * @return oe_kurzbz der Bestellung oder false im Fehlerfall */ public function getOe() { - $qry = "select kostenstelle.oe_kurzbz - from wawi.tbl_kostenstelle as kostenstelle, wawi.tbl_bestellung as bestellung - where bestellung.kostenstelle_id = kostenstelle.kostenstelle_id and bestellung.bestellung_id = ".$this->bestellung_id.";"; + $qry = "SELECT + kostenstelle.oe_kurzbz + FROM + wawi.tbl_kostenstelle as kostenstelle, + wawi.tbl_bestellung as bestellung + WHERE + bestellung.kostenstelle_id = kostenstelle.kostenstelle_id + AND bestellung.bestellung_id = ".$this->db_add_param($this->bestellung_id, FHC_INTEGER).";"; if($this->db_query($qry)) { @@ -763,6 +796,7 @@ class wawi_bestellung extends basis_db /** * * Gibt alle OEs zurück die freigegeben werden müssen + * @return Array von oe_kurzbz oder false im Fehlerfall */ public function FreigabeOe($bestellung_id) { @@ -786,14 +820,14 @@ class wawi_bestellung extends basis_db $qry = "WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz, freigabegrenze) as ( SELECT oe_kurzbz, oe_parent_kurzbz, freigabegrenze FROM public.tbl_organisationseinheit - WHERE oe_kurzbz='".addslashes($oe_bestellung)."' and aktiv = true + WHERE oe_kurzbz=".$this->db_add_param($oe_bestellung)." and aktiv = true UNION ALL SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.freigabegrenze FROM public.tbl_organisationseinheit o, oes WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true ) SELECT oe_kurzbz FROM oes - WHERE freigabegrenze<='$brutto' + WHERE freigabegrenze<=".$this->db_add_param($brutto)." GROUP BY oe_kurzbz,freigabegrenze ORDER BY freigabegrenze"; if($this->db_query($qry)) @@ -817,11 +851,11 @@ class wawi_bestellung extends basis_db { if(!is_numeric($bestellung_id)) { - $this->errormsg = "Keine gültige Bestell ID"; + $this->errormsg = 'Keine gültige Bestell ID'; return false; } - $qry = "SELECT * FROM wawi.tbl_rechnung WHERE bestellung_id = ".$bestellung_id.";"; + $qry = "SELECT * FROM wawi.tbl_rechnung WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).';'; if($this->db_query($qry)) { @@ -849,13 +883,14 @@ class wawi_bestellung extends basis_db return false; } - $qry = "UPDATE wawi.tbl_bestellung SET bestell_nr = '".$bestellnr."' where bestellung_id = '".$bestellung_id."';"; + $qry = "UPDATE wawi.tbl_bestellung SET bestell_nr = ".$this->db_add_param($bestellnr)." + WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).';'; if($this->db_query($qry)) return true; else { - $this->errormsg ="Fehler beim Setzen von Freigegeben"; + $this->errormsg ="Fehler beim Aendern der Bestellnummer"; return false; } } @@ -864,8 +899,9 @@ class wawi_bestellung extends basis_db /** * - * Enter description here ... - * @param unknown_type $bestellung_id + * Setzt die Freigabe einer Bestellung + * @param $bestellung_id + * @return true wenn ok, sonst false */ public function SetFreigegeben($bestellung_id) { @@ -875,7 +911,8 @@ class wawi_bestellung extends basis_db return false; } - $qry = "UPDATE wawi.tbl_bestellung SET freigegeben = true where bestellung_id = ".$bestellung_id.";"; + $qry = "UPDATE wawi.tbl_bestellung SET freigegeben = true + WHERE bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).';'; if($this->db_query($qry)) return true; @@ -890,7 +927,7 @@ class wawi_bestellung extends basis_db * * Gibt alle Bestellungen zurück die im Zeitraum zwischen max und min liegen und einen abgeschickt status und keinen Bestellstatus besitzen * @param $min in wochen - * @param $max in wochen + * @param $max in wochen */ public function loadBestellungForCheck($min, $max) { @@ -900,16 +937,34 @@ class wawi_bestellung extends basis_db return false; } - $qry ="SELECT * FROM wawi.tbl_bestellung WHERE bestellung_id IN( - select b.bestellung_id - from wawi.tbl_bestellung as b - left join wawi.tbl_bestellung_bestellstatus as s using (bestellung_id) - where - b.bestellung_id not in - (SELECT bestellung_id FROM wawi.tbl_bestellung_bestellstatus where bestellung_id=b.bestellung_id AND bestellstatus_kurzbz ='Bestellung') and (bestellstatus_kurzbz = ('Abgeschickt') OR bestellstatus_kurzbz = ('Freigegeben')) - and b.bestellung_id = b.bestellung_id and b.insertamum <= CURRENT_DATE - '".$min." week'::interval AND b.insertamum > CURRENT_DATE - '".$max." week'::interval - ) - order by bestellung_id"; + $qry =" + SELECT + * + FROM + wawi.tbl_bestellung + WHERE + bestellung_id IN( + SELECT + b.bestellung_id + FROM + wawi.tbl_bestellung as b + LEFT JOIN wawi.tbl_bestellung_bestellstatus as s using (bestellung_id) + WHERE + b.bestellung_id NOT IN ( + SELECT + bestellung_id + FROM + wawi.tbl_bestellung_bestellstatus + WHERE + bestellung_id=b.bestellung_id + AND bestellstatus_kurzbz ='Bestellung' + ) + AND (bestellstatus_kurzbz = ('Abgeschickt') OR bestellstatus_kurzbz = ('Freigegeben')) + AND b.bestellung_id = b.bestellung_id + AND b.insertamum <= CURRENT_DATE - '".$this->db_escape($min)." week'::interval + AND b.insertamum > CURRENT_DATE - '".$this->db_escape($max)." week'::interval + ) + ORDER BY bestellung_id"; if($result = $this->db_query($qry)) { @@ -928,7 +983,7 @@ class wawi_bestellung extends basis_db $bestellung->konto_id = $row->konto_id; $bestellung->rechnungsadresse = $row->rechnungsadresse; $bestellung->firma_id = $row->firma_id; - $bestellung->freigegeben = ($row->freigegeben=='t'?true:false); + $bestellung->freigegeben = $this->db_parse_bool($row->freigegeben); $bestellung->updateamum = $row->updateamum; $bestellung->updatevon = $row->updatevon; $bestellung->insertamum = $row->insertamum; @@ -953,11 +1008,18 @@ class wawi_bestellung extends basis_db */ public function loadBestellungNichtGeliefert() { - $qry ="SELECT * FROM wawi.tbl_bestellung b WHERE - EXISTS (SELECT bestellung_id FROM wawi.tbl_bestellung_bestellstatus where bestellung_id=b.bestellung_id AND bestellstatus_kurzbz ='Bestellung') - AND NOT EXISTS (SELECT bestellung_id FROM wawi.tbl_bestellung_bestellstatus where bestellung_id=b.bestellung_id AND bestellstatus_kurzbz ='Lieferung') - AND b.insertamum>CURRENT_DATE - '1 year'::interval - order by bestellung_id"; + $qry =" + SELECT + * + FROM + wawi.tbl_bestellung b + WHERE + EXISTS (SELECT bestellung_id FROM wawi.tbl_bestellung_bestellstatus + WHERE bestellung_id=b.bestellung_id AND bestellstatus_kurzbz ='Bestellung') + AND NOT EXISTS (SELECT bestellung_id FROM wawi.tbl_bestellung_bestellstatus + WHERE bestellung_id=b.bestellung_id AND bestellstatus_kurzbz ='Lieferung') + AND b.insertamum>CURRENT_DATE - '1 year'::interval + ORDER BY bestellung_id"; if($result = $this->db_query($qry)) { @@ -976,7 +1038,7 @@ class wawi_bestellung extends basis_db $bestellung->konto_id = $row->konto_id; $bestellung->rechnungsadresse = $row->rechnungsadresse; $bestellung->firma_id = $row->firma_id; - $bestellung->freigegeben = ($row->freigegeben=='t'?true:false); + $bestellung->freigegeben = $this->db_parse_bool($row->freigegeben); $bestellung->updateamum = $row->updateamum; $bestellung->updatevon = $row->updatevon; $bestellung->insertamum = $row->insertamum; @@ -1007,7 +1069,13 @@ class wawi_bestellung extends basis_db return false; } - $qry = "SELECT * FROM wawi.tbl_bestellung WHERE freigegeben = true AND bestellung_id = ".$bestellung_id.";"; + $qry = "SELECT + * + FROM + wawi.tbl_bestellung + WHERE + freigegeben = true + AND bestellung_id = ".$this->db_add_param($bestellung_id, FHC_INTEGER).";"; if($this->db_query($qry)) { @@ -1034,7 +1102,7 @@ class wawi_bestellung extends basis_db // Wenn keine ProjektKurzbz übergeben wurde Lösche die Zuteilung if($projektKurzbz == '') { - $qry = "DELETE FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = '".addslashes($bestellungID)."';"; + $qry = "DELETE FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = ".$this->db_add_param($bestellungID, FHC_INTEGER).";"; if($this->db_query($qry)) { return true; @@ -1047,15 +1115,15 @@ class wawi_bestellung extends basis_db } else { - $qry1 = "SELECT 1 FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = '".addslashes($bestellungID)."';"; + $qry1 = "SELECT 1 FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = ".$this->db_add_param($bestellungID, FHC_INTEGER).";"; if($this->db_query($qry1)) { if($row = $this->db_fetch_object()) { // es gibt eine Zuordnung -> UPDATE - $qry ="UPDATE wawi.tbl_projekt_bestellung SET projekt_kurzbz = '".addslashes($projektKurzbz)."' - WHERE bestellung_id = '".addslashes($bestellungID)."';"; + $qry ="UPDATE wawi.tbl_projekt_bestellung SET projekt_kurzbz = ".$this->db_add_param($projektKurzbz)." + WHERE bestellung_id = ".$this->db_add_param($bestellungID, FHC_INTEGER).";"; if($this->db_query($qry)) { @@ -1070,7 +1138,8 @@ class wawi_bestellung extends basis_db else { // gibt noch keine Zuordnung -> INSERT - $qry ="INSERT INTO wawi.tbl_projekt_bestellung (projekt_kurzbz, bestellung_id, anteil) VALUES ('".addslashes($projektKurzbz)."', '".addslashes($bestellungID)."', '100');"; + $qry ="INSERT INTO wawi.tbl_projekt_bestellung (projekt_kurzbz, bestellung_id, anteil) + VALUES (".$this->db_add_param($projektKurzbz).", ".$this->db_add_param($bestellungID, FHC_INTEGER).", '100');"; if($this->db_query($qry)) { @@ -1100,8 +1169,8 @@ class wawi_bestellung extends basis_db wawi.tbl_kostenstelle JOIN public.tbl_organisationseinheit USING(oe_kurzbz) WHERE - kostenstelle_id='".addslashes($kostenstelle_id)."';"; - + kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";"; + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -1125,7 +1194,8 @@ class wawi_bestellung extends basis_db $akt_year=substr($akt_year,2,2); $kuerzel = $kurzzeichen.$akt_year.$kostenstelle_kz.'___'; - $qry = "SELECT max(substr(bestell_nr,length(bestell_nr)-2)) FROM wawi.tbl_bestellung WHERE wawi.tbl_bestellung.bestell_nr LIKE '$kuerzel';"; + $qry = "SELECT max(substr(bestell_nr,length(bestell_nr)-2)) FROM wawi.tbl_bestellung + WHERE wawi.tbl_bestellung.bestell_nr LIKE ".$this->db_add_param($kuerzel).";"; if($this->db_query($qry)) { diff --git a/include/wawi_konto.class.php b/include/wawi_konto.class.php index 5d50f0530..607ae1b44 100644 --- a/include/wawi_konto.class.php +++ b/include/wawi_konto.class.php @@ -75,9 +75,10 @@ class wawi_konto extends basis_db $this->errormsg = 'Konto_id muss eine Zahl sein'; return false; } + $sprache = new sprache(); + $beschreibung = $sprache->getSprachQuery('beschreibung'); - $qry_beschreibung = $this->getBezeichnungString('select'); - $qry = "SELECT *, $qry_beschreibung FROM wawi.tbl_konto WHERE konto_id='".addslashes($konto_id)."'"; + $qry = "SELECT *, $beschreibung FROM wawi.tbl_konto WHERE konto_id=".$this->db_add_param($konto_id).';'; if(!$this->db_query($qry)) { @@ -87,18 +88,10 @@ class wawi_konto extends basis_db if($row = $this->db_fetch_object()) { $this->konto_id = $row->konto_id; - $this->kontonr = $row->kontonr; - $i = 1; - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $this->beschreibung[$s->index] = $row->{'beschreibung'.$s->index}; - } - $i++; - } + $this->kontonr = $row->kontonr; + $this->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $this->kurzbz = $row->kurzbz; - $this->aktiv = ($row->aktiv=='t'?true:false); + $this->aktiv = $this->db_parse_bool($row->aktiv); $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; @@ -119,14 +112,16 @@ class wawi_konto extends basis_db * @param $order Sortierreihenfolge * @return true wenn ok, false im Fehlerfall */ - public function getAll($aktiv=null, $order='beschreibung ASC') + public function getAll($aktiv=null, $order='kurzbz ASC') { - $qry_beschreibung = $this->getBezeichnungString('select'); - $qry = "SELECT *, $qry_beschreibung FROM wawi.tbl_konto"; + $sprache = new sprache(); + $beschreibung = $sprache->getSprachQuery('beschreibung'); + + $qry = "SELECT *, $beschreibung FROM wawi.tbl_konto"; if(!is_null($aktiv)) { - $qry.=' WHERE aktiv='.($aktiv?'true':'false'); + $qry.=' WHERE aktiv='.$this->db_add_param($aktiv, FHC_BOOLEAN); } if($order!='') @@ -144,19 +139,9 @@ class wawi_konto extends basis_db $obj->konto_id = $row->konto_id; $obj->kontonr = $row->kontonr; - - $i = 1; - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $obj->beschreibung[$s->index] = $row->{'beschreibung'.$s->index}; - } - $i++; - } - + $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $obj->kurzbz = $row->kurzbz; - $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; @@ -225,45 +210,61 @@ class wawi_konto extends basis_db //Variablen pruefen if(!$this->validate()) return false; - + + $sprache = new sprache(); + $sprache->loadIndexArray(); + if($this->new) { - $qry_beschreibung = $this->getBezeichnungString('insert'); - //Neuen Datensatz einfuegen - $qry='BEGIN;INSERT INTO wawi.tbl_konto (kontonr, beschreibung, kurzbz, aktiv, insertamum, + $qry='BEGIN;INSERT INTO wawi.tbl_konto (kontonr, '; + foreach($this->beschreibung as $key=>$value) + { + $idx = sprache::$index_arr[$key]; + $qry.=" beschreibung[$idx],"; + } + $qry.=' kurzbz, aktiv, insertamum, insertvon, updateamum, updatevon) VALUES('. - $this->addslashes($this->kontonr).', '. - "ARRAY[$qry_beschreibung],". - $this->addslashes($this->kurzbz).', '. - ($this->aktiv?'true':'false').', '. - $this->addslashes($this->insertamum).', '. - $this->addslashes($this->insertvon).', '. - $this->addslashes($this->updateamum).', '. - $this->addslashes($this->updatevon).');'; + $this->db_add_param($this->kontonr).', '; + + reset($this->beschreibung); + foreach($this->beschreibung as $key=>$value) + $qry.=$this->db_add_param($value).','; + + $qry.=$this->db_add_param($this->kurzbz).', '. + $this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. + $this->db_add_param($this->insertamum).', '. + $this->db_add_param($this->insertvon).', '. + $this->db_add_param($this->updateamum).', '. + $this->db_add_param($this->updatevon).');'; } else { //Pruefen ob konto_id eine gueltige Zahl ist if(!is_numeric($this->konto_id)) { - $this->errormsg = 'konto_id muss eine gültige Zahl sein: '.$this->konto_id."\n"; + $this->errormsg = 'konto_id muss eine gültige Zahl sein'; return false; } - $qry_beschreibung = $this->getBezeichnungString('update'); - + $qry='UPDATE wawi.tbl_konto SET'. - ' kontonr='.$this->addslashes($this->kontonr).', '. - $qry_beschreibung. - ' kurzbz='.$this->addslashes($this->kurzbz).', '. - ' aktiv='.($this->aktiv?'true':'false').', '. - ' insertamum='.$this->addslashes($this->insertamum).', '. - ' insertvon='.$this->addslashes($this->insertvon).', '. - ' updateamum='.$this->addslashes($this->updateamum).', '. - ' updatevon='.$this->addslashes($this->updatevon).' '. - ' WHERE konto_id='.$this->konto_id.';'; + ' kontonr='.$this->db_add_param($this->kontonr).', '; + + reset($this->beschreibung); + foreach($this->beschreibung as $key=>$value) + { + $idx = sprache::$index_arr[$key]; + $qry.=' beschreibung['.$idx.'] = '.$this->db_add_param($value).','; + } + + $qry.=' kurzbz='.$this->db_add_param($this->kurzbz).', '. + ' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. + ' insertamum='.$this->db_add_param($this->insertamum).', '. + ' insertvon='.$this->db_add_param($this->insertvon).', '. + ' updateamum='.$this->db_add_param($this->updateamum).', '. + ' updatevon='.$this->db_add_param($this->updatevon).' '. + ' WHERE konto_id='.$this->db_add_param($this->konto_id, FHC_INTEGER).';'; } - echo $qry; if($this->db_query($qry)) { @@ -316,14 +317,14 @@ class wawi_konto extends basis_db return false; } - $qry="DELETE FROM wawi.tbl_konto WHERE konto_id='".addslashes($konto_id)."';"; + $qry="DELETE FROM wawi.tbl_konto WHERE konto_id=".$this->db_add_param($konto_id, FHC_INTEGER).';'; if($this->db_query($qry)) { return true; } else { - $this->errormsg = 'Fehler beim Löschen der Daten'."\n"; + $this->errormsg = 'Fehler beim Löschen der Daten'; return false; } } @@ -336,18 +337,19 @@ class wawi_konto extends basis_db */ public function getKonto($filter, $order='konto_id') { - $qry_beschreibung = $this->getBezeichnungString('select'); + $sprache = new sprache(); + $beschreibung = $sprache->getSprachQuery('beschreibung'); $sql_query = "SELECT - *, $qry_beschreibung + *, $beschreibung FROM wawi.tbl_konto"; if($filter!='') { - $sql_query.=" where lower(beschreibung[1]) LIKE lower('%".addslashes($filter)."%') OR - lower(kontonr) LIKE lower('%".addslashes($filter)."%') OR - lower(kurzbz) LIKE lower('%".addslashes($filter)."%')"; + $sql_query.=" WHERE lower(beschreibung[1]) LIKE lower('%".$this->db_escape($filter)."%') OR + lower(kontonr) LIKE lower('%".$this->db_escape($filter)."%') OR + lower(kurzbz) LIKE lower('%".$this->db_escape($filter)."%')"; } $sql_query .= " ORDER BY $order ;"; @@ -360,18 +362,9 @@ class wawi_konto extends basis_db $obj->konto_id = $row->konto_id; $obj->kontonr = $row->kontonr; - $i = 1; - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $obj->beschreibung[$s->index] = $row->{'beschreibung'.$s->index}; - } - $i++; - } - + $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $obj->kurzbz = $row->kurzbz; - $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; @@ -383,7 +376,7 @@ class wawi_konto extends basis_db } else { - $this->errormsg = $this->db_last_error(); + $this->errormsg = 'Fehler beim Laden der Daten'; return false; } return true; @@ -397,12 +390,11 @@ class wawi_konto extends basis_db */ public function zusammenlegen($id1, $id2) { - $msg=''; - $sql_query_upd1="BEGIN;"; - $sql_query_upd1.="UPDATE wawi.tbl_bestellung SET konto_id='$id2' WHERE konto_id='$id1'; "; - $sql_query_upd1.="UPDATE wawi.tbl_konto_kostenstelle SET konto_id='$id2' WHERE konto_id='$id1'; "; + $sql_query_upd1='BEGIN;'; + $sql_query_upd1.='UPDATE wawi.tbl_bestellung SET konto_id='.$this->db_add_param($id2, FHC_INTEGER).' WHERE konto_id='.$this->db_add_param($id1, FHC_INTEGER).'; '; + $sql_query_upd1.='UPDATE wawi.tbl_konto_kostenstelle SET konto_id='.$this->db_add_param($id2, FHC_INTEGER).' WHERE konto_id='.$this->db_add_param($id1).'; '; - $sql_query_upd1.="DELETE FROM wawi.tbl_konto WHERE konto_id='$id1';"; + $sql_query_upd1.='DELETE FROM wawi.tbl_konto WHERE konto_id='.$this->db_add_param($id1).';'; if($this->db_query($sql_query_upd1)) { @@ -412,11 +404,9 @@ class wawi_konto extends basis_db else { $this->db_query("ROLLBACK;"); - $this->errormsg = "fehler beim Update aufgetreten"; + $this->errormsg = "Fehler beim Update aufgetreten"; return false; } - $id1=0; - $id2=0; } /** @@ -428,12 +418,16 @@ class wawi_konto extends basis_db { if(is_numeric($kostenstelle_id)) { - $qry_beschreibung = $this->getBezeichnungString('select'); + $sprache = new sprache(); + $beschreibung = $sprache->getSprachQuery('beschreibung'); - - $qry = 'select konto.*, '.$qry_beschreibung.' - from wawi.tbl_konto konto, wawi.tbl_konto_kostenstelle kst - where kst.konto_id = konto.konto_id and kst.kostenstelle_id ='.$kostenstelle_id.' ORDER by konto.beschreibung ASC;'; + $qry = 'SELECT konto.*, '.$beschreibung.' + FROM + wawi.tbl_konto konto, wawi.tbl_konto_kostenstelle kst + WHERE + kst.konto_id = konto.konto_id + AND kst.kostenstelle_id ='.$this->db_add_param($kostenstelle_id, FHC_INTEGER).' + ORDER by konto.beschreibung ASC;'; if(!$this->db_query($qry)) { @@ -447,19 +441,9 @@ class wawi_konto extends basis_db $obj->konto_id = $row->konto_id; $obj->kontonr = $row->kontonr; - - $i = 1; - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $obj->beschreibung[$s->index] = $row->{'beschreibung'.$s->index}; - } - $i++; - } - + $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $obj->kurzbz = $row->kurzbz; - $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; @@ -480,20 +464,22 @@ class wawi_konto extends basis_db */ public function getKontoFromOE($oe_kurzbz) { - - $qry_beschreibung = $this->getBezeichnungString('select'); + $sprache = new sprache(); + $beschreibung = $sprache->getSprachQuery('beschreibung'); - - $qry = 'select distinct konto.*, '.$qry_beschreibung.' - from - public.tbl_organisationseinheit as orga, wawi.tbl_kostenstelle as kst, wawi.tbl_konto_kostenstelle as kontokst, wawi.tbl_konto as konto where - orga.oe_kurzbz = kst.oe_kurzbz and - kst.kostenstelle_id = kontokst.kostenstelle_id and - kontokst.konto_id = konto.konto_id and - orga.oe_kurzbz = '.$this->addslashes($oe_kurzbz).' ORDER BY konto.beschreibung;'; + $qry = 'SELECT distinct konto.*, '.$beschreibung.' + FROM + public.tbl_organisationseinheit as orga, + wawi.tbl_kostenstelle as kst, + wawi.tbl_konto_kostenstelle as kontokst, + wawi.tbl_konto as konto + WHERE + orga.oe_kurzbz = kst.oe_kurzbz + AND kst.kostenstelle_id = kontokst.kostenstelle_id + AND kontokst.konto_id = konto.konto_id + AND orga.oe_kurzbz = '.$this->db_add_param($oe_kurzbz).' + ORDER BY konto.beschreibung;'; - - //echo $qry; if(!$this->db_query($qry)) { $this->errormsg = "Fehler bei der Abfrage aufgetreten."; @@ -506,19 +492,9 @@ class wawi_konto extends basis_db $obj->konto_id = $row->konto_id; $obj->kontonr = $row->kontonr; - - $i = 1; - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $obj->beschreibung[$i] = $row->{'beschreibung'.$i}; - } - $i++; - } - + $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $obj->kurzbz = $row->kurzbz; - $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; @@ -528,68 +504,5 @@ class wawi_konto extends basis_db } return true; } - - /** - * - * je nach übergebenen Parameter gibt die Funktion den String für das Array 'Bezeichnung' für Datenbankabfragen zurück - * @param $method, 'insert' 'update' 'select' sind die Möglichen Parameter, return false im Fehlerfall - */ - private function getBezeichnungString($method) - { - $i = 1; - $qry_beschreibung =''; - - if($method =='insert') - { - foreach($this->sprache->result as $s) - { - - if($s->content == true) - { - $qry_beschreibung .=$this->addslashes($this->beschreibung[$s->index]).','; - } - else - { - $qry_beschreibung .= "' ',"; - } - $i++; - } - $qry_beschreibung = substr($qry_beschreibung,0,-1); - return $qry_beschreibung; - } - else if($method =='select') - { - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $qry_beschreibung .= " beschreibung[".$s->index."] as beschreibung".$s->index." ,"; - } - $i++; - } - $qry_beschreibung = substr($qry_beschreibung,0,-1); - return $qry_beschreibung; - } - - else if($method=='update') - { - foreach($this->sprache->result as $s) - { - if($s->content == true) - { - $qry_beschreibung .= " beschreibung[$s->index]=".$this->addslashes($this->beschreibung[$s->index]).','; - } - $i++; - } - return $qry_beschreibung; - } - - else - { - return false; - } - - } } - ?> \ No newline at end of file diff --git a/include/wawi_kostenstelle.class.php b/include/wawi_kostenstelle.class.php index 337dfecb5..77454c612 100644 --- a/include/wawi_kostenstelle.class.php +++ b/include/wawi_kostenstelle.class.php @@ -67,14 +67,14 @@ class wawi_kostenstelle extends basis_db */ public function load($kostenstelle_id) { - // ob die übergebene id eine eine gültige zahl ist + // pruefen ob die übergebene id eine eine gültige zahl ist if(!is_numeric($kostenstelle_id) || ($kostenstelle_id =='')) { $this->errormsg = 'Kostenstellen ID ist keine Zahl'; return false; } - $qry = "SELECT * FROM wawi.tbl_kostenstelle WHERE kostenstelle_id = ".addslashes($kostenstelle_id).";"; + $qry = 'SELECT * FROM wawi.tbl_kostenstelle WHERE kostenstelle_id='.$this->db_add_param($kostenstelle_id, FHC_INTEGER).';'; if(!$this->db_query($qry)) { @@ -88,12 +88,12 @@ class wawi_kostenstelle extends basis_db $this->oe_kurzbz = $row->oe_kurzbz; $this->bezeichnung = $row->bezeichnung; $this->kurzbz = $row->kurzbz; - $this->aktiv = ($row->aktiv=='t'?true:false); + $this->aktiv = $this->db_parse_bool($row->aktiv); $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; - $this->ext_id = $row->ext_id; // ext_id = kostenstelle_id + $this->ext_id = $row->ext_id; $this->kostenstelle_nr = $row->kostenstelle_nr; $this->deaktiviertamum = $row->deaktiviertamum; $this->deaktiviertvon = $row->deaktiviertvon; @@ -117,9 +117,9 @@ class wawi_kostenstelle extends basis_db if($filter != '') { - $qry.=" where lower(oe_kurzbz) LIKE lower('%".addslashes($filter)."%') OR - lower(bezeichnung) LIKE lower('%".addslashes($filter)."%') OR - lower(kurzbz) LIKE lower('%".addslashes($filter)."%')"; + $qry.=" WHERE lower(oe_kurzbz) LIKE lower('%".$this->db_escape($filter)."%') OR + lower(bezeichnung) LIKE lower('%".$this->db_escape($filter)."%') OR + lower(kurzbz) LIKE lower('%".$this->db_escape($filter)."%')"; } $qry.=' ORDER BY bezeichnung;'; @@ -138,12 +138,12 @@ class wawi_kostenstelle extends basis_db $obj->oe_kurzbz = $row->oe_kurzbz; $obj->bezeichnung = $row->bezeichnung; $obj->kurzbz = $row->kurzbz; - $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; - $obj->ext_id = $row->ext_id; // ext_id = kostenstelle_id + $obj->ext_id = $row->ext_id; $obj->kostenstelle_nr = $row->kostenstelle_nr; $obj->deaktiviertamum = $row->deaktiviertamum; $obj->deaktiviertvon = $row->deaktiviertvon; @@ -163,13 +163,13 @@ class wawi_kostenstelle extends basis_db { if(!is_numeric($kostenstelle_id) || $kostenstelle_id =='') { - $this->errormsg = "Ungültige Kostenstellen ID"; + $this->errormsg = 'Ungültige Kostenstellen ID'; return false; } - $qry ="SELECT * FROM wawi.tbl_bestellung WHERE kostenstelle_id = ".addslashes($kostenstelle_id); + $qry ="SELECT * FROM wawi.tbl_bestellung WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false).';'; if(!$this->db_query($qry)) { - $this->errormsg = "Fehler beim löschen des Datensatzes."; + $this->errormsg = 'Fehler beim Löschen des Datensatzes'; return false; } if($row = $this->db_fetch_object()) @@ -178,14 +178,14 @@ class wawi_kostenstelle extends basis_db return false; } - $qry = "DELETE FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id =".addslashes($kostenstelle_id)."; "; - $qry .= "DELETE FROM wawi.tbl_aufteilung_default WHERE kostenstelle_id =".addslashes($kostenstelle_id)."; "; - $qry .= "DELETE FROM system.tbl_benutzerrolle WHERE kostenstelle_id =".addslashes($kostenstelle_id)."; "; - $qry .= "DELETE FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".addslashes($kostenstelle_id).";"; + $qry = "DELETE FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id =".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false)."; "; + $qry .= "DELETE FROM wawi.tbl_aufteilung_default WHERE kostenstelle_id =".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false)."; "; + $qry .= "DELETE FROM system.tbl_benutzerrolle WHERE kostenstelle_id =".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false)."; "; + $qry .= "DELETE FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false).";"; if(!$this->db_query($qry)) { - $this->errormsg = "Fehler beim löschen des Datensatzes."; + $this->errormsg = 'Fehler beim Löschen des Datensatzes'; return false; } return true; @@ -242,18 +242,18 @@ class wawi_kostenstelle extends basis_db //Neuen Datensatz einfuegen $qry='BEGIN;INSERT INTO wawi.tbl_kostenstelle (oe_kurzbz, bezeichnung, kurzbz, aktiv, updateamum, updatevon, insertamum, insertvon, ext_id, kostenstelle_nr, deaktiviertamum, deaktiviertvon ) VALUES('. - $this->addslashes($this->oe_kurzbz).', '. - $this->addslashes($this->bezeichnung).', '. - $this->addslashes($this->kurzbz).', '. - ($this->aktiv?'true':'false').', '. - $this->addslashes($this->updateamum).', '. - $this->addslashes($this->updatevon).', '. - $this->addslashes($this->insertamum).', '. - $this->addslashes($this->insertvon).', '. - $this->addslashes($this->ext_id).', '. - $this->addslashes($this->kostenstelle_nr).', '. - $this->addslashes($this->deaktiviertamum).', '. - $this->addslashes($this->deaktiviertvon).');'; + $this->db_add_param($this->oe_kurzbz).', '. + $this->db_add_param($this->bezeichnung).', '. + $this->db_add_param($this->kurzbz).', '. + $this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. + $this->db_add_param($this->updateamum).', '. + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->insertamum).', '. + $this->db_add_param($this->insertvon).', '. + $this->db_add_param($this->ext_id).', '. + $this->db_add_param($this->kostenstelle_nr).', '. + $this->db_add_param($this->deaktiviertamum).', '. + $this->db_add_param($this->deaktiviertvon).');'; } else @@ -261,23 +261,23 @@ class wawi_kostenstelle extends basis_db //Pruefen ob kostenstelle_id eine gueltige Zahl ist if(!is_numeric($this->kostenstelle_id)) { - $this->errormsg = 'kostenstelle_id muss eine gültige Zahl sein: '.$this->kostenstelle_id."\n"; + $this->errormsg = 'kostenstelle_id muss eine gültige Zahl sein'; return false; } $qry='UPDATE wawi.tbl_kostenstelle SET'. - ' oe_kurzbz='.$this->addslashes($this->oe_kurzbz).', '. - ' bezeichnung='.$this->addslashes($this->bezeichnung).', '. - ' kurzbz='.$this->addslashes($this->kurzbz).', '. - ' aktiv='.($this->aktiv?'true':'false').', '. - ' updateamum='.$this->addslashes($this->updateamum).', '. - ' updatevon='.$this->addslashes($this->updatevon).', '. - ' insertamum='.$this->addslashes($this->insertamum).', '. - ' insertvon='.$this->addslashes($this->insertvon).', '. - ' ext_id='.$this->addslashes($this->ext_id).', '. - ' kostenstelle_nr='.$this->addslashes($this->kostenstelle_nr).', '. - ' deaktiviertamum='.$this->addslashes($this->deaktiviertamum).', '. - ' deaktiviertvon='.$this->addslashes($this->deaktiviertvon).' '. - ' WHERE kostenstelle_id='.$this->kostenstelle_id.';'; + ' oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '. + ' kurzbz='.$this->db_add_param($this->kurzbz).', '. + ' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. + ' updateamum='.$this->db_add_param($this->updateamum).', '. + ' updatevon='.$this->db_add_param($this->updatevon).', '. + ' insertamum='.$this->db_add_param($this->insertamum).', '. + ' insertvon='.$this->db_add_param($this->insertvon).', '. + ' ext_id='.$this->db_add_param($this->ext_id).', '. + ' kostenstelle_nr='.$this->db_add_param($this->kostenstelle_nr).', '. + ' deaktiviertamum='.$this->db_add_param($this->deaktiviertamum).', '. + ' deaktiviertvon='.$this->db_add_param($this->deaktiviertvon).' '. + ' WHERE kostenstelle_id='.$this->db_add_param($this->kostenstelle_id, FHC_INTEGER, false).';'; } if($this->db_query($qry)) @@ -319,23 +319,24 @@ class wawi_kostenstelle extends basis_db /** * - * loescht kostenstelle mit der id1 und legt dessen Schlüssel in anderen Tabellen auf die kostenstelle mit der id2 um + * Loescht kostenstelle mit der id1 und legt dessen Schlüssel in anderen + * Tabellen auf die kostenstelle mit der id2 um * @param $id1 kostenstelle_id des radiobuttons * @param $id2 kostenstelle_id des radiobuttons * @return true wenn ok, false im Fehlerfall */ - public function zusammenlegen($id1, $id2) + public function zusammenlegen($id1, $id2) { - $msg=''; + $sql_query_upd1="BEGIN;"; - $sql_query_upd1.="UPDATE wawi.tbl_aufteilung_default SET kostenstelle_id='$id2' WHERE kostenstelle_id='$id1'; "; - $sql_query_upd1.="UPDATE wawi.tbl_konto_kostenstelle SET kostenstelle_id='$id2' WHERE kostenstelle_id='$id1' AND konto_id NOT IN(SELECT konto_id FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id='$id2'); "; - $sql_query_upd1.="DELETE FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id='$id1';"; - $sql_query_upd1.="DELETE FROM wawi.tbl_budget WHERE kostenstelle_id='$id1';"; - $sql_query_upd1.="UPDATE wawi.tbl_bestellung SET kostenstelle_id='$id2' WHERE kostenstelle_id='$id1'; "; - $sql_query_upd1.="UPDATE system.tbl_benutzerrolle SET kostenstelle_id='$id2' WHERE kostenstelle_id='$id1'; "; + $sql_query_upd1.="UPDATE wawi.tbl_aufteilung_default SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)."; "; + $sql_query_upd1.="UPDATE wawi.tbl_konto_kostenstelle SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)." AND konto_id NOT IN(SELECT konto_id FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)."); "; + $sql_query_upd1.="DELETE FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER).";"; + $sql_query_upd1.="DELETE FROM wawi.tbl_budget WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER).";"; + $sql_query_upd1.="UPDATE wawi.tbl_bestellung SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)."; "; + $sql_query_upd1.="UPDATE system.tbl_benutzerrolle SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)."; "; - $sql_query_upd1.="DELETE FROM wawi.tbl_kostenstelle WHERE kostenstelle_id='$id1';"; + $sql_query_upd1.="DELETE FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER).";"; if($this->db_query($sql_query_upd1)) { @@ -345,7 +346,7 @@ class wawi_kostenstelle extends basis_db else { $this->db_query("ROLLBACK;"); - $this->errormsg = "fehler beim Update aufgetreten"; + $this->errormsg = "Fehler beim Update aufgetreten"; return false; } } @@ -353,8 +354,8 @@ class wawi_kostenstelle extends basis_db /** * * Es wird überprüft ob der Eintrag mit den 2 IDs schon in der Zwischentabelle vorhanden ist - * @param unknown_type $konto_id - * @param unknown_type $kostenselle_id + * @param $konto_id + * @param $kostenselle_id * @return true wenn es Eintrag schon gibt, false wenn der Eintrag noch nicht vorhanden ist */ public function check_konto_kostenstelle($kostenstelle_id, $konto_id) @@ -371,7 +372,7 @@ class wawi_kostenstelle extends basis_db return false; } - $qry = "SELECT * from wawi.tbl_konto_kostenstelle WHERE konto_id = ".addslashes($konto_id)." AND kostenstelle_id = ".addslashes($kostenstelle_id).";"; + $qry = "SELECT * FROM wawi.tbl_konto_kostenstelle WHERE konto_id = ".$this->db_add_param($konto_id, FHC_INTEGER)." AND kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";"; if($this->db_query($qry)) { @@ -407,7 +408,9 @@ class wawi_kostenstelle extends basis_db return false; } - $qry = "INSERT INTO wawi.tbl_konto_kostenstelle (konto_id, kostenstelle_id) VALUES (".addslashes($konto_id).",".addslashes($kostenstelle_id).");"; + $qry = "INSERT INTO wawi.tbl_konto_kostenstelle (konto_id, kostenstelle_id) VALUES (". + $this->db_add_param($konto_id, FHC_INTEGER).",". + $this->db_add_param($kostenstelle_id, FHC_INTEGER).");"; if($this->db_query($qry)) { @@ -435,7 +438,8 @@ class wawi_kostenstelle extends basis_db } $konto = array(); - $qry = "SELECT konto_id from wawi.tbl_konto_kostenstelle WHERE kostenstelle_id = ".addslashes($kostenstelle_id).";"; + $qry = "SELECT konto_id FROM wawi.tbl_konto_kostenstelle + WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";"; if($this->db_query($qry)) { @@ -463,8 +467,10 @@ class wawi_kostenstelle extends basis_db $this->errormsg = "Ungültige Kostenstellen ID"; return false; } - $var = implode(",", $active); - $qry = "DELETE FROM wawi.tbl_konto_kostenstelle where kostenstelle_id = ".addslashes($kostenstelle_id)." AND konto_ID NOT IN (".addslashes($var).") ;"; + $var = $this->implode4SQL($active); + $qry = "DELETE FROM wawi.tbl_konto_kostenstelle + WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id)." + AND konto_ID NOT IN (".$var.") ;"; if($this->db_query($qry)) { @@ -491,7 +497,9 @@ class wawi_kostenstelle extends basis_db $geschaeftsjahr_kurzbz = $gj->getAkt(); } - $qry = "SELECT budget FROM wawi.tbl_budget WHERE kostenstelle_id=".$this->addslashes($kostenstelle_id)." AND geschaeftsjahr_kurzbz=".$this->addslashes($geschaeftsjahr_kurzbz).";"; + $qry = "SELECT budget FROM wawi.tbl_budget + WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)." + AND geschaeftsjahr_kurzbz=".$this->db_add_param($geschaeftsjahr_kurzbz).";"; if($result = $this->db_query($qry)) { @@ -546,12 +554,19 @@ class wawi_kostenstelle extends basis_db { if($old_budget!=$budget) { - $qry = "UPDATE wawi.tbl_budget SET budget=".$this->addslashes($budget)." WHERE kostenstelle_id=".$this->addslashes($kostenstelle_id)." AND geschaeftsjahr_kurzbz=".$this->addslashes($geschaeftsjahr_kurzbz).";"; + $qry = "UPDATE + wawi.tbl_budget SET budget=".$this->db_add_param($budget)." + WHERE + kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)." + AND geschaeftsjahr_kurzbz=".$this->db_add_param($geschaeftsjahr_kurzbz).";"; } } else { - $qry = "INSERT INTO wawi.tbl_budget(kostenstelle_id, geschaeftsjahr_kurzbz, budget) VALUES(".$this->addslashes($kostenstelle_id).",".$this->addslashes($geschaeftsjahr_kurzbz).",".$this->addslashes($budget).");"; + $qry = "INSERT INTO wawi.tbl_budget(kostenstelle_id, geschaeftsjahr_kurzbz, budget) VALUES(". + $this->db_add_param($kostenstelle_id, FHC_INTEGER).",". + $this->db_add_param($geschaeftsjahr_kurzbz).",". + $this->db_add_param($budget).");"; } if($qry!='') @@ -582,7 +597,7 @@ class wawi_kostenstelle extends basis_db if(count($kst_id)==0) return true; - $kst_id = "'".implode("','",$kst_id)."'"; + $kst_id = $this->implode4SQL($kst_id); $qry = 'SELECT * FROM wawi.tbl_kostenstelle WHERE kostenstelle_id in('.$kst_id.')'; if ($aktiv) @@ -605,7 +620,7 @@ class wawi_kostenstelle extends basis_db $obj->oe_kurzbz = $row->oe_kurzbz; $obj->bezeichnung = $row->bezeichnung; $obj->kurzbz = $row->kurzbz; - $obj->aktiv = ($row->aktiv=='t'?true:false); + $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; $obj->insertamum = $row->insertamum; diff --git a/include/wawi_rechnung.class.php b/include/wawi_rechnung.class.php index 5b0fa8ed3..d77c9c8be 100644 --- a/include/wawi_rechnung.class.php +++ b/include/wawi_rechnung.class.php @@ -72,11 +72,11 @@ class wawi_rechnung extends basis_db return false; } - $qry = "SELECT * FROM wawi.tbl_rechnung WHERE rechnung_id = '".addslashes($rechnung_id)."'"; + $qry = "SELECT * FROM wawi.tbl_rechnung WHERE rechnung_id = ".$this->db_add_param($rechnung_id, FHC_INTEGER).';'; if(!$this->db_query($qry)) { - $this->errormsg ="Fehler bei der Datenbankabfrage."; + $this->errormsg ='Fehler bei der Datenbankabfrage'; return false; } @@ -90,7 +90,7 @@ class wawi_rechnung extends basis_db $this->rechnungsdatum = $row->rechnungsdatum; $this->transfer_datum = $row->transfer_datum; $this->buchungstext = $row->buchungstext; - $this->freigegeben = ($row->freigegeben=='t'?true:false); + $this->freigegeben = $this->db_parse_bool($row->freigegeben); $this->freigegebenamum = $row->freigegebenamum; $this->freigegebenvon = $row->freigegebenvon; $this->updateamum = $row->updateamum; @@ -100,7 +100,7 @@ class wawi_rechnung extends basis_db } else { - $this->errormsg ="Fehler bei der Datenbankabfrage."; + $this->errormsg ='Fehler bei der Datenbankabfrage'; return false; } return true; @@ -142,52 +142,52 @@ class wawi_rechnung extends basis_db "; if ($rechnungsnr!='') - $qry.= " AND UPPER(tbl_rechnung.rechnungsnr) LIKE UPPER('%$rechnungsnr%')"; + $qry.= " AND UPPER(tbl_rechnung.rechnungsnr) LIKE UPPER('%".$this->db_escape($rechnungsnr)."%')"; if ($rechnungsdatum_von != '') - $qry.= ' AND tbl_rechnung.rechnungsdatum >= '.$this->addslashes($rechnungsdatum_von); + $qry.= ' AND tbl_rechnung.rechnungsdatum >= '.$this->db_add_param($rechnungsdatum_von); if ($rechnungsdatum_bis != '') - $qry.= ' AND tbl_rechnung.rechnungsdatum <= '.$this->addslashes($rechnungsdatum_bis); + $qry.= ' AND tbl_rechnung.rechnungsdatum <= '.$this->db_add_param($rechnungsdatum_bis); if ($buchungsdatum_von != '') - $qry.= ' AND tbl_rechnung.buchungsdatum >= '.$this->addslashes($buchungsdatum_von); + $qry.= ' AND tbl_rechnung.buchungsdatum >= '.$this->db_add_param($buchungsdatum_von); if ($buchungsdatum_bis != '') - $qry.= ' AND tbl_rechnung.buchungsdatum <= '.$this->addslashes($buchungsdatum_bis); + $qry.= ' AND tbl_rechnung.buchungsdatum <= '.$this->db_add_param($buchungsdatum_bis); if ($erstelldatum_von != '') - $qry.= ' AND tbl_bestellung.insertamum::date >= '.$this->addslashes($erstelldatum_von); + $qry.= ' AND tbl_bestellung.insertamum::date >= '.$this->db_add_param($erstelldatum_von); if ($erstelldatum_bis != '') - $qry.= ' AND tbl_bestellung.insertamum::date <= '.$this->addslashes($erstelldatum_bis); + $qry.= ' AND tbl_bestellung.insertamum::date <= '.$this->db_add_param($erstelldatum_bis); if ($bestelldatum_von != '') - $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' AND status.datum >= ".$this->addslashes($bestelldatum_von); + $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' AND status.datum >= ".$this->db_add_param($bestelldatum_von); if ($bestelldatum_bis != '') - $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' AND status.datum <= ".$this->addslashes($bestelldatum_bis); + $qry.= " AND status.bestellstatus_kurzbz = 'Bestellung' AND status.datum <= ".$this->db_add_param($bestelldatum_bis); if ($firma_id != '') - $qry.= ' AND tbl_bestellung.firma_id = '.$this->addslashes($firma_id); + $qry.= ' AND tbl_bestellung.firma_id = '.$this->db_add_param($firma_id); if ($oe_kurzbz != '') - $qry.= ' AND tbl_kostenstelle.oe_kurzbz = '.$this->addslashes($oe_kurzbz); + $qry.= ' AND tbl_kostenstelle.oe_kurzbz = '.$this->db_add_param($oe_kurzbz); if ($konto_id != '') - $qry.= ' AND tbl_bestellung.konto_id = '.$this->addslashes($konto_id); + $qry.= ' AND tbl_bestellung.konto_id = '.$this->db_add_param($konto_id); if ($kostenstelle_id != '') - $qry.= ' AND tbl_bestellung.kostenstelle_id = '.$this->addslashes($kostenstelle_id); + $qry.= ' AND tbl_bestellung.kostenstelle_id = '.$this->db_add_param($kostenstelle_id); if ($bestellnummer != '') - $qry.= ' AND UPPER(tbl_bestellung.bestell_nr) = UPPER('.$this->addslashes($bestellnummer).')'; + $qry.= ' AND UPPER(tbl_bestellung.bestell_nr) = UPPER('.$this->db_add_param($bestellnummer).')'; if ($betrag != '') - $qry.= ' AND (\''.$betrag.'\' = (SELECT sum(betrag) FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=tbl_rechnung.rechnung_id) - OR \''.$betrag.'\' = (SELECT sum((betrag*(mwst+100)/100)) FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=tbl_rechnung.rechnung_id))'; + $qry.= ' AND ('.$this->db_add_param($betrag).' = (SELECT sum(betrag) FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=tbl_rechnung.rechnung_id) + OR '.$this->db_add_param($betrag).' = (SELECT sum((betrag*(mwst+100)/100)) FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=tbl_rechnung.rechnung_id))'; if($zahlungstyp!='') - $qry.= ' AND tbl_bestellung.zahlungstyp_kurzbz = '.$this->addslashes($zahlungstyp); + $qry.= ' AND tbl_bestellung.zahlungstyp_kurzbz = '.$this->db_add_param($zahlungstyp); if($ohneTransferdatum) $qry.= ' AND tbl_rechnung.transfer_datum IS NULL'; @@ -210,7 +210,7 @@ class wawi_rechnung extends basis_db $obj->rechnungsdatum = $row->rechnungsdatum; $obj->transfer_datum = $row->transfer_datum; $obj->buchungstext = $row->buchungstext; - $obj->freigegeben = ($row->freigegeben=='t'?true:false); + $obj->freigegeben = $this->db_parse_bool($row->freigegeben); $obj->freigegebenamum = $row->freigegebenamum; $obj->freigegebenvon = $row->freigegebenvon; $obj->updateamum = $row->updateamum; @@ -238,11 +238,11 @@ class wawi_rechnung extends basis_db return false; } - $qry ="DELETE FROM wawi.tbl_rechnung WHERE rechnung_id = '".addslashes($rechnung_id)."'"; + $qry ="DELETE FROM wawi.tbl_rechnung WHERE rechnung_id = ".$this->db_add_param($rechnung_id, FHC_INTEGER).';'; if(!$this->db_query($qry)) { - $this->errormsg ="Fehler beim Löschen der Rechnung ID $rechnung_id aufgetreten."; + $this->errormsg ="Fehler beim Löschen der Rechnung"; return false; } return true; @@ -307,38 +307,38 @@ class wawi_rechnung extends basis_db $qry = 'BEGIN; INSERT INTO wawi.tbl_rechnung (bestellung_id,rechnungstyp_kurzbz, buchungsdatum, rechnungsnr, rechnungsdatum, transfer_datum, buchungstext, freigegeben, freigegebenvon, freigegebenamum, updateamum, updatevon, insertamum, insertvon) VALUES ('. - $this->addslashes($this->bestellung_id).', '. - $this->addslashes($this->rechnungstyp_kurzbz).', '. - $this->addslashes($this->buchungsdatum).', '. - $this->addslashes($this->rechnungsnr).', '. - $this->addslashes($this->rechnungsdatum).', '. - $this->addslashes($this->transfer_datum).', '. - $this->addslashes($this->buchungstext).', '. - ($this->freigegeben?'true':'false').','. - $this->addslashes($this->freigegebenvon).', '. - $this->addslashes($this->freigegebenamum).', '. - $this->addslashes($this->updateamum).', '. - $this->addslashes($this->updatevon).', '. - $this->addslashes($this->insertamum).', '. - $this->addslashes($this->insertvon).'); '; + $this->db_add_param($this->bestellung_id, FHC_INTEGER).', '. + $this->db_add_param($this->rechnungstyp_kurzbz).', '. + $this->db_add_param($this->buchungsdatum).', '. + $this->db_add_param($this->rechnungsnr).', '. + $this->db_add_param($this->rechnungsdatum).', '. + $this->db_add_param($this->transfer_datum).', '. + $this->db_add_param($this->buchungstext).', '. + $this->db_add_param($this->freigegeben, FHC_BOOLEAN).','. + $this->db_add_param($this->freigegebenvon).', '. + $this->db_add_param($this->freigegebenamum).', '. + $this->db_add_param($this->updateamum).', '. + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->insertamum).', '. + $this->db_add_param($this->insertvon).'); '; } else { //UPDATE $qry = 'UPDATE wawi.tbl_rechnung SET - bestellung_id = '.$this->addslashes($this->bestellung_id).', - rechnungstyp_kurzbz = '.$this->addslashes($this->rechnungstyp_kurzbz).', - buchungsdatum = '.$this->addslashes($this->buchungsdatum).', - rechnungsnr = '.$this->addslashes($this->rechnungsnr).', - rechnungsdatum = '.$this->addslashes($this->rechnungsdatum).', - transfer_datum = '.$this->addslashes($this->transfer_datum).', - buchungstext = '.$this->addslashes($this->buchungstext).', - freigegeben = '.($this->freigegeben?'true':'false').', - freigegebenvon = '.$this->addslashes($this->freigegebenvon).', - freigegebenamum = '.$this->addslashes($this->freigegebenamum).', - updateamum = '.$this->addslashes($this->updateamum).', - updatevon = '.$this->addslashes($this->updatevon). - ' WHERE rechnung_id = '.$this->rechnung_id.';'; + bestellung_id = '.$this->db_add_param($this->bestellung_id).', + rechnungstyp_kurzbz = '.$this->db_add_param($this->rechnungstyp_kurzbz).', + buchungsdatum = '.$this->db_add_param($this->buchungsdatum).', + rechnungsnr = '.$this->db_add_param($this->rechnungsnr).', + rechnungsdatum = '.$this->db_add_param($this->rechnungsdatum).', + transfer_datum = '.$this->db_add_param($this->transfer_datum).', + buchungstext = '.$this->db_add_param($this->buchungstext).', + freigegeben = '.$this->db_add_param($this->freigegeben, FHC_BOOLEAN).', + freigegebenvon = '.$this->db_add_param($this->freigegebenvon).', + freigegebenamum = '.$this->db_add_param($this->freigegebenamum).', + updateamum = '.$this->db_add_param($this->updateamum).', + updatevon = '.$this->db_add_param($this->updatevon). + ' WHERE rechnung_id = '.$this->db_add_param($this->rechnung_id, FHC_INTEGER).';'; } if($this->db_query($qry)) @@ -354,18 +354,18 @@ class wawi_rechnung extends basis_db $this->rechnung_id = $row->id; if($this->rechnungsnr=='') $this->rechnungsnr = $row->id; - $this->db_query('COMMIT'); + $this->db_query('COMMIT;'); } else { - $this->db_query('ROLLBACK'); + $this->db_query('ROLLBACK;'); $this->errormsg = "Fehler beim Auslesen der Sequence"; return false; } } else { - $this->db_query('ROLLBACK'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Auslesen der Sequence'; return false; } @@ -391,7 +391,7 @@ class wawi_rechnung extends basis_db return false; } - $qry = "SELECT * FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id='".addslashes($rechnung_id)."' ORDER BY rechnungsbetrag_id"; + $qry = "SELECT * FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=".$this->db_add_param($rechnung_id, FHC_INTEGER)." ORDER BY rechnungsbetrag_id;"; if($result = $this->db_query($qry)) { @@ -437,19 +437,19 @@ class wawi_rechnung extends basis_db if($this->new) { $qry = 'BEGIN;INSERT INTO wawi.tbl_rechnungsbetrag(rechnung_id, mwst, betrag, bezeichnung) VALUES('. - $this->addslashes($this->rechnung_id).','. - $this->addslashes($this->mwst).','. - $this->addslashes($this->betrag).','. - $this->addslashes($this->bezeichnung).');'; + $this->db_add_param($this->rechnung_id, FHC_INTEGER).','. + $this->db_add_param($this->mwst).','. + $this->db_add_param($this->betrag).','. + $this->db_add_param($this->bezeichnung).');'; } else { $qry = 'UPDATE wawi.tbl_rechnungsbetrag SET'. - ' rechnung_id='.$this->addslashes($this->rechnung_id).','. - ' mwst='.$this->addslashes($this->mwst).','. - ' betrag='.$this->addslashes($this->betrag).','. - ' bezeichnung='.$this->addslashes($this->bezeichnung). - " WHERE rechnungsbetrag_id='".addslashes($this->rechnungsbetrag_id)."'"; + ' rechnung_id='.$this->db_add_param($this->rechnung_id, FHC_INTEGER).','. + ' mwst='.$this->db_add_param($this->mwst).','. + ' betrag='.$this->db_add_param($this->betrag).','. + ' bezeichnung='.$this->db_add_param($this->bezeichnung). + " WHERE rechnungsbetrag_id=".$this->db_add_param($this->rechnungsbetrag_id, FHC_INTEGER).';'; } if($this->db_query($qry)) @@ -462,13 +462,13 @@ class wawi_rechnung extends basis_db { if($row = $this->db_fetch_object($result)) { - $this->rechnugnsbetrag_id=$row->id;+ + $this->rechnugnsbetrag_id=$row->id; $this->db_query('COMMIT;'); return true; } else { - $this->db_query('ROLLBACK'); + $this->db_query('ROLLBACK;'); $this->errormsg = 'Fehler beim Auslesen der Sequence'; return false; } @@ -500,7 +500,7 @@ class wawi_rechnung extends basis_db return false; } - $qry = "DELETE FROM wawi.tbl_rechnungsbetrag where rechnungsbetrag_id='".addslashes($rechnungsbetrag_id)."'"; + $qry = "DELETE FROM wawi.tbl_rechnungsbetrag WHERE rechnungsbetrag_id=".$this->db_add_param($rechnungsbetrag_id, FHC_INTEGER).';'; if($this->db_query($qry)) { return true; @@ -517,7 +517,7 @@ class wawi_rechnung extends basis_db */ public function getRechnungstyp() { - $qry = 'SELECT * FROM wawi.tbl_rechnungstyp ORDER BY beschreibung'; + $qry = 'SELECT * FROM wawi.tbl_rechnungstyp ORDER BY beschreibung;'; if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -544,7 +544,8 @@ class wawi_rechnung extends basis_db */ public function count($bestellung_id) { - $qry = "SELECT count(*) as anzahl FROM wawi.tbl_rechnung WHERE bestellung_id='".addslashes($bestellung_id)."'"; + $qry = "SELECT count(*) as anzahl FROM wawi.tbl_rechnung + WHERE bestellung_id=".$this->db_add_param($bestellung_id, FHC_INTEGER).';'; if($result = $this->db_query($qry)) { @@ -602,8 +603,7 @@ class wawi_rechnung extends basis_db return false; } - $qry = " - SELECT sum(brutto) as gesamt + $qry = "SELECT sum(brutto) as gesamt FROM ( SELECT @@ -613,11 +613,10 @@ class wawi_rechnung extends basis_db JOIN wawi.tbl_bestellung USING(bestellung_id) JOIN wawi.tbl_rechnungsbetrag USING(rechnung_id) WHERE - kostenstelle_id='$kostenstelle_id' - AND tbl_bestellung.insertamum>='".$gj->start."' - AND tbl_bestellung.insertamum<='".$gj->ende."' - ) as a - "; + kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)." + AND tbl_bestellung.insertamum>=".$this->db_add_param($gj->start)." + AND tbl_bestellung.insertamum<=".$this->db_add_param($gj->ende)." + ) as a;"; if($result = $this->db_query($qry)) { diff --git a/include/wawi_zahlungstyp.class.php b/include/wawi_zahlungstyp.class.php index 417d20ed2..3cf740282 100644 --- a/include/wawi_zahlungstyp.class.php +++ b/include/wawi_zahlungstyp.class.php @@ -35,8 +35,8 @@ class wawi_zahlungstyp extends basis_db /** * - * Konstruktor - * @param unknown_type $aufteilung_id + * Konstruktor - Laedt optional einen Zahlungstyp + * @param $zahlungstyp_kurzbz */ public function __construct($zahlungstyp_kurzbz=null) { @@ -48,18 +48,18 @@ class wawi_zahlungstyp extends basis_db /** * - * lädt den Datensatz mit der übergebenen kurzbz + * Lädt den Datensatz mit der übergebenen kurzbz * @param $zahlungstyp_kurzbz */ public function load($zahlungstyp_kurzbz) { - if($zahlungstyp_kurzbz == "") + if($zahlungstyp_kurzbz == '') { - $this->errormsg ="Ungueltige Zahlungstypkurzbezeichnung."; + $this->errormsg ='Ungueltige Zahlungstypkurzbezeichnung'; return false; } - $qry ="Select * FROM wawi.tbl_zahlungstyp WHERE zahlungstyp_kurzb = ".$zahlungstyp_kurzbz.";"; + $qry ="SELECT * FROM wawi.tbl_zahlungstyp WHERE zahlungstyp_kurzb = ".$this->db_add_param($zahlungstyp_kurzbz).';'; if($this->db_query($qry)) { @@ -78,6 +78,11 @@ class wawi_zahlungstyp extends basis_db } + /** + * + * Laedt alle Zahlungstypen + * @return true wenn ok, false im Fehlerfall + */ public function getAll() { $qry = "SELECT * FROM wawi.tbl_zahlungstyp ORDER by zahlungstyp_kurzbz;"; @@ -96,10 +101,8 @@ class wawi_zahlungstyp extends basis_db } else { - $this->errormsg = "Datenbankabfrage fehlgeschlagen"; + $this->errormsg = 'Datenbankabfrage fehlgeschlagen'; return false; } - } - - + } } \ No newline at end of file diff --git a/rdf/bestelldetail.rdf.php b/rdf/bestelldetail.rdf.php index 2794bb06f..654aa7c36 100755 --- a/rdf/bestelldetail.rdf.php +++ b/rdf/bestelldetail.rdf.php @@ -114,7 +114,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo " titelpost]]>\n"; echo " uid,'@',DOMAIN,"]]>\n"; echo " \n"; - echo " beschreibung[1],"]]>\n"; + echo " kurzbz,"]]>\n"; echo " bezeichnung]]>\n"; echo " \n"; echo " name]]>\n"; diff --git a/wawi/auswertungen/konto.php b/wawi/auswertungen/konto.php index 714273f3e..7499a77d2 100644 --- a/wawi/auswertungen/konto.php +++ b/wawi/auswertungen/konto.php @@ -274,7 +274,7 @@ function draw_konto_table($konto_array, $kst_konto, $table_id, $gj) { $konto = new wawi_konto(); $konto->load($konten); - echo '',$konto->beschreibung[1],''; + echo '',$konto->kurzbz,''; } echo ' Summe diff --git a/wawi/bestellung.php b/wawi/bestellung.php index 5bd75d976..c2e29414a 100644 --- a/wawi/bestellung.php +++ b/wawi/bestellung.php @@ -141,7 +141,7 @@ if(isset($_POST['getSearchKonto'])) echo "\n"; foreach($konto->result as $ko) { - echo '\n"; + echo '\n"; } } else @@ -500,7 +500,7 @@ if($aktion == 'suche') echo ""; echo "\n"; echo "Erstelldatum\n"; - echo "von bis \n"; + echo "von bis \n"; echo "\n"; echo "\n"; echo "Bestelldatum\n"; @@ -702,7 +702,7 @@ if($aktion == 'suche') echo ''.$row->bestellung_id."\n"; echo ''.$firmenname."\n"; echo ''.$date->formatDatum($row->insertamum, 'd.m.Y')."\n"; - echo ''.$freigegeben=($row->freigegeben=='t')?'ja':'nein'."\n"; + echo ''.($row->freigegeben?'ja':'nein')."\n"; echo ''.$geliefert.''; echo ''.number_format($brutto, 2, ",",".")."\n"; echo ''.$row->titel."\n"; @@ -1439,7 +1439,7 @@ if($_GET['method']=='update') $disabled = ''; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt')) $disabled = 'disabled'; - if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id) || ($rechte->isBerechtigt('wawi/freigabe', null, 'suid',$bestellung->kostenstelle_id) && $bestellung->freigegeben =='f')) + if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id) || ($rechte->isBerechtigt('wawi/freigabe', null, 'suid',$bestellung->kostenstelle_id) && $bestellung->freigegeben)) $disabled = ''; echo "Kostenstelle:"; echo ""; - if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt') && $bestellung->freigegeben == 'f') + if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt') && !$bestellung->freigegeben) echo ""; echo""; echo "
Bestellschein generieren
"; @@ -2233,7 +2233,7 @@ if($_GET['method']=='update') { //Wenn die Advanced Berechtigung vorhanden ist, werden die Felder nicht gesperrt oder derjenige hat berechtigungen auf die kst oder oe und die bestellung ist noch nicht freigegeben if(!($rechte->isBerechtigt('wawi/bestellung_advanced',null, 'suid') - || ($rechte->isBerechtigt('wawi/freigabe',null,'suid',$bestellung->kostenstelle_id)) && $bestellung->freigegeben == 'f')) + || ($rechte->isBerechtigt('wawi/freigabe',null,'suid',$bestellung->kostenstelle_id)) && !$bestellung->freigegeben)) { // Felder Sperren echo '