Code

- Updated fro new Debian upload
[gosa.git] / include / class_pgsql_opengw.inc
index ed9544ada82b6cf1134c3d7233b5f295c224b9d6..dd364b54cac48ae94a3000a34aca5cf075ef985f 100644 (file)
 
 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:
 ?>