Verfasst: 17.10.2004 12:56
Du kannst es auch lassen, aber dann musst du jemand anderen finden, der dir dabei hilft.
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
Eine organisatorische Vorkehrung könnte sein, dass der User seinen Willen zur Löschung seines Accounts gegenüber den Admins mittels PN kund tut und der Admin entsprechend dem Wunsch reagiert.(4) Der Diensteanbieter hat durch technische und organisatorische Vorkehrungen sicherzustellen, dass
1. der Nutzer seine Verbindung mit dem Diensteanbieter jederzeit abbrechen
...
da ist nur phpBB Version: 2.0.10 - 2.0.11
Code: Alles auswählen
##############################################################
##
## MOD Description : Dieser Mod erlaubt Usern Ihre Mitgliedschaft zu löschen
## (für Deutschland aus rechtlichen Gründen empfohlen)
Open:
templates/xxx/profile_add_body.tpl
Find:
Code:
<input type="password" class="post" style="width: 200px" name="password_confirm" size="25" maxlength="100" value="{PASSWORD_CONFIRM}" />
</td>
</tr>
After add:
Code:
<!-- BEGIN deletemerow -->
<tr>
<td class="row1"><span class="gen">{deletemerow.L_DELETE_ME}: </span><br />
<span class="gensmall">{deletemerow.L_DELETE_ME_INFO}</span></td>
<td class="row2">{deletemerow.S_DELETE_ME}</td>
</tr>
<!-- END deletemerow -->
Open:
profile.php
Find:
Code:
$mode = htmlspecialchars($mode);
After add:
Code:
if( isset($HTTP_GET_VARS['deleteme']) || isset($HTTP_POST_VARS['deleteme']) )
{
$mode = 'deleteme';
}
if ( $mode == "editprofile" )
{
$template->assign_block_vars("deletemerow", array(
"L_DELETE_ME" => "Mitgliedschaft beenden",
"L_DELETE_ME_INFO" => "Um Ihre Mitgliedschaft zu beenden tippen Sie bitte JA in die Box (mit Großbuchstaben). Achtung, die Löschung kann nicht rückgängig gemacht werden!",
"S_DELETE_ME" => '<input type="checkbox" name="deleteme">&&<input type="text" size="3" maxlength="3" name="deleteme_confirm" value="NEIN">')
);
}
Find:
Code:
else if ( $mode == 'email' )
{
include($phpbb_root_path . 'includes/usercp_email.'.$phpEx);
exit;
After add:
Code:
} else if( $mode == "deleteme" )
{
$clear_confirm = ( isset($HTTP_POST_VARS['deleteme_confirm']) ) ? $HTTP_POST_VARS['deleteme_confirm'] : $HTTP_GET_VARS['deleteme_confirm'];
if ($clear_confirm == 'JA')
{ $user_id = $userdata['user_id'];
if($user_id<3) { echo "$user_id - es gibt user, die soll man nicht löschen..."; exit; }
$sql = "SELECT g.group_id
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = " . $userdata['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, "Couldn't obtain group information for this user", "", __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$sql = "SELECT user_id FROM " . USERS_TABLE . " WHERE user_id = '" . $user_id . "' AND user_id > 2";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get user information', '', __LINE, __FILE__, $sql);
}
$xrow = $db->sql_fetchrow($xresult);
$sql = "UPDATE " . POSTS_TABLE . "
SET poster_id = '-1', post_username = 'Gast$user_id'
WHERE poster_id = " . $userdata['user_id'];
if( $result = $db->sql_query($sql) )
{
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_poster = '-1'
WHERE topic_poster = " . $userdata['user_id'];
if( $result = $db->sql_query($sql) )
{
$sql = "DELETE FROM " . USERS_TABLE . "
WHERE user_id = " . $userdata['user_id'];
if( $result = $db->sql_query($sql) )
{
$sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE user_id = " . $userdata['user_id'];
if( $result = $db->sql_query($sql) )
{
$sql = "DELETE FROM " . GROUPS_TABLE . "
WHERE group_id = " . $row['group_id'];
if( $result = $db->sql_query($sql) )
{
$sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
WHERE user_id = " . $userdata['user_id'];
$result = @$db->sql_query($sql);
}
else
{
$error = TRUE;
}
}
else
{
$error = TRUE;
}
}
else
{
$error = TRUE;
}
}
else
{
$error = TRUE;
}
}
else
{
$error = TRUE;
}
if( $error == TRUE )
{
message_die(GENERAL_MESSAGE, "Sorry - Ein Fehler ist aufgetreten. Bitte benachrichtigen Sie den Betreiber. - Error deleting your account.");
}
else
{
message_die(GENERAL_MESSAGE, "Ihre Mitgliedschaft ist beendet. Ihre Beiträge im Forum wurden annonymisiert");
}
}
else
{
$message = $lang['Profile_updated'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}