Wenn ich Benutzer, die 4 mal erinnert wurden, lösche, verschwinden auch deren Beiträge. Wenn ich jetzt auf dem Portal auf letzten Beitrag von einem Thema gehe, in dem ein Benutzer gepostet hat und mit dem Admin Reminder gelöscht wurde, dann sagt er "Es existieren keine Beiträge zu diesem Thema."
Wenn man in der admin_reminder.php das hier:
Code: Alles auswählen
elseif ($mode == 'deleteuser')
{
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
if ( isset($HTTP_POST_VARS['BOX']))
{
foreach ($HTTP_POST_VARS['BOX'] as $sel_user)
{
$sql = "SELECT username, user_active, user_actkey, user_id, user_regdate, user_email, user_lang, user_reminded FROM " . USERS_TABLE . " WHERE user_id = '$sel_user'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
}
else
{
while($row = $db->sql_fetchrow($results))
{
$sel_user = $row[user_id];
$actkey_link = $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $row[user_id] . '&act_key=' . $row[user_actkey];
$reg_date = create_date($board_config['default_dateformat'], $row['user_regdate'], $board_config['board_timezone']);
$email = $row[user_email];
$username = $row[username];
$user_lang = $row[user_lang];
$deluser = "DELETE FROM " . USERS_TABLE . " WHERE user_reminded >= '$threshold' AND user_id = '$sel_user' AND user_id != '-1'";
$db->sql_query($deluser) or die ("Kein DB-Update moeglich!");
$template->assign_block_vars("show_reminded_user", array(
'PROFILE' => $row[username],
'E_MAIL' => $email,
'REMCOUNT' => $remindcount,
'BOXTYPE' => "hidden",
'REG_DATE' => $reg_date,)
);
$template->assign_vars(array(
'L_TITLE' => "<u>DELETED user</u>",
'L_USERNAME' => $lang['Username'],
'L_EMAIL' => $lang['Email'],
'L_DATE' => " ",
'SUBTYPE' => "hidden",
'OPTION1' => " ",
'OPTION2' => " ",
'OPTION3' => " ",
'OPTION4' => " ",
'BUTTEXT' => "Nothing to do")
);
}
}
}
}
}
}
Code: Alles auswählen
elseif ($mode == 'deleteuser')
{
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
if ( isset($HTTP_POST_VARS['BOX']))
{
foreach ($HTTP_POST_VARS['BOX'] as $sel_user)
{
$sql = "SELECT username, user_active, user_actkey, user_id, user_regdate, user_email, user_lang, user_reminded FROM " . USERS_TABLE . " WHERE user_id = '$sel_user'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
}
else
{
while($row = $db->sql_fetchrow($results))
{
$user_id = $row[user_id];
$actkey_link = $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $row[user_id] . '&act_key=' . $row[user_actkey];
$reg_date = create_date($board_config['default_dateformat'], $row['user_regdate'], $board_config['board_timezone']);
$email = $row[user_email];
$username = $row[username];
$user_lang = $row[user_lang];
$template->assign_block_vars("show_reminded_user", array(
'PROFILE' => $row[username],
'E_MAIL' => $email,
'REMCOUNT' => $remindcount,
'BOXTYPE' => "hidden",
'REG_DATE' => $reg_date,)
);
$template->assign_vars(array(
'L_TITLE' => "<u>DELETED user</u>",
'L_USERNAME' => $lang['Username'],
'L_EMAIL' => $lang['Email'],
'L_DATE' => " ",
'SUBTYPE' => "hidden",
'OPTION1' => " ",
'OPTION2' => " ",
'OPTION3' => " ",
'OPTION4' => " ",
'BUTTEXT' => "Nothing to do")
);
$sql = "SELECT g.group_id
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = $user_id
AND g.group_id = ug.group_id
AND g.group_single_user = 1";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain group information for this user', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$sql = "UPDATE " . POSTS_TABLE . "
SET poster_id = " . DELETED . ", post_username = '$username'
WHERE poster_id = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update posts for this user', '', __LINE__, __FILE__, $sql);
}
// Start add - Fully integrated shoutbox MOD
$sql = "UPDATE " . SHOUTBOX_TABLE . "
SET shout_user_id = " . DELETED . ", shout_username = '$username'
WHERE shout_user_id = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update shouts for this user', '', __LINE__, __FILE__, $sql);
}
// End add - Fully integrated shoutbox MOD
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_poster = " . DELETED . "
WHERE topic_poster = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update topics for this user', '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . VOTE_USERS_TABLE . "
SET vote_user_id = " . DELETED . "
WHERE vote_user_id = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update votes for this user', '', __LINE__, __FILE__, $sql);
}
$sql = "SELECT group_id
FROM " . GROUPS_TABLE . "
WHERE group_moderator = $user_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select groups where user was moderator', '', __LINE__, __FILE__, $sql);
}
while ( $row_group = $db->sql_fetchrow($result) )
{
$group_moderator[] = $row_group['group_id'];
}
if ( count($group_moderator) )
{
$update_moderator_id = implode(', ', $group_moderator);
$sql = "UPDATE " . GROUPS_TABLE . "
SET group_moderator = " . $userdata['user_id'] . "
WHERE group_moderator IN ($update_moderator_id)";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update group moderators', '', __LINE__, __FILE__, $sql);
}
}
$sql = "DELETE FROM " . USERS_TABLE . "
WHERE user_id = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete user', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE user_id = $user_id";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete user from user_group table', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . GROUPS_TABLE . "
WHERE group_id = " . $row['group_id'];
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete group for this user', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
WHERE group_id = " . $row['group_id'];
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete group for this user', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete user from topic watch table', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . BANLIST_TABLE . "
WHERE ban_userid = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete user from banlist table', '', __LINE__, __FILE__, $sql);
}
$sql = "SELECT privmsgs_id
FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_from_userid = $user_id
OR privmsgs_to_userid = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select all users private messages', '', __LINE__, __FILE__, $sql);
}
// This little bit of code directly from the private messaging section.
while ( $row_privmsgs = $db->sql_fetchrow($result) )
{
$mark_list[] = $row_privmsgs['privmsgs_id'];
}
if ( count($mark_list) )
{
$delete_sql_id = implode(', ', $mark_list);
$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)";
if ( !$db->sql_query($delete_sql) )
{
message_die(GENERAL_ERROR, 'Could not delete private message info', '', __LINE__, __FILE__, $delete_sql);
}
if ( !$db->sql_query($delete_text_sql) )
{
message_die(GENERAL_ERROR, 'Could not delete private message text', '', __LINE__, __FILE__, $delete_text_sql);
}
}
}
}
}
}
}
}
Schon mal vielen Dank im Voraus
Fabi