db_result=$this->db->simple_query($sql)) return $this->db_result; else { $this->errormsg.='Abfrage in Datenbank fehlgeschlagen! '.$this->db_last_error(); return false; } } public function db_num_rows($result=null) { if(is_null($result)) return pg_num_rows($this->db_result); else return pg_num_rows($result); } public function db_fetch_object($result = null, $i=null) { if(is_null($result)) { if(is_null($i)) return pg_fetch_object($this->db_result); else return pg_fetch_object($this->db_result, $i); } else { if(is_null($i)) return pg_fetch_object($result); else return pg_fetch_object($result, $i); } } public function db_add_param($var, $type=FHC_STRING, $nullable=true) { if($var==='' && $type!=FHC_BOOLEAN) { if($nullable) return 'null'; else return "''"; } switch($type) { case FHC_INTEGER: $var = $this->db_escape($var); if(!is_numeric($var) && $var!=='') die('Invalid Integer Parameter detected:'.$var); $var = $this->db_null_value($var, false); break; case FHC_BOOLEAN: if($var===true) $var='true'; elseif($var===false) $var='false'; elseif($var=='' && $nullable) $var = 'null'; else die('Invalid Boolean Parameter detected'); break; case FHC_STRING: default: $var = $this->db_escape($var); $var = $this->db_null_value($var); break; } return $var; } public function db_escape($var) { return pg_escape_string($var); } public function db_null_value($var, $qoute=true) { if($qoute) return ($var!==''?$this->db_qoute($var):'null'); else return ($var!==''?$var:'null'); } public function db_qoute($var) { return "'".$var."'"; } public function db_parse_bool($var) { if($var=='t') return true; elseif($var=='f') return false; elseif($var=='') return ''; else die('Invalid DB Boolean. Wrong DB-Engine?'); } /** * Bereitet ein Array von Elementen auf, damit es in der IN-Klausel eines * Select Befehls verwendet werden kann. */ public function db_implode4SQL($array) { $string = ''; foreach($array as $row) { if($string!='') $string.=','; $string.=$this->db_add_param($row); } return $string; } public function db_num_fields($result=null) { if(is_null($result)) return pg_num_fields($this->db_result); else return pg_num_fields($result); } public function convert_html_chars($value) { return htmlspecialchars($value); } /** * Liefert den Feldnamen mit index i */ public function db_field_name($result=null, $i) { if(is_null($result)) return pg_field_name($this->db_result, $i); else return pg_field_name($result, $i); } public function db_last_error() { return pg_last_error(); } /** * Erstellt aus einem DB Array ein PHP Array * @param $var DB Result Array Spalte * @return php array */ public function db_parse_lang_array($var) { if ($var == '') return; preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?loadIndexArray(); $sprache = new sprache(); $sprache->getAll(true); $languages = $sprache->getAllIndexesSorted(); foreach ($matches as $mk => $match) { $values[$languages[$mk+1]] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]); } return $values; } }