X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fdbase_pgsql.phh;h=2b4467cef334d38b89682bd78221aeb5866935db;hb=12aa3028366c25d641bd6f89a033d8b2c1ebb3f0;hp=dc9c8437fe836535528ad6bfa141c25a579fdc5b;hpb=a14d9d7ed95e0ad85851e423d4d3295b00e35d2b;p=brisk.git diff --git a/web/Obj/dbase_pgsql.phh b/web/Obj/dbase_pgsql.phh index dc9c843..2b4467c 100644 --- a/web/Obj/dbase_pgsql.phh +++ b/web/Obj/dbase_pgsql.phh @@ -133,8 +133,8 @@ class BriskDB /* check the existence of the nick in the BriskDB */ log_main("login_exists: ".$login); - $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); + $user_sql = sprintf("SELECT * FROM %susers WHERE login = lower('%s')", + $G_dbpfx, escsql($login)); if (($user_pg = $this->query($user_sql)) != FALSE) if (pg_numrows($user_pg) == 1) return TRUE; @@ -160,9 +160,9 @@ class BriskDB function user_add($login, $pass, $email, $type, $disa_reas, $guar_code) { GLOBAL $G_dbpfx; - $usr_sql = sprintf("INSERT INTO %susers (login, pass, email, type, disa_reas, guar_code) - VALUES ('%s', '%s', '%s', %d, %d, %d) RETURNING *;", - $G_dbpfx, escsql(strtolower($login)), escsql($pass), escsql($email), + $usr_sql = sprintf("INSERT INTO %susers (login, pass, email, type, disa_reas, guar_code, lintm) + VALUES ('%s', '%s', '%s', %d, %d, %d, now()) RETURNING *;", + $G_dbpfx, escsql(strtolower($login)), escsql($pass), escsql($email), $type, $disa_reas, $guar_code); if (! (($usr_pg = $this->query($usr_sql)) != FALSE && pg_affected_rows($usr_pg) == 1) ) { @@ -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