Fix bug with attempted deletion of non-existent messages + attempt 1E200 at fixing the incorrect URLs in email messages ...

git-svn-id: file:///svn/phpbb/trunk@2123 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2002-02-13 01:11:35 +00:00
parent d0207fee9b
commit 80a1db0f1d

View file

@ -671,62 +671,64 @@ else if( ( $delete && $mark_list ) || $delete_all )
unset($delete_type); unset($delete_type);
} }
$delete_sql = "DELETE FROM " . PRIVMSGS_TABLE . " if ( count($mark_list) )
WHERE ";
$delete_text_sql = "DELETE FROM " . PRIVMSGS_TEXT_TABLE . "
WHERE ";
$delete_sql_id = "";
for($i = 0; $i < count($mark_list); $i++)
{ {
if( $delete_sql_id != "" ) $delete_sql = "DELETE FROM " . PRIVMSGS_TABLE . "
WHERE ";
$delete_text_sql = "DELETE FROM " . PRIVMSGS_TEXT_TABLE . "
WHERE ";
$delete_sql_id = "";
for($i = 0; $i < count($mark_list); $i++)
{ {
$delete_sql_id .= ", "; if( $delete_sql_id != "" )
{
$delete_sql_id .= ", ";
}
$delete_sql_id .= $mark_list[$i];
} }
$delete_sql_id .= $mark_list[$i];
}
$delete_sql .= "privmsgs_id IN ($delete_sql_id)"; $delete_sql .= "privmsgs_id IN ($delete_sql_id)";
$delete_text_sql .= "privmsgs_text_id IN ($delete_sql_id)"; $delete_text_sql .= "privmsgs_text_id IN ($delete_sql_id)";
$delete_sql .= " AND "; $delete_sql .= " AND ";
switch($folder) switch($folder)
{
case 'inbox':
$delete_sql .= "privmsgs_to_userid = " . $userdata['user_id'] . " AND (
privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " )";
break;
case 'outbox':
$delete_sql .= "privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_NEW_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(!$del_status = $db->sql_query($delete_sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, "Could not delete private message info.", "", __LINE__, __FILE__, $delete_sql);
}
else
{
if(!$del_text_status = $db->sql_query($delete_text_sql, END_TRANSACTION))
{ {
message_die(GENERAL_ERROR, "Could not delete private message text.", "", __LINE__, __FILE__, $delete_text_sql); case 'inbox':
$delete_sql .= "privmsgs_to_userid = " . $userdata['user_id'] . " AND (
privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " )";
break;
case 'outbox':
$delete_sql .= "privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_NEW_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(!$del_status = $db->sql_query($delete_sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, "Could not delete private message info.", "", __LINE__, __FILE__, $delete_sql);
}
else
{
if(!$del_text_status = $db->sql_query($delete_text_sql, END_TRANSACTION))
{
message_die(GENERAL_ERROR, "Could not delete private message text.", "", __LINE__, __FILE__, $delete_text_sql);
}
} }
} }
} }
} }
else if( $save && $mark_list && $folder != "savebox" && $folder != "outbox") else if( $save && $mark_list && $folder != "savebox" && $folder != "outbox")
{ {
@ -751,10 +753,8 @@ else if( $save && $mark_list && $folder != "savebox" && $folder != "outbox")
$sql_priority = (SQL_LAYER == "mysql") ? "LOW_PRIORITY" : ""; $sql_priority = (SQL_LAYER == "mysql") ? "LOW_PRIORITY" : "";
if( $db->sql_numrows($result) ) if( $saved_info = $db->sql_fetchrow($result) )
{ {
$saved_info = $db->sql_fetchrow($result);
if( $saved_info['savebox_items'] >= $board_config['max_savebox_privmsgs'] ) if( $saved_info['savebox_items'] >= $board_config['max_savebox_privmsgs'] )
{ {
$sql = "DELETE $sql_priority FROM " . PRIVMSGS_TABLE . " $sql = "DELETE $sql_priority FROM " . PRIVMSGS_TABLE . "
@ -797,21 +797,24 @@ else if( $save && $mark_list && $folder != "savebox" && $folder != "outbox")
break; break;
} }
$saved_sql_id = ""; if ( count($mark_list) )
for($i = 0; $i < count($mark_list); $i++)
{ {
if( $saved_sql_id != "" ) $saved_sql_id = "";
for($i = 0; $i < count($mark_list); $i++)
{ {
$saved_sql_id .= ", "; if( $saved_sql_id != "" )
{
$saved_sql_id .= ", ";
}
$saved_sql_id .= $mark_list[$i];
} }
$saved_sql_id .= $mark_list[$i];
}
$saved_sql .= " AND privmsgs_id IN ($saved_sql_id)"; $saved_sql .= " AND privmsgs_id IN ($saved_sql_id)";
if( !$save_status = $db->sql_query($saved_sql) ) if( !$save_status = $db->sql_query($saved_sql) )
{ {
message_die(GENERAL_ERROR, "Could not save private messages.", "", __LINE__, __FILE__, $saved_sql); message_die(GENERAL_ERROR, "Could not save private messages.", "", __LINE__, __FILE__, $saved_sql);
}
} }
} }
@ -1063,30 +1066,34 @@ else if( $submit || $refresh || $mode != "" )
if( $to_userdata['user_notify_pm'] && !empty($to_userdata['user_email']) ) if( $to_userdata['user_notify_pm'] && !empty($to_userdata['user_email']) )
{ {
if( isset($HTTP_SERVER_VARS['PHP_SELF']) || isset($HTTP_ENV_VARS['PHP_SELF']) ) if( !empty($HTTP_SERVER_VARS['PHP_SELF']) || !empty($HTTP_ENV_VARS['PHP_SELF']) )
{ {
$script_name = ( isset($HTTP_SERVER_VARS['PHP_SELF']) ) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF']; $script_name = ( !empty($HTTP_SERVER_VARS['PHP_SELF']) ) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF'];
} }
else if( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) || isset($HTTP_ENV_VARS['SCRIPT_NAME']) ) else if( !empty($HTTP_SERVER_VARS['SCRIPT_NAME']) || !empty($HTTP_ENV_VARS['SCRIPT_NAME']) )
{ {
$script_name = ( isset($HTTP_SERVER_VARS['SCRIPT_NAME']) ) ? $HTTP_SERVER_VARS['SCRIPT_NAME'] : $HTTP_ENV_VARS['SCRIPT_NAME']; $script_name = ( !empty($HTTP_SERVER_VARS['SCRIPT_NAME']) ) ? $HTTP_SERVER_VARS['SCRIPT_NAME'] : $HTTP_ENV_VARS['SCRIPT_NAME'];
} }
else if( isset($HTTP_SERVER_VARS['PATH_INFO']) || isset($HTTP_ENV_VARS['PATH_INFO']) ) else if( !empty($HTTP_SERVER_VARS['PATH_INFO']) || !empty($HTTP_ENV_VARS['PATH_INFO']) )
{ {
$script_name = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_ENV_VARS['PATH_INFO']; $script_name = ( !empty($HTTP_SERVER_VARS['PATH_INFO']) ) ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_ENV_VARS['PATH_INFO'];
} }
else else
{ {
$script_name = "privmsg.$phpEx"; $script_name = "privmsg.$phpEx";
} }
if( isset($HTTP_SERVER_VARS['SERVER_NAME']) || isset($HTTP_ENV_VARS['SERVER_NAME']) ) if ( !empty($board_config['cookie_domain']) )
{ {
$server_name = ( isset($HTTP_SERVER_VARS['SERVER_NAME']) ) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME']; $server_name = $board_config['cookie_domain'];
} }
else if( isset($HTTP_SERVER_VARS['HTTP_HOST']) || isset($HTTP_ENV_VARS['HTTP_HOST']) ) else if( !empty($HTTP_SERVER_VARS['SERVER_NAME']) || !empty($HTTP_ENV_VARS['SERVER_NAME']) )
{ {
$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST']; $server_name = ( !empty($HTTP_SERVER_VARS['SERVER_NAME']) ) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME'];
}
else if( !empty($HTTP_SERVER_VARS['HTTP_HOST']) || !empty($HTTP_ENV_VARS['HTTP_HOST']) )
{
$server_name = ( !empty($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_ENV_VARS['HTTP_HOST'];
} }
else else
{ {