/** * Delete a private message from a folder. * * @param integer $pm_id * The id of the private message to delete * * @param mixed $folder * The folder from which to delete the message * * @param integer $user_id * The id of the user to delete the message for * or NULL to use the active Phorum user (default). */ function phorum_db_pm_delete($pm_id, $folder, $user_id = NULL) { $PHORUM = $GLOBALS['PHORUM']; settype($pm_id, 'int'); if ($user_id === NULL) { $user_id = $PHORUM['user']['user_id']; } settype($user_id, 'int'); if (is_numeric($folder)) { $folder_where = "pm_folder_id = {$folder}"; } elseif ($folder == PHORUM_PM_INBOX || $folder == PHORUM_PM_OUTBOX) { $folder_where = "(pm_folder_id = 0 AND special_folder = '{$folder}')"; } else { trigger_error('phorum_db_pm_delete(): Illegal folder "' . htmlspecialchars($folder) . '" requested for user id "' . $user_id . '"', E_USER_ERROR); } phorum_db_interact(DB_RETURN_RES, "DELETE FROM {$PHORUM['pm_xref_table']}\n WHERE user_id = {$user_id} AND\n pm_message_id = {$pm_id} AND\n {$folder_where}", NULL, DB_MASTERQUERY); // Update message counters. phorum_db_pm_update_message_info($pm_id); }
/** * This function deletes a private message from a folder. * @param folder - The folder from which to delete the message * @param pm_id - The id of the private message to delete * @param user_id - The user to delete the message for or NULL * to use the current user (default). */ function phorum_db_pm_delete($pm_id, $folder, $user_id = NULL) { $PHORUM = $GLOBALS["PHORUM"]; $conn = phorum_db_postgresql_connect(); settype($pm_id, "int"); if ($user_id == NULL) $user_id = $PHORUM['user']['user_id']; settype($user_id, "int"); if (is_numeric($folder)) { $folder_sql = "pm_folder_id=$folder AND"; } elseif ($folder == PHORUM_PM_INBOX || $folder == PHORUM_PM_OUTBOX) { $folder_sql = "pm_folder_id=0 AND special_folder='$folder' AND"; } else { die ("Illegal folder '$folder' requested for user id '$user_id'"); } $sql = "DELETE FROM {$PHORUM["pm_xref_table"]} " . "WHERE $folder_sql " . "user_id = $user_id AND pm_message_id = $pm_id"; $res = pg_query($conn, $sql); if ($err = pg_last_error()) phorum_db_pg_last_error("$err: $sql"); // Update message counters. phorum_db_pm_update_message_info($pm_id); return $res; }