Workshop Manual
Moderator: Dirk
- Uwe
- Bruchpilot
- Beiträge: 8207
- Registriert: Sonntag 2. März 2003, 00:27
- Mein Motorrad: HONDA CX500 EML Gespann, Bj. 1982
- Zweit-Motorrad: HONDA CX500, Bj. 1980
- PKW: VW GOLF 5 Variant 1.9 TDI DPF
- eBay Name: Uwe472
- Wohnort: Kreis Segeberg
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
- Kontaktdaten:
Scan ein und pack's 'nen Monat auf'n WEB-Space...
Dann haben's alle.
Den Umweg über CD/DVD kannst du dir dann sparen, haben ja alle DSL, nicht wahr?
Nimmst 5 Euro für einen Download und spendest den Rest abzüglich Eigenkosten dem Admin - wie auf anderen Foren schon üblich geworden, oder?
Gruß Uwe *ironielaesstgruessen*
Dann haben's alle.
Den Umweg über CD/DVD kannst du dir dann sparen, haben ja alle DSL, nicht wahr?
Nimmst 5 Euro für einen Download und spendest den Rest abzüglich Eigenkosten dem Admin - wie auf anderen Foren schon üblich geworden, oder?
Gruß Uwe *ironielaesstgruessen*
- Uwe
- Bruchpilot
- Beiträge: 8207
- Registriert: Sonntag 2. März 2003, 00:27
- Mein Motorrad: HONDA CX500 EML Gespann, Bj. 1982
- Zweit-Motorrad: HONDA CX500, Bj. 1980
- PKW: VW GOLF 5 Variant 1.9 TDI DPF
- eBay Name: Uwe472
- Wohnort: Kreis Segeberg
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
- Kontaktdaten:
Hab was gefunden, mal sehen, wann ich das einstricken kann...
Code: Alles auswählen
##############################################################
## MOD Title : Account Self-Delete
## MOD Author: Poupoune < poupoune@phpbb-fr.com > (N/A) http://php-tools.org/poupoune/
##
## MOD Description : This MOD allows users to delete their own account on your board.
## This feature can be desactivated in the ACP.
##
## MOD Version : 1.0.0
##
## Installation Level : Easy
## Installation Time : 5 minute(s)
## Files To Edit : 5
## admin/admin_board.php
## includes/usercp_register.php
## language/lang_english/lang_main.php
## language/lang_english/lang_admin.php
## templates/subSilver/admin/board_config_body.tpl
## templates/subSilver/profile_add_body.tpl
## Included Files : 0
##
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes :
##
##############################################################
## MOD History :
##
## 10-08-2004 - Version 1.0.0
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ SQL ]----------------------------------------------
#
INSERT INTO `phpbb_config` VALUES ('account_delete', '1');
#
#-----[ OPEN ]----------------------------------------------
#
admin/admin_board.php
#
#-----[ FIND ]----------------------------------------------
#
$disable_board_yes = ( $new['board_disable'] ) ? "checked=\"checked\"" : "";
$disable_board_no = ( !$new['board_disable'] ) ? "checked=\"checked\"" : "";
#
#-----[ AFTER, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
$account_delete_yes = ( $new['account_delete'] ) ? "checked=\"checked\"" : "";
$account_delete_no = ( !$new['account_delete'] ) ? "checked=\"checked\"" : "";
// End Account Self-Delete MOD
#
#-----[ FIND ]----------------------------------------------
#
"L_DISABLE_BOARD_EXPLAIN" => $lang['Board_disable_explain'],
#
#-----[ AFTER, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
"L_ACCOUNT_DELETE" => $lang['account_delete'],
// End Account Self-Delete MOD
#
#-----[ FIND ]----------------------------------------------
#
"S_DISABLE_BOARD_NO" => $disable_board_no,
#
#-----[ AFTER, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
"S_ACCOUNT_DELETE_YES" => $account_delete_yes,
"S_ACCOUNT_DELETE_NO" => $account_delete_no,
// End Account Self-Delete MOD
#
#-----[ OPEN ]----------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]----------------------------------------------
#
$strip_var_list = array(
#
#-----[ BEFORE, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
if( $HTTP_POST_VARS['deleteuser'] )
{
$message = "<form action=\"". append_sid("profile.$phpEx?mode=editprofile") ."\" method=\"post\">". $lang['Delete_account_question'] ."<br /><br /><input type=\"submit\" name=\"delete_confirm\" value=\"". $lang['Yes'] ."\" class=\"mainoption\" /> <input type=\"submit\" name=\"delete_cancel\" value=\"". $lang['No'] ."\" class=\"liteoption\" /><input type=\"hidden\" name=\"user_id\" value=\"$user_id\" /></form>";
message_die(GENERAL_MESSAGE, $message);
}
// End Account Self-Delete MOD
#
#-----[ FIND ]----------------------------------------------
#
//
// Let's make sure the user isn't logged in while registering,
// and ensure that they were trying to register a second time
// (Prevents double registrations)
//
#
#-----[ BEFORE, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD ** Code from admin/admin_users.php
if( isset($HTTP_POST_VARS['delete_confirm']) )
{
$user_id = intval( $HTTP_POST_VARS['user_id'] );
$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);
}
$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);
}
}
$message = $lang['User_deleted'] . '<br /><br />' . sprintf($lang['Click_return_userprofile'], '<a href="' . append_sid("profile.$phpEx?mode=editprofile") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
// End Account Self-Delete MOD
#
#-----[ FIND ]----------------------------------------------
#
'L_ALWAYS_ADD_SIGNATURE' => $lang['Always_add_sig'],
#
#-----[ AFTER, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
'L_ACCOUNT_DELETE' => $lang['Account_delete'],
'L_DELETE_ACCOUNT_EXPLAIN' => $lang['Account_delete_explain'],
// End Account Self-Delete MOD
#
#-----[ FIND ]----------------------------------------------
#
if ( $mode != 'register' )
{
#
#-----[ AFTER, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
if( $board_config['account_delete'] )
{
$template->assign_block_vars('account_delete_block', array() );
}
// End Account Self-Delete MOD
#
#-----[ OPEN ]----------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]----------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
$lang['account_delete'] = 'Allows users to delete their own accounts';
// End Account Self-Delete MOD
#
#-----[ OPEN ]----------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]----------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]----------------------------------------------
#
// Begin Account Self-Delete MOD
$lang['Account_delete'] = 'Do you want to delete your account on this board?';
$lang['Account_delete_explain'] = 'Deletion of your account cannot be undone';
$lang['User_deleted'] = 'Your account has been sucessfully deleted.';
$lang['Delete_account_question'] = 'Deletion of your account will delete all personnal informations that concerns you in your profile, inside the database of this board. The messages you wrote in this board will have as post author a guest. <b>Attention !</b> all deletion can not be undone.<br /><br />Do you want to delete your account in this board?';
// End Account Self-Delete MOD
#
#-----[ OPEN ]----------------------------------------------
#
templates/subSilver/admin/board_config_body.tpl
#
#-----[ FIND ]----------------------------------------------
#
<tr>
<td class="row1">{L_ALLOW_NAME_CHANGE}</td>
<td class="row2"><input type="radio" name="allow_namechange" value="1" {NAMECHANGE_YES} /> {L_YES} <input type="radio" name="allow_namechange" value="0" {NAMECHANGE_NO} /> {L_NO}</td>
</tr>
#
#-----[ AFTER, ADD ]----------------------------------------------
#
<tr>
<td class="row1">{L_ACCOUNT_DELETE}</td>
<td class="row2"><input type="radio" name="account_delete" value="1" {S_ACCOUNT_DELETE_YES} /> {L_YES} <input type="radio" name="account_delete" value="0" {S_ACCOUNT_DELETE_NO} /> {L_NO}</td>
</tr>
#
#-----[ OPEN ]----------------------------------------------
#
templates/subSilver/profile_add_body.tpl
#
#-----[ FIND ]----------------------------------------------
#
<!-- Visual Confirmation -->
#
#-----[ BEFORE, ADD ]----------------------------------------------
#
<!-- BEGIN account_delete_block -->
<tr>
<td class="row1"><span class="gen">{L_ACCOUNT_DELETE}</span></td>
<td class="row2">
<input type="checkbox" name="deleteuser">
<span class="gensmall">{L_DELETE_ACCOUNT_EXPLAIN}</span></td>
</tr>
<!-- END account_delete_block -->
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
- Timo
- Master Admin
- Beiträge: 228
- Registriert: Sonntag 2. März 2003, 03:29
- Mein Motorrad: XJ750 SECA
- eBay Name: habe gar keinen
- Wohnort: 20537 Hamburg
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 2 Mal
- Kontaktdaten:
Ich frag mich nur warum jemand überhaupt antwortet wenn er doch gar nicht in einem Forum Mitglied sein will. Dann soll es es doch einfach lassen.
Löschen würde ich aber keinen denn sobald das gescheit und er hat irgend wann mal was Strafbares geschrieben das ist er dafür haftbar. Also wenn löschen dann auch mit sämtlichen Beiträgen. Da sonst der Admin dafür haftbar zu machen ist.
Oder man sollte das Mitglied dann sperren was dem Löschen gleichkommt, da sein Account nicht mehr zu nutzen ist.
Gruß Timo
P.S. : Jetzt wird er wohl unter anderem Namen schreiben und lesen.
Löschen würde ich aber keinen denn sobald das gescheit und er hat irgend wann mal was Strafbares geschrieben das ist er dafür haftbar. Also wenn löschen dann auch mit sämtlichen Beiträgen. Da sonst der Admin dafür haftbar zu machen ist.
Oder man sollte das Mitglied dann sperren was dem Löschen gleichkommt, da sein Account nicht mehr zu nutzen ist.
Gruß Timo
P.S. : Jetzt wird er wohl unter anderem Namen schreiben und lesen.
Als Kind wurde ich immer gewarnt:"Weg vom Fenster, da kannste abstürzen."
Falls ihr PC-Probleme habt schaut doch einfach mal rein.
Wer gerne ein Oneplus 5T haben möchte kann gerne diesen Link benutzen.
https://oneplus.net/de/invite#5WRBNXY2BJOW93
uuund wechhh....
Timo
Falls ihr PC-Probleme habt schaut doch einfach mal rein.
Wer gerne ein Oneplus 5T haben möchte kann gerne diesen Link benutzen.
https://oneplus.net/de/invite#5WRBNXY2BJOW93
uuund wechhh....
Timo
- Uwe
- Bruchpilot
- Beiträge: 8207
- Registriert: Sonntag 2. März 2003, 00:27
- Mein Motorrad: HONDA CX500 EML Gespann, Bj. 1982
- Zweit-Motorrad: HONDA CX500, Bj. 1980
- PKW: VW GOLF 5 Variant 1.9 TDI DPF
- eBay Name: Uwe472
- Wohnort: Kreis Segeberg
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
- Kontaktdaten:
Hallo Timo,
ich habe mir da mal so die einschlägigen Threads durchgelesen und bin der Meinung, dass jeder seinen Account (zumindest über den Admin) löschen lassen können soll. Dessen Beiträge auch noch zu löschen, dass ist da nicht drin. Erstens zu viel Arbeit für den Admin, zweitens werden die Threads entstellt, wenn diese Beiträge fehlen. Schliesslich hat sich entsprechende Person irgend wann ja mal angemeldet und hat mit Wissen und Willen diese Beiträge ja auch verfasst. Derjenige hätte vor Löschung seines Accounts seine Postings über die Editierfunktion auf eine Reihe Punkte (...) zurücksetzen können.
Aber es ist ja immer noch der Name, wenn auch als Gast, zum jeweiligen Beitrag vorhanden.
Gruß Uwe
ich habe mir da mal so die einschlägigen Threads durchgelesen und bin der Meinung, dass jeder seinen Account (zumindest über den Admin) löschen lassen können soll. Dessen Beiträge auch noch zu löschen, dass ist da nicht drin. Erstens zu viel Arbeit für den Admin, zweitens werden die Threads entstellt, wenn diese Beiträge fehlen. Schliesslich hat sich entsprechende Person irgend wann ja mal angemeldet und hat mit Wissen und Willen diese Beiträge ja auch verfasst. Derjenige hätte vor Löschung seines Accounts seine Postings über die Editierfunktion auf eine Reihe Punkte (...) zurücksetzen können.
Aber es ist ja immer noch der Name, wenn auch als Gast, zum jeweiligen Beitrag vorhanden.
Gruß Uwe