X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fdbase_pgsql.phh;h=79924e4af5f298fc01dd8774caa8d3aa52f4ed8d;hb=b33a386f21056aab19bcf9825e034d8a41dc651d;hp=8316d85b7652d394ff234055d11431e9ea683b0a;hpb=4d6334859a2357cd090fd0e58b8f3b6356a0cfc1;p=brisk.git diff --git a/web/Obj/dbase_pgsql.phh b/web/Obj/dbase_pgsql.phh index 8316d85..79924e4 100644 --- a/web/Obj/dbase_pgsql.phh +++ b/web/Obj/dbase_pgsql.phh @@ -113,6 +113,10 @@ class BriskDB function query($sql) { + if (!$this->dbconn) + if (($this->dbconn = DBConn::recover()) == FALSE) + return FALSE; + if (($res = @pg_query($this->dbconn->db(), $sql)) == FALSE) { error_log('pg_result_status: ' . pg_result_status($res)); error_log('pg_connection_status: ' . pg_connection_status($this->dbconn->db())); @@ -355,11 +359,9 @@ class BriskDB $user_sql = sprintf("UPDATE %susers SET (type, supp_comp) = (%d, '%s') WHERE code = %d;", $G_dbpfx, $flags, escsql($supp_comp), $code); - fprintf(STDERR, "REQUEST [%s]\n", $user_sql); if ( ! (($user_pg = $this->query($user_sql)) != FALSE && pg_affected_rows($user_pg) == 1) ) { return FALSE; } - fprintf(STDERR, "REQUEST GOOD [%s]\n", $user_sql); return TRUE; } @@ -370,11 +372,9 @@ class BriskDB $user_sql = sprintf("UPDATE %susers SET (type, disa_reas) = (%d, %d) WHERE code = %d;", $G_dbpfx, $flags, $disa_reas, $code); - fprintf(STDERR, "REQUEST [%s]\n", $user_sql); if ( ! (($user_pg = $this->query($user_sql)) != FALSE && pg_affected_rows($user_pg) == 1) ) { return FALSE; } - fprintf(STDERR, "REQUEST GOOD [%s]\n", $user_sql); return TRUE; } @@ -385,11 +385,9 @@ class BriskDB $user_sql = sprintf("UPDATE %susers SET (tos_vers) = ('%s') WHERE code = %d;", $G_dbpfx, escsql($tos_vers), $code); - fprintf(STDERR, "REQUEST [%s]\n", $user_sql); if ( ! (($user_pg = $this->query($user_sql)) != FALSE && pg_affected_rows($user_pg) == 1) ) { return FALSE; } - fprintf(STDERR, "REQUEST GOOD [%s]\n", $user_sql); return TRUE; } @@ -858,28 +856,77 @@ INSERT INTO %smails (code, ucode, type, tstamp, subj, body_txt, body_htm, hash) return (TRUE); } - function usersnet_bycode($owner, $target) + function friendship_default() + { + return (array(usersnet_friend_getlabel(1) => "//", + usersnet_friend_getlabel(2) => "//", + usersnet_friend_getlabel(3) => "//", + usersnet_friend_getlabel(4) => "//", + usersnet_friend_getlabel(5) => "//")); + } + + function usersnet_widefriend($owner, $target) + { + GLOBAL $G_dbpfx; + + $widefriend = $this->friendship_default(); + + $wfri_sql = sprintf("SELECT * FROM %susersnet_widefriend WHERE owner = %d AND target = %d;", + $G_dbpfx, $owner, $target); + if (($wfri_pg = $this->query($wfri_sql)) == FALSE) { + return ($widefriend); + } + + for ($i = 0 ; $i < pg_numrows($wfri_pg) ; $i++) { + $wfri_obj = pg_fetch_object($wfri_pg, $i); + $widefriend[usersnet_friend_getlabel(intval($wfri_obj->friend))] = $wfri_obj->count; + } + + return ($widefriend); + } + + function usersnet_narrowfriend($owner, $target) + { + GLOBAL $G_dbpfx; + + $narrowfriend = $this->friendship_default(); + + $nfri_sql = sprintf("SELECT * FROM %susersnet_narrowfriend WHERE owner = %d AND target = %d;", + $G_dbpfx, $owner, $target); + if (($nfri_pg = $this->query($nfri_sql)) == FALSE) { + return $narrowfriend; + } + + for ($i = 0 ; $i < pg_numrows($nfri_pg) ; $i++) { + $nfri_obj = pg_fetch_object($nfri_pg, $i); + $narrowfriend[usersnet_friend_getlabel(intval($nfri_obj->friend))] = $nfri_obj->count; + } + return ($narrowfriend); + } + + function usersnet_bycode($owner, $target, $widefriend, $narrowfriend) { GLOBAL $G_dbpfx; $ret = FALSE; $net_sql = sprintf("SELECT * FROM %susersnet WHERE owner = %d AND target = %d;", - $G_dbpfx, $owner, $target); - if (($net_pg = $this->query($net_sql)) == FALSE) { + $G_dbpfx, $owner, $target); + if (($net_pg = $this->query($net_sql)) == FALSE) return FALSE; - } + if (pg_numrows($net_pg) != 1) return FALSE; $net_obj = pg_fetch_object($net_pg, 0); - return (UsersNetItem::UsersNetItemFromRecord($net_obj)); + return (UsersNetItem::UsersNetItemFromRecord($net_obj, $widefriend, $narrowfriend)); } - function usersnet_default($owner, $target) + function usersnet_default($owner, $target, $widefriend, $narrowfriend) { - return (UsersNetItem::UsersNetItemDefaults($owner, $target)); + return (UsersNetItem::UsersNetItemDefaults($owner, $target, $widefriend, $narrowfriend)); } + function usersnet_save($owner_id, $json) { GLOBAL $G_dbpfx; @@ -889,13 +936,15 @@ INSERT INTO %smails (code, ucode, type, tstamp, subj, body_txt, body_htm, hash) do { $friend = usersnet_friend_getid($json->friend); + $json->skill = intval($json->skill); + $json->trust = intval($json->trust); + if ($json->skill < 1 || $json->skill > 5 || $json->trust < 1 || $json->trust > 5 || $friend == FALSE) { $ret = 1; break; } - $this->transaction('BEGIN'); $trans = TRUE;