users kunnen zelf hun account weghalen

Zelf bezig aan een modificatie? Wij kijken graag mee..
Forumregels

LEES: Algemene Voorwaarden. Denk eventueel aan tags (DEV, BETA, RC)!
phpBB3.0.x
Plaats reactie
Danny19740706
Berichten: 136
Lid geworden op: 12 jun 2010, 18:46

users kunnen zelf hun account weghalen

Bericht door Danny19740706 » 10 aug 2010, 07:50

deze is niet van mij maar wel gevonden omderweg op google.
kunnen jullie eens kijken of het een beetje klopt?

Code: Selecteer alles

############################################################## 
## 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_dutch/lang_main.php
##	language/lang_dutch/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\" />&nbsp;&nbsp;<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_dutch/lang_admin.php

# 
#-----[ FIND ]---------------------------------------------- 
# 

?>

# 
#-----[ BEFORE, ADD ]---------------------------------------------- 
#

// Begin Account Self-Delete MOD
$lang['account_delete'] = 'Stelt gebruikers in staat om hun eigen registratie te verwijderen';
// End Account Self-Delete MOD

# 
#-----[ OPEN ]---------------------------------------------- 
# 

language/lang_dutch/lang_main.php

# 
#-----[ FIND ]---------------------------------------------- 
# 

?>

# 
#-----[ BEFORE, ADD ]---------------------------------------------- 
#

// Begin Account Self-Delete MOD
$lang['Account_delete'] = 'Wil je je registratie op dit forum verwijderen?';
$lang['Account_delete_explain'] = 'Verwijdering van je registratie kan niet ongedaan gemaakt worden';
$lang['User_deleted'] = 'Je registratie is succesvol verwijdert..';
$lang['Delete_account_question'] = 'Bij verwijdering van je registratie zal al jou persoonlijke informatie in je profiel verwijdert worden. De berichten die je geschreven hebt worden getoond als zijn ze door een gast geplaatst. <b>Let op !</b> Verwijdering kan niet ongedaan worden gemaakt.<br /><br />Wil je je registratie op dit forum verwijderen?';
// 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}&nbsp;&nbsp;<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}&nbsp;&nbsp;<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 

Danny19740706
Berichten: 136
Lid geworden op: 12 jun 2010, 18:46

Re: users kunnen zelf hun account weghalen

Bericht door Danny19740706 » 10 aug 2010, 08:11

mm krijg al meteen een foutmelding bij de sql..

Code: Selecteer alles

MySQL retourneerde:  

#1136 - Column count doesn't match value count at row 1 

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20297
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Re: users kunnen zelf hun account weghalen

Bericht door Paul » 10 aug 2010, 08:40

Die MOD is bedoeld voor phpBB2, en werkt dus niet met phpBB3.

Danny19740706
Berichten: 136
Lid geworden op: 12 jun 2010, 18:46

Re: users kunnen zelf hun account weghalen

Bericht door Danny19740706 » 10 aug 2010, 08:53

o ships sorry te snel geweest dus...
vergeef mn lompheid....

Plaats reactie