X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fdbase_pgsql.phh;h=477491851f63febe676f373bf2a1e51941dc0a58;hb=2c36a4f9d580674adfffac403280d5d4ab7feab8;hp=6bdb294de49f86769a6a71d5d6cdbcd02cc88032;hpb=ea90fe3a8a0952838a454d3613952597b1e58959;p=brisk.git diff --git a/web/Obj/dbase_pgsql.phh b/web/Obj/dbase_pgsql.phh index 6bdb294..4774918 100644 --- a/web/Obj/dbase_pgsql.phh +++ b/web/Obj/dbase_pgsql.phh @@ -185,6 +185,9 @@ class BriskDB return (TRUE); } + /* + to be able to add mail record code into the record itself I must reserve it before. + */ function mail_reserve_code() { GLOBAL $G_dbpfx; @@ -249,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; @@ -689,6 +723,25 @@ class BriskDB return $ret; } + function mail_add_fromitem($mail) { + GLOBAL $G_dbpfx; + + $usr_sql = sprintf(" +INSERT INTO %smails (code, ucode, type, tstamp, subj, body_txt, body_htm, hash) + VALUES (%d, %d, %d, to_timestamp(%d), '%s', '%s', '%s', '%s') RETURNING *;", + $G_dbpfx, $mail->code, $mail->ucode, $mail->type, $mail->tstamp, + escsql($mail->subj), escsql($mail->body_txt), escsql($mail->body_htm), + ($mail->hash == NULL ? "" : escsql($mail->hash)) + ); + + if (! (($usr_pg = $this->query($usr_sql)) != FALSE && pg_affected_rows($usr_pg) == 1) ) { + return FALSE; + } + $usr_obj = pg_fetch_object($usr_pg, 0); + + return $usr_obj; + } + } // End class BriskDB class LoginDBOld