function to check and delete email table on db added
[brisk.git] / web / Obj / dbase_pgsql.phh
index dc9c843..73712ed 100644 (file)
@@ -252,6 +252,37 @@ class BriskDB
         return TRUE;
     }
 
+    function user_update_flag_ty($code, $old_type, $old_reas, $type, $reas)
+    {
+        GLOBAL $G_dbpfx;
+
+        // (u.type & (CAST (X'00ff0000' as integer)))
+
+        $user_sql = sprintf("UPDATE %susers SET (type, disa_reas) = ((%d & (CAST (X'00ff0000' as integer))), %d)
+WHERE code = %d AND (type & CAST (X'%08x' as integer)) != 0 AND disa_reas = %d;",
+                            $G_dbpfx, $type, $reas, $code, $old_type, $old_reas);
+
+        if ( ! (($user_pg  = $this->query($user_sql)) != FALSE && pg_affected_rows($user_pg) == 1) ) {
+             return FALSE;
+        }
+
+        return TRUE;
+    }
+
+    function user_update_passwd($code, $passwd)
+    {
+        GLOBAL $G_dbpfx;
+
+        $user_sql = sprintf("UPDATE %susers SET (pass) = (md5('%s')) WHERE code = %d;",
+                            $G_dbpfx, $passwd, $code);
+
+        if ( ! (($user_pg  = $this->query($user_sql)) != FALSE && pg_affected_rows($user_pg) == 1) ) {
+             return FALSE;
+        }
+
+        return TRUE;
+    }
+
     function user_prefs_update($code, $flags, $supp_comp)
     {
         GLOBAL $G_dbpfx;
@@ -711,6 +742,34 @@ INSERT INTO %smails (code, ucode, type, tstamp, subj, body_txt, body_htm, hash)
         return $usr_obj;
     }
 
+    function mail_check($code, $type, $hash)
+    {
+        GLOBAL $G_dbpfx;
+
+        $mai_sql = sprintf("SELECT * FROM %smails WHERE code = %d AND type = %d AND hash = '%s';",
+                           $G_dbpfx, $code, $type, escsql($hash));
+        if (($mai_pg  = $this->query($mai_sql)) == FALSE || pg_numrows($mai_pg) != 1) {
+            // check failed
+            return (FALSE);
+        }
+
+        $mai_obj = pg_fetch_object($mai_pg, 0);
+        return ($mai_obj);
+    }
+
+    function mail_delete($code)
+    {
+        GLOBAL $G_dbpfx;
+
+        $mai_sql = sprintf("DELETE FROM %smails WHERE code = %d;", $G_dbpfx, $code);
+
+        if (($mai_pg = $this->query($mai_sql)) == FALSE || pg_affected_rows($mai_pg) != 1) {
+            return (FALSE);
+        }
+        return (TRUE);
+    }
+
+
 } // End class BriskDB
 
 class LoginDBOld