/>' : ''; for($i = 0; $i < count($mark_list); $i++) { $s_hidden_fields .= ''; } // // Output confirmation page // include($phpbb_root_path . 'includes/page_header.'.$phpEx); $template->set_filenames(array( 'confirm_body' => 'confirm_body.tpl') ); $template->assign_vars(array( 'MESSAGE_TITLE' => $lang['Information'], 'MESSAGE_TEXT' => ( count($mark_list) == 1 ) ? $lang['Confirm_delete_pm'] : $lang['Confirm_delete_pms'], 'L_YES' => $lang['Yes'], 'L_NO' => $lang['No'], 'S_CONFIRM_ACTION' => append_sid("privmsg.$phpEx?folder=$folder"), 'S_HIDDEN_FIELDS' => $s_hidden_fields) ); $template->pparse('confirm_body'); include($phpbb_root_path . 'includes/page_tail.'.$phpEx); } else if ( $confirm ) { $delete_sql_id = ''; if (!$delete_all) { for ($i = 0; $i < count($mark_list); $i++) { $delete_sql_id .= (($delete_sql_id != '') ? ', ' : '') . intval($mark_list[$i]); } $delete_sql_id = "AND privmsgs_id IN ($delete_sql_id)"; } switch($folder) { case 'inbox': $delete_type = "privmsgs_to_userid = " . $userdata['user_id'] . " AND ( privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )"; break; case 'outbox': $delete_type = "privmsgs_from_userid = " . $userdata['user_id'] . " AND ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )"; break; case 'sentbox': $delete_type = "privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SENT_MAIL; break; case 'savebox': $delete_type = "( ( privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . " ) OR ( privmsgs_to_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . " ) )"; break; } $sql = "SELECT privmsgs_id FROM " . PRIVMSGS_TABLE . " WHERE $delete_type $delete_sql_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain id list to delete messages', '', __LINE__, __FILE__, $sql); } $mark_list = array(); while ( $row = $db->sql_fetchrow($result) ) { $mark_list[] = $row['privmsgs_id']; } unset($delete_type); if ( count($mark_list) ) { $delete_sql_id = ''; for ($i = 0; $i < sizeof($mark_list); $i++) { $delete_sql_id .= (($delete_sql_id != '') ? ', ' : '') . intval($mark_list[$i]); } if ($folder == 'inbox' || $folder == 'outbox') { switch ($folder) { case 'inbox': $sql = "privmsgs_to_userid = " . $userdata['user_id']; break; case 'outbox': $sql = "privmsgs_from_userid = " . $userdata['user_id']; break; } // Get information relevant to new or unread mail // so we can adjust users counters appropriately $sql = "SELECT privmsgs_to_userid, privmsgs_type FROM " . PRIVMSGS_TABLE . " WHERE privmsgs_id IN ($delete_sql_id) AND $sql AND privmsgs_type IN (" . PRIVMSGS_NEW_MAIL . ", " . PRIVMSGS_UNREAD_MAIL . ")"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain user id list for outbox messages', '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result)) { $update_users = $update_list = array(); do { switch ($row['privmsgs_type']) { case PRIVMSGS_NEW_MAIL: $update_users['new'][$row['privmsgs_to_userid']]++; break; case PRIVMSGS_UNREAD_MAIL: $update_users['unread'][$row['privmsgs_to_userid']]++; break; } } while ($row = $db->sql_fetchrow($result)); if (sizeof($update_users)) { while (list($type, $users) = each($update_users)) { while (list($user_id, $dec) = each($users)) { $update_list[$type][$dec][] = $user_id; } } unset($update_users); while (list($type, $dec_ary) = each($update_list)) { switch ($type) { case 'new': $type = "user_new_privmsg"; break; case 'unread': $type = "user_unread_privmsg"; break; } while (list($dec, $user_ary) = each($dec_ary)) { $user_ids = implode(', ', $user_ary); $sql = "UPDATE " . USERS_TABLE . " SET $type = $type - $dec WHERE user_id IN ($user_ids)"; if ( !$db->sql_query($sql) ) { message_die(GENERAL_ERROR, 'Could not update user pm counters', '', __LINE__, __FILE__, $sql); } } } unset($update_list); } } $db->sql_freeresult($result); } // Delete the messages $delete_text_sql = "DELETE FROM " . PRIVMSGS_TEXT_TABLE . " WHERE privmsgs_text_id IN ($delete_sql_id)"; $delete_sql = "DELETE FROM " . PRIVMSGS_TABLE . " WHERE privmsgs_id IN ($delete_sql_id) AND "; switch( $folder ) { case 'inbox': $delete_sql .= "privmsgs_to_userid = " . $userdata['user_id'] . " AND ( privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )"; break; case 'outbox': $delete_sql .= "privmsgs_from_userid = " . $userdata['user_id'] . " AND ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )"; break; case 'sentbox': $delete_sql .= "privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SENT_MAIL; break; case 'savebox': $delete_sql .= "( ( privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . " ) OR ( privmsgs_to_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . " ) )"; break; } if ( !$db->sql_query($delete_sql, BEGIN_TRANSACTION) ) { message_die(GENERAL_ERROR, 'Could not delete private mess
Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web14/html/phpBB2/privmsg.php:16) in /srv/www/htdocs/web14/html/phpBB2/includes/sessions.php on line 254

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web14/html/phpBB2/privmsg.php:16) in /srv/www/htdocs/web14/html/phpBB2/includes/sessions.php on line 255

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web14/html/phpBB2/privmsg.php:16) in /srv/www/htdocs/web14/html/phpBB2/includes/functions.php on line 951