From a32655c5123ea96b6b4b00e683b816bbda8ef05b Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Fri, 5 Nov 2010 08:28:27 +0000 Subject: [PATCH] --- include/wawi_konto.class.php | 150 +++++++++++++++++++++++++---------- 1 file changed, 107 insertions(+), 43 deletions(-) diff --git a/include/wawi_konto.class.php b/include/wawi_konto.class.php index 8acbe1eab..c311ce9f3 100644 --- a/include/wawi_konto.class.php +++ b/include/wawi_konto.class.php @@ -23,6 +23,7 @@ * Klasse WaWi Konto */ require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/sprache.class.php'); class wawi_konto extends basis_db { @@ -41,14 +42,20 @@ class wawi_konto extends basis_db public $updateamum; // timestamp public $updatevon; // string + public $sprache; + public $spracheAnzahl; + + /** * Konstruktor * @param $konto_id ID des Kontos das geladen werden soll (Default=null) */ public function __construct($konto_id=null) { + $this->sprache = new sprache(); + $this->spracheAnzahl = $this->sprache->getAnzahl(); parent::__construct(); - + if(!is_null($konto_id)) $this->load($konto_id); } @@ -66,10 +73,21 @@ class wawi_konto extends basis_db $this->errormsg = 'Konto_id muss eine Zahl sein'; return false; } - + + $qry_beschreibung = ''; + + for($i=1; $i<=$this->spracheAnzahl; $i++) + { + $qry_beschreibung .= " beschreibung[".$i."] as beschreibung".$i." "; + if($i != $this->spracheAnzahl) + { + $qry_beschreibung .= ","; + } + } //Daten aus der Datenbank lesen - $qry = "SELECT *, beschreibung[1] as beschreibung_ger, beschreibung[2] as beschreibung_eng FROM wawi.tbl_konto WHERE konto_id='".addslashes($konto_id)."'"; + $qry = "SELECT *, $qry_beschreibung FROM wawi.tbl_konto WHERE konto_id='".addslashes($konto_id)."'"; + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; @@ -80,8 +98,12 @@ class wawi_konto extends basis_db { $this->konto_id = $row->konto_id; $this->kontonr = $row->kontonr; - $this->beschreibung[1] = $row->beschreibung_ger; - $this->beschreibung[2] = $row->beschreibung_eng; + + for ($i=1; $i<=$this->spracheAnzahl; $i++) + { + $this->beschreibung[$i] = $row->{'beschreibung'.$i}; + } + $this->kurzbz = $row->kurzbz; $this->aktiv = ($row->aktiv=='t'?true:false); $this->insertamum = $row->insertamum; @@ -107,7 +129,19 @@ class wawi_konto extends basis_db public function getAll($aktiv=null, $order='beschreibung DESC') { //Daten aus der Datenbank lesen - $qry = 'SELECT *, beschreibung[1] as beschreibung_ger, beschreibung[2] as beschreibung_eng FROM wawi.tbl_konto'; + + $qry_beschreibung = ''; + + for($i=1; $i<=$this->spracheAnzahl; $i++) + { + $qry_beschreibung .= " beschreibung[".$i."] as beschreibung".$i." "; + if($i != $this->spracheAnzahl) + { + $qry_beschreibung .= ","; + } + } + + $qry = "SELECT *, $qry_beschreibung FROM wawi.tbl_konto"; if(!is_null($aktiv)) { $qry.=' WHERE aktiv='.($aktiv?'true':'false'); @@ -128,8 +162,10 @@ class wawi_konto extends basis_db $obj->konto_id = $row->konto_id; $obj->kontonr = $row->kontonr; - $obj->beschreibung[1] = $row->beschreibung_ger; - $obj->beschreibung[2] = $row->beschreibung_eng; + for ($i=1; $i<=$this->spracheAnzahl; $i++) + { + $obj->beschreibung[$i] = $row->{'beschreibung'.$i}; + } $obj->kurzbz = $row->kurzbz; $obj->aktiv = ($row->aktiv=='t'?true:false); $obj->insertamum = $row->insertamum; @@ -154,16 +190,14 @@ class wawi_konto extends basis_db $this->errormsg = 'Kontonummer darf nicht laenger als 32 Zeichen sein.'; } - if(mb_strlen($this->beschreibung[1])>256) - { - $this->errormsg = 'Bezeichnung darf nicht laenger als 256 Zeichen sein.'; - return false; - } - if(mb_strlen($this->beschreibung[2])>256) + for($i=1; $i<=$this->spracheAnzahl; $i++) { - $this->errormsg = 'Bezeichnung darf nicht laenger als 256 Zeichen sein.'; - return false; + if(mb_strlen($this->beschreibung[$i])>256) + { + $this->errormsg = 'Bezeichnung darf nicht laenger als 256 Zeichen sein.'; + return false; + } } if(mb_strlen($this->kurzbz)>32) @@ -201,11 +235,23 @@ class wawi_konto extends basis_db if($this->new) { + $qry_beschreibung =''; + + for($i=1; $i<=$this->spracheAnzahl; $i++) + { + $qry_beschreibung .=$this->addslashes($this->beschreibung[$i]); + if($i != $this->spracheAnzahl) + { + $qry_beschreibung .= ','; + } + } + + //Neuen Datensatz einfuegen $qry='BEGIN;INSERT INTO wawi.tbl_konto (kontonr, beschreibung, kurzbz, aktiv, insertamum, insertvon, updateamum, updatevon) VALUES('. $this->addslashes($this->kontonr).', '. - "ARRAY[".$this->addslashes($this->beschreibung[1]).", ".$this->addslashes($this->beschreibung[2])."] ,". + "ARRAY[$qry_beschreibung],". $this->addslashes($this->kurzbz).', '. ($this->aktiv?'true':'false').', '. $this->addslashes($this->insertamum).', '. @@ -221,10 +267,18 @@ class wawi_konto extends basis_db $this->errormsg = 'konto_id muss eine gültige Zahl sein: '.$this->konto_id."\n"; return false; } + + $qry_beschreibung = ''; + + for($i=1; $i<=$this->spracheAnzahl; $i++) + { + $qry_beschreibung .= " beschreibung[$i]=".$this->addslashes($this->beschreibung[$i]).','; + } + + $qry='UPDATE wawi.tbl_konto SET'. ' kontonr='.$this->addslashes($this->kontonr).', '. - ' beschreibung[1]='.$this->addslashes($this->beschreibung[1]).', '. - ' beschreibung[2]='.$this->addslashes($this->beschreibung[2]).', '. + $qry_beschreibung. ' kurzbz='.$this->addslashes($this->kurzbz).', '. ' aktiv='.($this->aktiv?'true':'false').', '. ' insertamum='.$this->addslashes($this->insertamum).', '. @@ -307,8 +361,17 @@ class wawi_konto extends basis_db */ public function getKonto($filter, $order='konto_id') { + $qry_beschreibung = ''; + for($i=1; $i<=$this->spracheAnzahl; $i++) + { + $qry_beschreibung .= " beschreibung[".$i."] as beschreibung".$i." "; + if($i != $this->spracheAnzahl) + { + $qry_beschreibung .= ","; + } + } $sql_query = "SELECT - *, beschreibung[1] as beschreibung_ger, beschreibung[2] as beschreibung_eng + *, $qry_beschreibung FROM wawi.tbl_konto"; @@ -333,8 +396,10 @@ class wawi_konto extends basis_db $obj->konto_id = $row->konto_id; $obj->kontonr = $row->kontonr; - $obj->beschreibung[1] = $row->beschreibung_ger; - $obj->beschreibung[2] = $row->beschreibung_eng; + for ($i=1; $i<=$this->spracheAnzahl; $i++) + { + $obj->beschreibung[$i] = $row->{'beschreibung'.$i}; + } $obj->kurzbz = $row->kurzbz; $obj->aktiv = ($row->aktiv=='t'?true:false); $obj->insertamum = $row->insertamum; @@ -362,28 +427,27 @@ 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'; "; + $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.="DELETE FROM wawi.tbl_konto WHERE konto_id='$id1';"; - $sql_query_upd1.="DELETE FROM wawi.tbl_konto WHERE konto_id='$id1';"; - - if($this->db_query($sql_query_upd1)) - { - $this->db_query("COMMIT;"); - return true; - } - else - { - $this->db_query("ROLLBACK;"); - $this->errormsg = "fehler beim Update aufgetreten"; - return false; - } - $id1=0; - $id2=0; - } + if($this->db_query($sql_query_upd1)) + { + $this->db_query("COMMIT;"); + return true; + } + else + { + $this->db_query("ROLLBACK;"); + $this->errormsg = "fehler beim Update aufgetreten"; + return false; + } + $id1=0; + $id2=0; + } } ?> \ No newline at end of file