X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fdbase_pgsql.phh;h=c3643bb08125765fc878bda74d8c82d2d1e8a6c4;hb=a3111de89c89bb1a3a81e748592d26d85e4fd79d;hp=a205b32cffa770c164ab9ead624d865f4dcff8aa;hpb=a6f3072878b7cf5301c96a8dd82eea302e282e07;p=brisk.git diff --git a/web/Obj/dbase_pgsql.phh b/web/Obj/dbase_pgsql.phh index a205b32..c3643bb 100644 --- a/web/Obj/dbase_pgsql.phh +++ b/web/Obj/dbase_pgsql.phh @@ -41,17 +41,24 @@ class DBConn function DBConn() { - GLOBAL $G_dbauth; + $this->db = DBConn::$dbcnnx; + } + + static function &create() + { + GLOBAL $G_dbauth, $G_false; + $ret = &$G_false; + if (DBConn::$dbcnnx == FALSE) { if (!(DBConn::$dbcnnx = @pg_connect ($G_dbauth))) { - echo "DB connection failed."; - exit; + return FALSE; } } - $this->db = DBConn::$dbcnnx; - return; + $ret = new DBConn(); + + return $ret; } function db() { @@ -65,14 +72,29 @@ class BriskDB var $item; var $item_n; - function BriskDB() + function BriskDB($dbconn) + { + $this->dbconn = $dbconn; + } + + static function &create() { GLOBAL $DOCUMENT_ROOT, $G_dbpfx, $G_false; + + $dbconn = $G_false; + $ret = $G_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()