Finally I can make it,......
for whom want to delete 4images user , when you delete user from phpbb control panel.
change this admin_userlist.php
to this
<?php
/***************************************************************************
* admin_userlist.php
* -------------------
* begin : Thursday, Jul 12, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id: admin_userlist.php,v 1.1.0 2003/01/05 02:36:00 psotfx Exp $
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$file = basename(__FILE__);
$module['Users']['User_List'] = $file;
return;
}
//
// Load default header
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'config.'.$phpEx);
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
}
else
{
$mode = 'joined';
}
if(isset($HTTP_POST_VARS['order']))
{
$sort_order = ($HTTP_POST_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else if(isset($HTTP_GET_VARS['order']))
{
$sort_order = ($HTTP_GET_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else
{
$sort_order = 'ASC';
}
if ( isset($HTTP_GET_VARS['alphanum']) || isset($HTTP_POST_VARS['alphanum']) )
{
$alphanum = ( isset($HTTP_POST_VARS['alphanum']) ) ? $HTTP_POST_VARS['alphanum'] : $HTTP_GET_VARS['alphanum'];
$alpha_where = ( $alphanum == '#' ) ? "AND username NOT RLIKE '^[A-Z]'":"AND username LIKE '$alphanum%'";
}
if ($HTTP_GET_VARS['mode'] == "edit") {
$user_status = $HTTP_GET_VARS['user_status'];
$user_id2 = $HTTP_GET_VARS['u'];
if ($user_id2 == 2) {
echo "Can't change status of Board owner";
exit;
}
$sql = "UPDATE " . USERS_TABLE . "
SET user_active = $user_status
WHERE user_id = $user_id2";
if( $result = $db->sql_query($sql) )
{
$message .= $lang['User_status_updated'];
}
else
{
$error = TRUE;
$error_msg = ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Admin_user_fail'];
}
}
if( $HTTP_GET_VARS['mode'] == "delete" ) {
$user_id = $HTTP_GET_VARS['u'];
$message = $lang['Confirm_user_delete'] . '<br /><br />' . sprintf($lang['Yes_delete_user'], '<a href="' . append_sid("admin_userlist.$phpEx?mode=confirm_delete&u=" . $user_id) . '">', '</a>') . '<br /><br />' . sprintf($lang['No_delete_user'], '<a href="' . append_sid("admin_userlist.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
if ($HTTP_GET_VARS['mode'] == "confirm_delete") {
$user_id = $HTTP_GET_VARS['u'];
/*if ($user_id == 2) {
echo "Can't delete Board owner";
exit;
}*/
$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);
}
//------------------------------------------------------------------------------------------------
//------------------- DELETE 4IMAGES USER-----------------------------------------------------------
//---------------------------------------------------------------------------------------------
$album_sql = "DELETE FROM " . ALBUM_USERS_TABLE . "
WHERE user_id = $user_id";
if( !$db->sql_query($album_sql) )
{
message_die(GENERAL_ERROR, 'Could not delete user 4images', '', __LINE__, __FILE__, $sql);
}
$album_sql = "DELETE FROM ". ALBUM_GROUP_MATCH_TABLE ."
WHERE user_id = $user_id";
if( !$db->sql_query($album_sql) )
{
message_die(GENERAL_ERROR, 'Could not delete group user 4images', '', __LINE__, __FILE__, $sql);
}
$album_sql = "DELETE FROM ". ALBUM_LIGHTBOXES_TABLE ."
WHERE user_id = $user_id";
if( !$db->sql_query($album_sql) )
{
message_die(GENERAL_ERROR, 'Could not delete lightboxes user 4images', '', __LINE__, __FILE__, $sql);
}
$album_sql = "DELETE FROM ". ALBUM_COMMENTS_TABLE ."
WHERE user_id = $user_id";
if( !$db->sql_query($album_sql) )
{
message_die(GENERAL_ERROR, 'Could not delete comment user 4images', '', __LINE__, __FILE__, $sql);
}
//-----------------------------------------------------------------------------------
//--------- END OF DELETE 4IMAGES USER
//-----------------------------------------------------------------------------------
$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_userslist'], '<a href="' . append_sid("admin_userlist.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
if( $HTTP_GET_VARS['mode'] == "ban" ) {
$user_id = $HTTP_GET_VARS['u'];
$message = $lang['Confirm_user_ban'] . '<br /><br />' . sprintf($lang['Yes_ban_user'], '<a href="' . append_sid("admin_userlist.$phpEx?mode=confirm_ban&u=" . $user_id) . '">', '</a>') . '<br /><br />' . sprintf($lang['No_ban_user'], '<a href="' . append_sid("admin_userlist.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
if ($mode == "confirm_ban") {
$user_id = $HTTP_GET_VARS['u'];
$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_userid)
VALUES (" . $user_id . ")";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert ban_userid info into database", "", __LINE__, __FILE__, $sql);
}
$message = $lang['User_banned'] . '<br /><br />' . sprintf($lang['Click_return_userslist'], '<a href="' . append_sid("admin_userlist.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
//
// Memberlist sorting
//
$mode_types_text = array($lang['Sort_Joined'], $lang['Sort_Username'], $lang['Sort_Posts'], $lang['Sort_Email'],);
$mode_types = array('joindate', 'username', 'posts', 'email');
$select_sort_mode = '<select name="mode">';
for($i = 0; $i < count($mode_types_text); $i++)
{
$selected = ( $mode == $mode_types[$i] ) ? ' selected="selected"' : '';
$select_sort_mode .= '<option value="' . $mode_types[$i] . '"' . $selected . '>' . $mode_types_text[$i] . '</option>';
}
$select_sort_mode .= '</select>';
$select_sort_order = '<select name="order">';
if($sort_order == 'ASC')
{
$select_sort_order .= '<option value="ASC" selected="selected">' . $lang['Sort_Ascending'] . '</option><option value="DESC">' . $lang['Sort_Descending'] . '</option>';
}
else
{
$select_sort_order .= '<option value="ASC">' . $lang['Sort_Ascending'] . '</option><option value="DESC" selected="selected">' . $lang['Sort_Descending'] . '</option>';
}
$select_sort_order .= '</select>';
//
// Generate page
//
$template->set_filenames(array(
'body' => 'admin/userlist_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);
$template->assign_vars(array(
'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
'L_EMAIL' => $lang['Email'],
'L_USERNAME' => $lang['Username'],
'L_ORDER' => $lang['Order'],
'L_SORT' => $lang['Sort'],
'L_SUBMIT' => $lang['Sort'],
'L_JOINED' => $lang['Joined'],
'L_POSTS' => $lang['Posts'],
'L_PM' => $lang['Private_Message'],
'L_ACTIVE' => $lang['Active'],
'L_ACTION' => $lang['Action'],
'L_EDIT_PERMISSION' => $lang['Edit_Permission'],
'L_EDIT_PROFILE' => $lang['Edit_Profile'],
'L_PM' => $lang['Private_Message'],
'L_USER_LIST_TITLE' => $lang['User_list_title'],
'L_USER_LIST_DESCRIPTION' => $lang['User_list_description'],
'L_USERGROUP' => $lang['User_group'],
'S_MODE_SELECT' => $select_sort_mode,
'S_ORDER_SELECT' => $select_sort_order,
'S_MODE_ACTION' => append_sid("admin_userlist.$phpEx" . ( (isset($alphanum)) ? "?alphanum=$alphanum" : '' ))
) );
$alpha_range = range('A','Z');
$alphanum_range = array_merge(array('' => 'All'),array('%23' => '#'),$alpha_range);
foreach ( $alphanum_range as $key => $alpha )
{
if ( in_array($alpha,$alpha_range) ) $key = $alpha;
$alphanum_search_url = append_sid("admin_userlist.$phpEx?mode=" . ( ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) ? $mode : 'username' ) . "&sort=$sort_order&alphanum=" . strtolower($key));
$template->assign_block_vars('alphanumsearch', array(
'SEARCH_SIZE' => floor(100/count($alphanum_range)) . '%',
'SEARCH_TERM' => $alpha,
'SEARCH_LINK' => $alphanum_search_url
));
}
switch( $mode )
{
case 'joined':
$order_by = "user_regdate ASC LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'username':
$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'posts':
$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'email':
$order_by = "user_email $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
default:
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
}
$sql = "SELECT *
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . " $alpha_where
ORDER BY $order_by";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$username = $row['username'];
$user_id = $row['user_id'];
$status = $row['user_active'];
$sql = "SELECT *
FROM " . USER_GROUP_TABLE . "
WHERE user_id = " . $user_id;
if( !($result2 = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query group', '', __LINE__, __FILE__, $sql);
}
$group_name = "";
while ($user_group = $db->sql_fetchrow($result2)) {
$group_status = "";
$group_id = $user_group['group_id'];
$sql = "SELECT *
FROM " . GROUPS_TABLE . "
WHERE group_id = " . $group_id;
if( !($result3 = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query groups', '', __LINE__, __FILE__, $sql);
}
while ($group_info = $db->sql_fetchrow($result3)) {
if ($group_name != "")
{
$group_name .= "<br />";
}
$group_name .= $group_info['group_name'] . " " . $group_status;
}
}
$user_group_name = $group_name;
$email_uri = append_sid($phpbb_root_path . "profile.$phpEx?mode=email&" . POST_USERS_URL .'=' . $user_id);
$email = '<a href="' . $email_uri . '" class="gen">' . $lang['Email'] . '</a>';
$joined = create_date($lang['DATE_FORMAT'], $row['user_regdate'], $board_config['board_timezone']);
$posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;
//status varible
if ($status == '0') {
$l_active = $lang['No'];
$l2_active = 1;
}
if ($status == '1') {
$l_active = $lang['Yes'];
$l2_active = 0;
}
$temp_url = append_sid("admin_userlist.$phpEx?mode=edit&" . POST_USERS_URL . "=$user_id&user_status=$l2_active");
$active = '<a href="' . $temp_url . '" class="gen">' . $l_active . '</a>';
//delete link
$temp_url = append_sid("admin_userlist.$phpEx?mode=delete&" . POST_USERS_URL . "=$user_id");
$delete = '<a href="' . $temp_url . '" class="gen">' . $lang['Delete'] . '</a>';
//ban link
$temp_url = append_sid("admin_userlist.$phpEx?mode=ban&" . POST_USERS_URL . "=$user_id");
$ban = '<a href="' . $temp_url . '" class="gen">' . $lang['Ban'] . '</a>';
//profile varibles
$temp_url = append_sid($phpbb_root_path . "profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id");
$profile = '<a href="' . $temp_url . '" class="gen">' . $lang['Read_profile'] . '</a>';
//post search varibles
$temp_url = append_sid($phpbb_root_path . "search.$phpEx?search_author=" . urlencode($username) . "&showresults=posts");
$search = '<a href="' . $temp_url . '" class="gen">' . $lang['Search_user_posts'] . '</a>';
//pm varibles
$temp_url = append_sid($phpbb_root_path . "privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=$user_id");
$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '" class="gen">' . $lang['PM'] . '</a>';
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars('memberrow', array(
'ROW_NUMBER' => $i + ( $HTTP_GET_VARS['start'] + 1 ),
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'USERNAME' => $username,
'JOINED' => $joined,
'POSTS' => $posts,
'PROFILE' => $profile,
'SEARCH' => $search,
'EMAIL' => $email,
'ACTIVE' => $active,
'PM_IMG' => $pm_img,
'PM' => $pm,
'EMAIL' => $email,
'DELETE' => $delete,
'GROUP' => $user_group_name,
'BAN' => $ban,
'U_EDIT_PERMISSION' => append_sid("admin_ug_auth.$phpEx?mode=user&" . POST_USERS_URL . "=" . $user_id),
'U_EDIT_PROFILE' => append_sid("admin_users.$phpEx?mode=edit&" . POST_USERS_URL . "=" . $user_id),
'U_SEARCH_POST' => append_sid($phpbb_root_path . "search.$phpEx?search_author=" . urlencode($username) . "&showresults=posts"),
'U_VIEWPROFILE' => append_sid($phpbb_root_path . "profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id"))
);
$i++;
}
while ( $row = $db->sql_fetchrow($result) );
}
if ( $mode != 'topten' || $board_config['topics_per_page'] < 10 )
{
$sql = "SELECT count(*) AS total
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . " $alpha_where";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting total users', '', __LINE__, __FILE__, $sql);
}
if ( $total = $db->sql_fetchrow($result) )
{
$total_members = $total['total'];
$pagination = generate_pagination("admin_userlist.$phpEx?mode=$mode&order=$sort_order" . ( ( isset($alphanum) ) ? "&alphanum=$alphanum" : '' ), $total_members, $board_config['topics_per_page'], $start);
}
}
else
{
$pagination = ' ';
$total_members = 10;
}
$template->assign_vars(array(
'PAGINATION' => $pagination,
'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $total_members / $board_config['topics_per_page'] )),
'L_GOTO_PAGE' => $lang['Goto_page'])
);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>
and add this in your constants.php [ in folder phpbb ]
// Album integration
$album_table_prefix = '4images_';
//define('ALBUM_INTEGRATED', 0); // Integrated album off
define('ALBUM_INTEGRATED', 1); // Integrated album on
define('ALBUM_USERS_TABLE', $album_table_prefix.'users');
define('ALBUM_GROUP_MATCH_TABLE', $album_table_prefix.'groupmatch');
define('ALBUM_LIGHTBOXES_TABLE', $album_table_prefix.'lightboxes');
define('ALBUM_COMMENTS_TABLE', $album_table_prefix.'comments');
// Album User levels
define('ALBUM_GUEST', -1);
define('ALBUM_USER_AWAITING', 1);
define('ALBUM_USER', 2);
define('ALBUM_ADMIN', 9);
I hope this is right, because on my site it's works fine