Seite 1 von 5
Suche dringend Mod zu Accountlöschung durch User
Verfasst: 11.04.2004 17:50
von Anni
Hallo zusammen,
wollte mal nachfragen, ob es irgendwo ein Mod gibt, das man ins phpbb2.0.6 einbauen kann, was usern die Möglichkeit gibt, ihren Account selbst zu löschen. In deutscher Sprache wenn es irgendwie möglich wäre...
liebe Ostergrüsse
Anni
Verfasst: 11.04.2004 23:21
von Firestarter
Code: Alles auswählen
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 = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['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" => "Delete Your Account",
"L_DELETE_ME_INFO" => "Check the box and type YES (all capital letters) in the other box. This can not be undone!",
"S_DELETE_ME" => '<input type="checkbox" name="deleteme">&&<input type="text" size="3" maxlength="3" name="deleteme_confirm" value="NO">')
);
}
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 == 'YES')
{
$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 . "'";
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 = '" . $userdata['username'] . "'
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, "Error deleting your account.");
}
else
{
message_die(GENERAL_MESSAGE, "Your account deleted.");
}
}
else
{
$message = $lang['Profile_updated'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
Verfasst: 12.04.2004 18:09
von Anni
Hallo Firestarter
vielen dank für deine Mühe ich werde es gleich versuchen einzubauen und sage gleich bescheid, wenns gelungen ist
LG
Anni
Verfasst: 12.04.2004 18:38
von Anni
Hallo Firestarter,
ich nochmal...
es funktioniert einwandfrei

... danke nochmal für deine Mühe...
LG
Anni
Verfasst: 03.05.2004 17:22
von Loewenherz
Super, genau das habe ich gerade gesucht. Im Sinne der Selbstbestimmung jedes Users fände ich es auch besser, wenn eine solche Funktion standardmässig im phpBB integriert wäre. Ob die 2.2 das bringen wird...
Verfasst: 03.05.2004 17:24
von Leo Navis
Wozu denn das?
Ich halte das eher für Unsinn, warum sollte man denn seinen eigenen Account löschen wollen?!

Verfasst: 03.05.2004 18:06
von Anni
Hallo Leo,
ich finde es sogar sehr sinnvoll... wenn in einem Forum wo meist nur posten kann, wenn man registriert ist, stellt man eine frage, bekommt man ne antwort und kommt man nie wieder hin.. weil: problem gelöst usw.
da sollte schon jeder selbst entscheiden können, ob er noch im forum bleiben möchte oder auch nicht.. neu registrieren kann man sich immer noch.. ausserdem hat man dann nich soviele tote mitglieder..
In Nuke foren ist das Löschen durch User (eignes account) standardmässig drin und das ist auch gut so...
Lg
anni
TDDSG §4 Absatz 2 Satz 1
Verfasst: 19.05.2004 04:19
von speedy66x
Hallo,
zu Euren Gedanken bezüglich der Löschfunktion der eigenen Benutzerdaten, möchte ich Euch hiermit nur kurz auf TDDSG §4 Absatz 4 Satz 1 und 2 hinweisen.
Den ganzen Text findet Ihr unter:
http://bundesrecht.juris.de/bundesrecht/tddsg
Liebe Grüße,
speedy66x
Verfasst: 19.05.2004 04:53
von timo111
speedy66x:
was du damit genau sagen willst versteh ich nicht.
ich sehe da aber zwei andere probleme wenn sich die user selbst löschen können:
1. was passiert mit beiträgen die der user geschrieben hat (und den pn´s etc)?
2. wird die email-adresse des users wieder freigegeben und kann er sich damit wieder neu anmelden? (wenn der admin einen user löscht ist die email-adresse wieder freigegeben - man müsste also mindestens die email-adresse des (ex-)users noch in der datenbank behalten)
also ich sehe auch keinen grund warum sich ein user selbst löschen sollte. es gibt mods mit denen man inaktive user löschen kann. und wenn ein user unbedingt gelöscht werden will dann kann er es auch dem admin sagen.
Verfasst: 19.05.2004 19:54
von Anni
Hi Timo...
du verstehst nicht was speedy dir damit sagen will? Dann lese dich doch mal da durch..
2) Bietet der Diensteanbieter dem Nutzer die elektronische Einwilligung an, so hat er sicherzustellen, dass
1. sie nur durch eine eindeutige und bewusste Handlung des Nutzers erfolgen
kann,2. die Einwilligung protokolliert wird und3. der Inhalt der Einwilligung jederzeit vom Nutzer abgerufen werden kann.
(3) Der Diensteanbieter hat den Nutzer vor Erklärung seiner Einwilligung auf sein Recht auf jederzeitigen Widerruf mit Wirkung für die Zukunft hinzuweisen. Absatz 1 Satz 3 gilt entsprechend.
(4) Der Diensteanbieter hat durch technische und organisatorische Vorkehrungen sicherzustellen, dass
1. der Nutzer seine Verbindung mit dem Diensteanbieter jederzeit abbrechen
kann,2. die anfallenden personenbezogenen Daten über den Ablauf des Zugriffs oder der sonstigen Nutzung unmittelbar nach deren Beendigung gelöscht oder gesperrt werden können,3. der Nutzer Teledienste gegen Kenntnisnahme Dritter geschützt in Anspruch nehmen kann,4. die personenbezogenen Daten über die Inanspruchnahme verschiedener Teledienste durch einen Nutzer getrennt verarbeitet werden können,5. Daten nach § 6 Abs. 2 nur für Abrechnungszwecke und6. Nutzerprofile nach § 6 Abs. 3 nicht mit Daten über den Träger des Pseudonyms zusammengeführt werden können.
und zu deinen fragen: die email adresse wird wieder frei, und der User kann sich jederzeit wieder damit anmelden.. Die Postings bleiben auch erhalten, mit dem Namen des Users, allerdings ohne Mitgliederprofil.
also ich sehe auch keinen grund warum sich ein user selbst löschen sollte. es gibt mods mit denen man inaktive user löschen kann. und wenn ein user unbedingt gelöscht werden will dann kann er es auch dem admin sagen.
ich sehe
einen Grund, und der ist MIR gut genug..
es ist gesetzlich vorgeschrieben...
LG
Anni