X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_pgsql_opengw.inc;h=d3432226f7de549aaac8fbc52b6b2e9a70a6cbfb;hb=5b438d84ade6a4e4e31ffe9b1e46fd021aa91d52;hp=ed9544ada82b6cf1134c3d7233b5f295c224b9d6;hpb=109185cb5f552e468119d99238d16aee58f96157;p=gosa.git diff --git a/include/class_pgsql_opengw.inc b/include/class_pgsql_opengw.inc index ed9544ada..d3432226f 100644 --- a/include/class_pgsql_opengw.inc +++ b/include/class_pgsql_opengw.inc @@ -2,105 +2,109 @@ class pgre_sql{ - var $handle; - var $query_log; - var $user; - var $server; - var $db; - var $pwd; - var $is_connected = false; - - function pgre_sql($user,$pwd,$server,$db) - { - $this->user = $user; - $this->pwd = $pwd; - $this->server = $server; - $this->db = $db; - - if($this->_connect()){ - $this->is_connected = true; - } - - return($this->is_connected); - } - - function _connect() - { - error_reporting(E_ALL); - if(is_callable("pg_connect")){ - $this->handle = pg_connect("dbname=".$this->db." host=".$this->server." user=".$this->user); - if(!$this->handle){ - print "can't connect to pgsql :"; - exit(); + var $handle; + var $query_log; + var $user; + var $server; + var $db; + var $pwd; + var $is_connected = false; + + function pgre_sql($user,$pwd,$server,$db) + { + $this->user = $user; + $this->pwd = $pwd; + $this->server = $server; + $this->db = $db; + + if($this->_connect()){ + $this->is_connected = true; + }else{ + $this->is_connected = false; } - }else{ - print "Extension fpr pgsql is missing"; - $this->handle = false; } - return($this->handle); - } - - function Query($a_query) - { - if(is_array($a_query)){ - foreach($a_query as $nr => $query){ - return($this->_query($query)); - } - }else{ - return($this->_query($a_query)); - } - } - - function _query($query) - { - return(pg_query($this->handle,$query)); - } - - function FetchAllRows($res) - { - return(pg_fetch_all($res)) ; - } - - function gen_id() - { - $tmp = $this->_query("select nextval('key_generator');"); - $tmp = ($this->FetchAllRows($tmp)); - return($tmp[0]['nextval']); - } - - - function GetTemplateUser(){ - $data = array(); - $qry = "SELECT description,name,company_id FROM company WHERE is_template_user=1;"; - $res = $this->_query($qry); - $tmp = $this->FetchAllRows($res); - foreach($tmp as $attr){ - $data[$attr['name']] = $attr; - } - return $data; - } - function GetLocationTeam(){ - $data = array(); - $qry = "SELECT description,name,company_id FROM team WHERE is_location_team=1;"; - $res = $this->_query($qry); - $tmp = $this->FetchAllRows($res); - foreach($tmp as $attr){ - $data[$attr['description']] = $attr; - } - return $data; - } - function GetTeams(){ - $data = array(); - $qry = "SELECT description,name,company_id FROM team - WHERE (is_team=1) AND company_id - NOT IN (SELECT company_id FROM company WHERE is_location_team=1);"; - $res = $this->_query($qry); - $tmp = $this->FetchAllRows($res); - foreach($tmp as $attr){ - $data[$attr['description']] = $attr; - } - return $data; - } + + function _connect() + { + error_reporting(E_ALL); + if(is_callable("pg_connect")){ + if(!empty($this->pwd)){ + $this->handle = @pg_connect("dbname=".$this->db." host=".$this->server." user=".$this->user); + }else{ + $this->handle = @pg_connect("dbname=".$this->db." host=".$this->server." user=".$this->user." password=".$this->pwd); + } + if(!$this->handle){ + $this->handle = false; + } + }else{ + $this->handle = false; + } + return($this->handle); + } + + function Query($a_query) + { + if(is_array($a_query)){ + foreach($a_query as $nr => $query){ + return($this->_query($query)); + } + }else{ + return($this->_query($a_query)); + } + } + + function _query($query) + { + return(pg_query($this->handle,$query)); + } + + function FetchAllRows($res) + { + return(pg_fetch_all($res)) ; + } + + function gen_id() + { + $tmp = $this->_query("select nextval('key_generator');"); + $tmp = ($this->FetchAllRows($tmp)); + return($tmp[0]['nextval']); + } + + + function GetTemplateUser(){ + $data = array(); + $qry = "SELECT description,name,company_id FROM company WHERE is_template_user=1;"; + $res = $this->_query($qry); + $tmp = $this->FetchAllRows($res); + foreach($tmp as $attr){ + $data[$attr['name']] = $attr; + } + return $data; + } + function GetLocationTeam(){ + $data = array(); + $qry = "SELECT description,name,company_id FROM team WHERE is_location_team=1;"; + $res = $this->_query($qry); + $tmp = $this->FetchAllRows($res); + if(is_array($tmp)){ + foreach($tmp as $attr){ + $data[$attr['description']] = $attr; + } + } + return $data; + } + function GetTeams(){ + $data = array(); + $qry = "SELECT description,name,company_id FROM team + WHERE (is_team=1) AND company_id + NOT IN (SELECT company_id FROM company WHERE is_location_team=1);"; + $res = $this->_query($qry); + $tmp = $this->FetchAllRows($res); + foreach($tmp as $attr){ + $data[$attr['description']] = $attr; + } + return $data; + } } @@ -111,8 +115,12 @@ function gen_syntax($array,$tablename,$act,$ist) $company_id = $ist[0]['company_id']; foreach($array as $name => $value){ - if(empty($value)) continue; - + if((empty($value))&&(!preg_match("/^is_/i",$name))) continue; + + if((empty($value))&&(preg_match("/^is_/i",$name))){ + $value= 0; + } + if(!is_numeric($value)){ $str.= " ".$name."='".$value."', "; }else{ @@ -128,8 +136,11 @@ function gen_syntax($array,$tablename,$act,$ist) $attrs = ""; $values = ""; foreach($array as $name => $attribute){ + if((empty($attribute))&&(!preg_match("/^is_/i",$name))) continue; - if(empty($attribute)) continue; + if((empty($attribute))&&(preg_match("/^is_/i",$name))){ + $attribute= 0; + } if(is_numeric($attribute)){ $attrs .= $name.", "; @@ -145,5 +156,5 @@ function gen_syntax($array,$tablename,$act,$ist) return $str; } } - +// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>