+ 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;
+ }
+
+ 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);
+ }
+
+