G_false reference and all explicit pass by references removed
[brisk.git] / web / Obj / dbase_pgsql.phh
index a205b32..004edb9 100644 (file)
@@ -40,18 +40,23 @@ class DBConn
     var $db = FALSE;
     
     function DBConn()
+    {
+        $this->db = DBConn::$dbcnnx;        
+    }
+
+    static function create()
     {
         GLOBAL $G_dbauth;
         
         if (DBConn::$dbcnnx == FALSE) {
             if (!(DBConn::$dbcnnx = @pg_connect ($G_dbauth))) {
-                echo "DB connection failed.";
-                exit;
+                return (FALSE);
             }
         }
-        $this->db = DBConn::$dbcnnx;
 
-        return;
+        $out = new DBConn();
+        
+        return $out;
     }
     function db()
     {
@@ -65,14 +70,27 @@ class BriskDB
     var $item;
     var $item_n;
     
-    function BriskDB()
+    function BriskDB($dbconn)
     {
-        GLOBAL $DOCUMENT_ROOT, $G_dbpfx, $G_false;
+        $this->dbconn = $dbconn;
+    }
+
+    static function create()
+    {
+        GLOBAL $DOCUMENT_ROOT, $G_dbpfx;
+
+        $ret = FALSE;
+
         log_main("BriskDB create:start");
         
-        $this->dbconn = new DBConn();
+        do {
+            if (($dbconn = DBConn::create()) == FALSE) 
+                break;
+            
+            $ret = new BriskDB($dbconn);
+        } while (0);
         
-        log_main("BriskDB create:end");
+        return ($ret);
     }
 
     function users_load()
@@ -95,15 +113,15 @@ class BriskDB
         return FALSE;
     }
 
-    function &getrecord_bylogin($login) {
-        GLOBAL $G_false, $G_dbpfx;
+    function getrecord_bylogin($login) {
+        GLOBAL $G_dbpfx;
 
         $user_sql = sprintf("SELECT * FROM %susers WHERE login = lower('%s') AND (type & CAST (X'%08x' as integer)) = 0;",  $G_dbpfx, escsql($login), USER_FLAG_TY_DISABLE);
         if (($user_pg  = pg_query($this->dbconn->db(), $user_sql)) == FALSE)
-            return $ret;
+            return FALSE;
         
         if (pg_numrows($user_pg) != 1)
-            return $ret;
+            return FALSE;
         
         $user_obj = pg_fetch_object($user_pg, 0);
 
@@ -112,11 +130,11 @@ class BriskDB
 
 
     
-    function &login_verify($login, $pass)
+    function login_verify($login, $pass)
     {
-        GLOBAL $G_dbpfx, $G_false;
+        GLOBAL $G_dbpfx;
         
-        $ret = &$G_false;
+        $ret = FALSE;
         
         log_main("login_verify: ".$login);
         
@@ -125,29 +143,36 @@ class BriskDB
         //O for ($i = 0 ; $i < $this->item_n ; $i++) {
         //O log_main("login_verify: BEGIN");
         
-        if (($user_obj = $this->getrecord_bylogin($login)) == FALSE)
-            return $ret;
+        if (($user_obj = $this->getrecord_bylogin($login)) == FALSE) {
+            return FALSE;
+        }
 
         log_main("login[".$user_obj->code."]: ".$user_obj->login);
         
         /* if it exists check for a valid challenge */
         if (($a_sem = Challenges::lock_data()) != FALSE) { 
+            // error_log("loop-2", 0);
             if (($chals = &Challenges::load_data()) != FALSE) {
+                // error_log("loop-1", 0);
                 for ($e = 0 ; $e < $chals->item_n ; $e++) {
-                    
+                    // error_log("loop", 0);
                     log_main("challenge[".$e."]: ".$chals->item[$e]->login);
                     if (strcmp($login, $chals->item[$e]->login) == 0) {
+                        // error_log("loop2", 0);
                         log_main("login_verify [".$pass."] with [".md5($chals->item[$e]->token.$user_obj->pass)."]");
                         
                         if (strcmp($pass, md5($chals->item[$e]->token.$user_obj->pass)) == 0) {
+                            // error_log("loop3", 0);
                             log_main("login_verify SUCCESS for ".$login);
                             
                             $chals->rem($login);
                             $ret = LoginDBItem::LoginDBItemFromRecord($user_obj);
+                            // error_log("dbitem: ".print_r($ret, TRUE));
                             break;
                         }
                     }
                 } // end for ($e = 0 ...
+                // error_log("end loop-1", 0);
             }
             
             if ($chals->ismod()) {
@@ -163,10 +188,8 @@ class BriskDB
         return ($ret);
     }
 
-    function &getitem_bylogin($login, &$id) {
-        GLOBAL $G_false;
-        
-        $ret = &$G_false;
+    function getitem_bylogin($login, &$id) {
+        $ret = FALSE;
         $id = -1;
         
         log_main("getitem_bylogin: ".$login);
@@ -209,10 +232,9 @@ class BriskDB
         return TRUE;
     }
 
-    function &getdbconn()
+    function getdbconn()
     {
-        $ret = $this->dbconn;
-        return ($ret);
+        return ($this->dbconn);
     }
 
     //   ttok   text UNIQUE,