function db_update_userdata($userdata, $sql_ary, $data_already_escaped = true) { if (!$userdata) { return false; } $sql_args = DB()->build_array('UPDATE', $sql_ary, $data_already_escaped); DB()->query("UPDATE " . USERS_TABLE . " SET {$sql_args} WHERE user_id = {$userdata['user_id']}"); if (DB()->affected_rows()) { cache_rm_userdata($userdata); } return true; }
if (($privmsg['privmsgs_type'] == PRIVMSGS_NEW_MAIL || $privmsg['privmsgs_type'] == PRIVMSGS_UNREAD_MAIL) && $folder == 'inbox') { // Update appropriate counter switch ($privmsg['privmsgs_type']) { case PRIVMSGS_NEW_MAIL: $sql = "user_new_privmsg = IF(user_new_privmsg, user_new_privmsg - 1, 0)"; break; case PRIVMSGS_UNREAD_MAIL: $sql = "user_unread_privmsg = IF(user_unread_privmsg, user_unread_privmsg - 1, 0)"; break; } $sql = "UPDATE " . BB_USERS . " SET {$sql} WHERE user_id = " . $userdata['user_id']; if (!DB()->sql_query($sql)) { bb_die('Could not update private message read status for user'); } if (DB()->affected_rows()) { cache_rm_userdata($userdata); } $sql = "UPDATE " . BB_PRIVMSGS . "\n\t\t\tSET privmsgs_type = " . PRIVMSGS_READ_MAIL . "\n\t\t\tWHERE privmsgs_id = " . $privmsg['privmsgs_id']; if (!DB()->sql_query($sql)) { bb_die('Could not update private message read status'); } // Check to see if the poster has a 'full' sent box $sql = "SELECT COUNT(privmsgs_id) AS sent_items, MIN(privmsgs_date) AS oldest_post_time\n\t\t\tFROM " . BB_PRIVMSGS . "\n\t\t\tWHERE privmsgs_type = " . PRIVMSGS_SENT_MAIL . "\n\t\t\t\tAND privmsgs_from_userid = " . $privmsg['privmsgs_from_userid']; if (!($result = DB()->sql_query($sql))) { bb_die('Could not obtain sent message info for sender'); } if ($sent_info = DB()->sql_fetchrow($result)) { if ($bb_cfg['max_sentbox_privmsgs'] && $sent_info['sent_items'] >= $bb_cfg['max_sentbox_privmsgs']) { $sql = "SELECT privmsgs_id FROM " . BB_PRIVMSGS . "\n\t\t\t\t\tWHERE privmsgs_type = " . PRIVMSGS_SENT_MAIL . "\n\t\t\t\t\t\tAND privmsgs_date = " . $sent_info['oldest_post_time'] . "\n\t\t\t\t\t\tAND privmsgs_from_userid = " . $privmsg['privmsgs_from_userid']; if (!($result = DB()->sql_query($sql))) { bb_die('Could not find oldest privmsgs');