Danke für die schnelle Antwort, aber leider zeigt es keine Webseiten an...
Es wäre toll wenn du nochmals kurz ein Auge drauf werfen würdest.
Code: Alles auswählen
<?php
/***************************************************************************
* begin : Aug 03, 2005
* copyright : (c) 2005, 2006 by S2B
* email : mods@s2b-project.de
*
****************************************************************************/
define('IN_PHPBB', 1);
//
// First we do the setmodules stuff for the admin cp.
//
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Users']['Userlist'] = $filename;
return;
}
//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// BEGIN Configuration
//
$config = array();
$config['self_delete'] = false;
$config['self_disable'] = false;
$config['1st_admin_delete'] = false;
$config['1st_admin_disable'] = false;
//
// END Configuration
//
$mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : '';
$mode = (isset($HTTP_POST_VARS['activateall'])) ? 'activateall' : $mode;
$mode = (isset($HTTP_POST_VARS['deactivateall'])) ? 'deactivateall' : $mode;
$mode = (isset($HTTP_POST_VARS['deleteall'])) ? 'deleteall' : $mode;
if ($mode == 'delete' || $mode == 'deleteall')
{
if ($mode != 'delete' && (!isset($HTTP_POST_VARS['user_id_list']) || !is_array($HTTP_POST_VARS['user_id_list']) || count($HTTP_POST_VARS['user_id_list']) == 0))
{
message_die(GENERAL_MESSAGE, $lang['No_user_specified']);
}
if (isset($HTTP_POST_VARS['confirm']))
{
$userlist = ($mode == 'delete') ? array(intval($HTTP_POST_VARS[POST_USERS_URL])) : $HTTP_POST_VARS['user_id_list'];
$ignored_users = false;
//
// get necessary userdata including some group information
// (I'm not sure if the new INNER JOIN query works with other DBMS than MySQL4/5...)
//
switch(SQL_LAYER)
{
case 'mysql4':
$sql = 'SELECT u.username, u.user_id, g.group_id AS single_usergroup, g2.group_id AS group_moderator
FROM ' . USERS_TABLE . ' u
INNER JOIN ' . USER_GROUP_TABLE . ' ug
ON ug.user_id = u.user_id
INNER JOIN ' . GROUPS_TABLE . ' g
ON g.group_id = ug.group_id
AND g.group_single_user = 1
LEFT JOIN ' . GROUPS_TABLE . ' g2
ON g2.group_moderator = u.user_id
WHERE u.user_id IN(' . implode(', ', $userlist) . ')';
break;
default:
$sql = 'SELECT u.username, u.user_id, g.group_id AS single_usergroup, g2.group_id AS group_moderator
FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
LEFT JOIN ' . GROUPS_TABLE . ' g2 ON g2.group_moderator = u.user_id
WHERE ug.user_id = u.user_id
AND g.group_id = ug.group_id
AND g.group_single_user = 1
AND u.user_id IN(' . implode(', ', $userlist) . ')';
break;
}
if (!($result = $db->sql_query($sql, BEGIN_TRANSACTION)))
{
message_die(GENERAL_ERROR, 'Could not get user information', '', __LINE__, __FILE__, $sql);
}
$userlist = array();
while ($row = $db->sql_fetchrow($result))
{
if ((!$config['self_delete'] && $row['user_id'] == $userdata['user_id']) || (!$config['1st_admin_delete'] && $row['user_id'] == 2))
{
$ignored_users = true;
continue;
}
if (!isset($userlist[$row['user_id']]))
{
$userlist[$row['user_id']] = array();
$userlist[$row['user_id']]['username'] = $row['username'];
$userlist[$row['user_id']]['single_usergroup'] = $row['single_usergroup'];
if (isset($row['group_moderator']))
{
$userlist[$row['user_id']]['group_moderator'] = array($row['group_moderator']);
}
}
else if (isset($row['group_moderator']))
{
$userlist[$row['user_id']]['group_moderator'][] = $row['group_moderator'];
}
}
$db->sql_freeresult($result);
if (count($userlist))
{
$user_id_sql = $user_group_sql = '';
foreach ($userlist as $user_id => $user_info)
{
//
// Some variables we need below
//
$user_id_sql .= ($user_id_sql != '') ? ", $user_id" : $user_id;
$user_group_sql .= ($user_group_sql != '') ? ', ' . $user_info['single_usergroup'] : $user_info['single_usergroup'];
//
// Update posts table, set post_username
//
$sql = 'UPDATE ' . POSTS_TABLE . '
SET poster_id = ' . DELETED . ", post_username = '" . str_replace("'", "''", $user_info['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);
}
//
// Get private messages
//
$sql = 'SELECT privmsgs_id
FROM ' . PRIVMSGS_TABLE . "
WHERE (privmsgs_from_userid = $user_id AND privmsgs_type IN (" . PRIVMSGS_NEW_MAIL . ', ' . PRIVMSGS_UNREAD_MAIL . ', ' . PRIVMSGS_SENT_MAIL . ', ' . PRIVMSGS_SAVED_OUT_MAIL . "))
OR (privmsgs_to_userid = $user_id AND privmsgs_type IN (" . PRIVMSGS_NEW_MAIL . ', ' . PRIVMSGS_UNREAD_MAIL . ', ' . PRIVMSGS_READ_MAIL . ', ' . PRIVMSGS_SAVED_IN_MAIL . '))';
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not select all users private messages', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$mark_list[] = $row['privmsgs_id'];
}
$db->sql_freeresult($result);
//
// Delete some private messages if necessary
//
if (count($mark_list))
{
$delete_pm_sql = implode(', ', $mark_list);
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . "
WHERE privmsgs_id IN ($delete_pm_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete private message info', '', __LINE__, __FILE__, $delete_sql);
}
$sql = 'DELETE FROM ' . PRIVMSGS_TEXT_TABLE . "
WHERE privmsgs_text_id IN ($delete_pm_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete private message text', '', __LINE__, __FILE__, $delete_text_sql);
}
}
if (isset($user_info['group_moderator']))
{
$update_moderator_sql = implode(', ', $user_info['group_moderator']);
$sql = 'UPDATE ' . GROUPS_TABLE . '
SET group_moderator = ' . $userdata['user_id'] . "
WHERE group_moderator IN ($update_moderator_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update group moderators', '', __LINE__, __FILE__, $sql);
}
}
}
//
// Update private message records
//
$sql = 'UPDATE ' . PRIVMSGS_TABLE . '
SET privmsgs_from_userid = ' . DELETED . "
WHERE privmsgs_from_userid IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update private message info', '', __LINE__, __FILE__, $sql);
}
$sql = 'UPDATE ' . PRIVMSGS_TABLE . '
SET privmsgs_to_userid = ' . DELETED . "
WHERE privmsgs_to_userid IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update private message info', '', __LINE__, __FILE__, $sql);
}
//
// Update topics
//
$sql = 'UPDATE ' . TOPICS_TABLE . '
SET topic_poster = ' . DELETED . "
WHERE topic_poster IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update topics', '', __LINE__, __FILE__, $sql);
}
//
// Update votes
//
$sql = 'UPDATE ' . VOTE_USERS_TABLE . '
SET vote_user_id = ' . DELETED . "
WHERE vote_user_id IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update votes', '', __LINE__, __FILE__, $sql);
}
//
// Delete watched topics
//
$sql = 'DELETE FROM ' . TOPICS_WATCH_TABLE . "
WHERE user_id IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete user from topic watch table', '', __LINE__, __FILE__, $sql);
}
//
// Delete banning information
//
$sql = 'DELETE FROM ' . BANLIST_TABLE . "
WHERE ban_userid IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete user from banlist table', '', __LINE__, __FILE__, $sql);
}
//
// Delete pending information
//
$sql = 'DELETE FROM ' . USER_GROUP_TABLE . "
WHERE user_id IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete users from user_group table', '', __LINE__, __FILE__, $sql);
}
//
// Delete single usergroup
//
$sql = 'DELETE FROM ' . GROUPS_TABLE . "
WHERE group_id IN ($user_group_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete single usergroups', '', __LINE__, __FILE__, $sql);
}
//
// Delete auth information
//
$sql = 'DELETE FROM ' . AUTH_ACCESS_TABLE . "
WHERE group_id IN ($user_group_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete group for this user', '', __LINE__, __FILE__, $sql);
}
//
// Delete user
//
$sql = 'DELETE FROM ' . USERS_TABLE . "
WHERE user_id IN ($user_id_sql)";
if (!$db->sql_query($sql, END_TRANSACTION))
{
message_die(GENERAL_ERROR, 'Could not delete users', '', __LINE__, __FILE__, $sql);
}
}
$message = ($ignored_users) ? $lang['Ignored_users'] : (($mode == 'delete') ? $lang['Delete_user_message'] : $lang['Delete_users_message']);
$message .= '<br /><br />' . sprintf($lang['Click_return_userlist'], '<a href="' . append_sid("admin_userlist.$phpEx") . '">', '</a>');
$message .= '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else if (isset($HTTP_POST_VARS['cancel']))
{
redirect(append_sid("admin/admin_userlist.$phpEx", true));
}
else
{
$template->set_filenames(array(
'body' => 'confirm_body.tpl')
);
if ($mode == 'delete')
{
$hidden_fields = '<input type="hidden" name="' . POST_USERS_URL . '" value="' . $HTTP_GET_VARS[POST_USERS_URL] . '" />';
}
else
{
$hidden_fields = '';
foreach ($HTTP_POST_VARS['user_id_list'] as $user_id)
{
$hidden_fields .= '<input type="hidden" name="user_id_list[]" value="' . $user_id . '" />';
}
}
$template->assign_vars(array(
'MESSAGE_TITLE' => ($mode == 'delete') ? $lang['Delete_user_title'] : $lang['Delete_users_title'],
'MESSAGE_TEXT' => ($mode == 'delete') ? $lang['Delete_user_confirm'] : $lang['Delete_users_confirm'],
'L_YES' => $lang['Yes'],
'L_NO' => $lang['No'],
'S_CONFIRM_ACTION' => append_sid("admin_userlist.$phpEx?mode=$mode"),
'S_HIDDEN_FIELDS' => $hidden_fields)
);
include('./page_header_admin.'.$phpEx);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
}
else if ($mode == 'activateall' || $mode == 'deactivateall')
{
$status = ($mode == 'activateall') ? 1 : 0;
if (!isset($HTTP_POST_VARS['user_id_list']) || !is_array($HTTP_POST_VARS['user_id_list']) || count($HTTP_POST_VARS['user_id_list']) == 0)
{
message_die(GENERAL_MESSAGE, $lang['No_user_specified']);
}
if (isset($HTTP_POST_VARS['confirm']))
{
$ignored_users = false;
$user_id_sql = '';
foreach ($HTTP_POST_VARS['user_id_list'] as $user_id)
{
if ($status == 0 && ((!$config['self_disable'] && $user_id == $userdata['user_id']) || (!$config['1st_admin_disable'] && $user_id == 2)))
{
$ignored_users = true;
continue;
}
$user_id_sql .= ($user_id_sql != '') ? ", $user_id" : $user_id;
}
if ($user_id_sql != '')
{
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_active = $status
WHERE user_id IN ($user_id_sql)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update user status', '', __LINE__, __FILE__, $sql);
}
//
// Send activation notification
//
if ($mode == 'activateall' && isset($HTTP_POST_VARS['send_emails']))
{
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$sql = 'SELECT username, user_lang, user_email FROM ' . USERS_TABLE . "
WHERE user_id IN ($user_id_sql)";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not get activated users', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$emailer->use_template('admin_welcome_activated', $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->set_subject($lang['Account_activated_subject']);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'USERNAME' => $row['username'],
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
);
$emailer->send();
$emailer->reset();
}
$db->sql_freeresult($result);
}
}
$message = ($ignored_users) ? $lang['Ignored_users'] : $lang['Change_user_status_message'];
$message .= '<br /><br />' . sprintf($lang['Click_return_userlist'], '<a href="' . append_sid("admin_userlist.$phpEx") . '">', '</a>');
$message .= '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else if (isset($HTTP_POST_VARS['cancel']))
{
redirect(append_sid("admin/admin_userlist.$phpEx", true));
}
else
{
$template->set_filenames(array(
'body' => 'admin/userlist_activate_body.tpl')
);
$hidden_fields = '';
foreach($HTTP_POST_VARS['user_id_list'] as $user_id)
{
$hidden_fields .= '<input type="hidden" name="user_id_list[]" value="' . $user_id . '" />';
}
if ($mode == 'activateall')
{
$template->assign_block_vars('switch_activate', array());
}
$template->assign_vars(array(
'MESSAGE_TITLE' => $lang['Change_user_status_title'],
'MESSAGE_TEXT' => $lang['Change_user_status_confirm'],
'L_SEND_EMAILS' => $lang['Change_user_status_emails'],
'L_YES' => $lang['Yes'],
'L_NO' => $lang['No'],
'S_CONFIRM_ACTION' => append_sid("admin_userlist.$phpEx?mode=$mode"),
'S_HIDDEN_FIELDS' => $hidden_fields)
);
include('./page_header_admin.'.$phpEx);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
}
else
{
//
// Update configuration
//
if (isset($HTTP_POST_VARS['submit']))
{
$config_update = array(
'userlist_sort' => $HTTP_POST_VARS['userlist_sort'],
'userlist_order' => $HTTP_POST_VARS['userlist_order'],
'userlist_special' => $HTTP_POST_VARS['userlist_special'],
'userlist_count' => intval($HTTP_POST_VARS['userlist_count']));
foreach ($config_update as $config_name => $config_value)
{
$sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '" . str_replace("\'", "''", $config_value) . "'
WHERE config_name = '$config_name'";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update config table', '', __LINE__, __FILE__, $sql);
}
}
redirect(append_sid("admin/admin_userlist.$phpEx", true));
}
$template->set_filenames(array(
'body' => 'admin/userlist_body.tpl')
);
$start = (isset($HTTP_GET_VARS['start'])) ? intval($HTTP_GET_VARS['start']) : 0;
//
// Special lists select
//
$special_values = array(
'no' => $lang['No'],
'active' => $lang['Active_users'],
'inactive' => $lang['Inactive_users']);
$special_select = '<select name="userlist_special">';
foreach ($special_values as $special_value => $special_text)
{
$selected = ($board_config['userlist_special'] == $special_value) ? ' selected="selected" style="font-weight: bold"' : '';
$special_select .= '<option value="' . $special_value . '"' . $selected . '>' . $special_text . '</option>';
}
$special_select .= '</select>';
//
// Sort Select
//
$sort_values = array(
'joined' => $lang['Sort_Joined'],
'username' => $lang['Sort_Username'],
'posts' => $lang['Sort_Posts'],
'email' => $lang['Sort_Email']);
$sort_select = '<select name="userlist_sort">';
foreach ($sort_values as $sort_value => $sort_text)
{
$selected = ($board_config['userlist_sort'] == $sort_value) ? ' selected="selected" style="font-weight: bold"' : '';
$sort_select .= '<option value="' . $sort_value . '"' . $selected . '>' . $sort_text . '</option>';
}
$sort_select .= '</select>';
//
// Order select
//
$order_select = '<select name="userlist_order">';
if ($board_config['userlist_order'] == 'ASC')
{
$order_select .= '<option value="ASC" selected="selected" style="font-weight: bold">' . $lang['Sort_Ascending'] . '</option><option value="DESC">' . $lang['Sort_Descending'] . '</option>';
}
else
{
$order_select .= '<option value="ASC">' . $lang['Sort_Ascending'] . '</option><option value="DESC" selected="selected" style="font-weight: bold">' . $lang['Sort_Descending'] . '</option>';
}
$order_select .= '</select>';
$template->assign_vars(array(
'L_USERLIST' => $lang['Userlist_title'],
'L_USERLIST_EXPLAIN' => $lang['Userlist_explain'],
'L_CONFIGURATION' => $lang['Configuration'],
'U_CONFIGURATION' => append_sid("admin_userlist.$phpEx?mode=config"),
'L_SPECIAL' => $lang['Special_list'],
'S_SPECIAL_SELECT' => $special_select,
'L_ORDER' => $lang['Order'],
'S_ORDER_SELECT' => $order_select,
'L_SORT' => $lang['Sort'],
'S_SORT_SELECT' => $sort_select,
'L_COUNT' => $lang['Users_per_page'],
'COUNT' => $board_config['userlist_count'],
'L_SAVE' => $lang['Save'],
'L_JOINED' => $lang['Joined'],
'L_POSTS' => $lang['Posts'],
'L_USERNAME' => $lang['Username'],
'L_ACTIVE' => $lang['Active'],
'L_ACTION' => $lang['Action'],
'L_SELECTED' => $lang['Selected'],
'L_DELETE' => $lang['Delete'],
'L_ACTIVATE' => $lang['Activate'],
'L_DEACTIVATE' => $lang['Deactivate'],
'L_MARK_ALL' => $lang['Mark_all'],
'L_UNMARK_ALL' => $lang['Unmark_all'],
'S_ACTION' => append_sid("admin_userlist.$phpEx"))
);
if ($mode == 'config')
{
$template->assign_block_vars('switch_config', array());
}
else
{
$template->assign_block_vars('switch_no_config', array());
}
$order = ($board_config['userlist_order'] == 'ASC') ? 'ASC' : 'DESC';
switch ($board_config['userlist_sort'])
{
case 'username':
$order_by_sql = "username $order LIMIT $start, " . $board_config['userlist_count'];
break;
case 'posts':
$order_by_sql = "user_posts $order LIMIT $start, " . $board_config['userlist_count'];
break;
case 'email':
$order_by_sql = "user_email $order LIMIT $start, " . $board_config['userlist_count'];
break;
default:
$order_by_sql = "user_regdate $order LIMIT $start, " . $board_config['userlist_count'];
break;
}
switch ($board_config['userlist_special'])
{
case 'active':
$where_sql = ' AND user_active = 1';
break;
case 'inactive':
$where_sql = ' AND user_active = 0';
break;
default:
$where_sql = '';
break;
}
//
// Get user listing
//
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE user_id <> ' . ANONYMOUS . " $where_sql
ORDER BY $order_by_sql";
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'];
$joined = create_date($lang['DATE_FORMAT'], $row['user_regdate'], $board_config['board_timezone']);
$posts = ($row['user_posts']) ? $row['user_posts'] : 0;
$temp_url = ($board_config['board_email_form']) ? $phpbb_root_path . append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL . "=$user_id") : 'mailto:' . $row['user_email'];
$email_img = '<a href="' . $temp_url . '"><img src="' . $phpbb_root_path . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
$email = '<a href="' . $temp_url . '">' . $lang['Send_email'] . '</a>';
$temp_url = $phpbb_root_path . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id");
$profile_img = '<a href="' . $temp_url . '" target="_blank"><img src="' . $phpbb_root_path . $images['icon_profile'] . '" alt="' . $lang['Read_profile'] . '" title="' . $lang['Read_profile'] . '" border="0" /></a>';
$profile = '<a href="' . $temp_url . '" target="_blank">' . $lang['Read_profile'] . '</a>';
$temp_url = $phpbb_root_path . append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=$user_id");
$pm_img = '<a href="' . $temp_url . '" target="_blank"><img src="' . $phpbb_root_path . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '" target="_blank">' . $lang['Send_private_message'] . '</a>';
$temp_url = $phpbb_root_path . append_sid("search.$phpEx?search_author=" . urlencode($username) . '&showresults=posts');
$search_img = '<a href="' . $temp_url . '" target="_blank"><img src="' . $phpbb_root_path . $images['icon_search'] . '" alt="' . $lang['Search_user_posts'] . '" title="' . $lang['Search_user_posts'] . '" border="0" /></a>';
$search = '<a href="' . $temp_url . '" target="_blank">' . $lang['Search_user_posts'] . '</a>';
$www_img = ($row['user_website']) ? '<a href="' . $row['user_website'] . '" target="_blank"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
$www = ($row['user_website']) ? '<a href="' . $row['user_website'] . '" target="_blank">' . $lang['Visit_website'] . '</a>' : '';
$temp_url = append_sid("admin_users.$phpEx?mode=edit&" . POST_USERS_URL . "=$user_id");
$edit_img = '<a href="' . $temp_url . '"><img src="' . $phpbb_root_path . $images['icon_edit_small'] . '" alt="' . $lang['Edit_profile'] . '" title="' . $lang['Edit_profile'] . '" border="0" /></a>';
$edit = '<a href="' . $temp_url . '">' . $lang['Edit_profile'] . '</a>';
$temp_url = append_sid("admin_ug_auth.$phpEx?mode=user&" . POST_USERS_URL . "=$user_id");
$auth_img = '<a href="' . $temp_url . '"><img src="' . $phpbb_root_path . $images['icon_key'] . '" alt="' . $lang['Permissions'] . '" title="' . $lang['Permissions'] . '" border="0" /></a>';
$auth = '<a href="' . $temp_url . '">' . $lang['Permissions'] . '</a>';
$temp_url = append_sid("admin_userlist.$phpEx?mode=delete&" . POST_USERS_URL . "=$user_id");
$delete_img = '<a href="' . $temp_url . '"><img src="' . $phpbb_root_path . $images['icon_delpost'] . '" alt="' . $lang['user_delete_title'] . '" title="' . $lang['user_delete_title'] . '" border="0" /></a>';
$delete = '<a href="' . $temp_url . '">' . $lang['user_delete_title'] . '</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 + $start + 1,
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'USER_ID' => $user_id,
'USERNAME' => $username,
'JOINED' => $joined,
'POSTS' => $posts,
'ACTIVE' => ($row['user_active']) ? $lang['Yes'] : '<b>' . $lang['No'] . '</b>',
'PROFILE_IMG' => $profile_img,
'PROFILE' => $profile,
'SEARCH_IMG' => $search_img,
'SEARCH' => $search,
'WWW_IMG' => $www_img,
'WWW' => $www,
'PM_IMG' => $pm_img,
'PM' => $pm,
'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
'AUTH' => $auth,
'AUTH_IMG' => $auth_img,
'EDIT' => $edit,
'EDIT_IMG' => $edit_img,
'DELETE' => $delete,
'DELETE_IMG' => $delete_img,
'U_EDITPROFILE' => append_sid("admin_users.$phpEx?mode=edit&" . POST_USERS_URL . "=$user_id"))
);
$i++;
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
}
$sql = 'SELECT count(*) AS total
FROM ' . USERS_TABLE . '
WHERE user_id <> ' . ANONYMOUS . $where_sql;
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Error getting total users', '', __LINE__, __FILE__, $sql);
}
$total_members = $db->sql_fetchfield('total', 0, $result);
$db->sql_freeresult($result);
$pagination = generate_pagination("admin_userlist.$phpEx?mode=$mode", $total_members, $board_config['userlist_count'], $start);
$template->assign_vars(array(
'PAGINATION' => ($pagination) ? $pagination : ' ',
'PAGE_NUMBER' => sprintf($lang['Page_of'], floor($start / $board_config['userlist_count']) + 1, ceil($total_members / $board_config['userlist_count'])),
'L_GOTO_PAGE' => $lang['Goto_page'])
);
include('./page_header_admin.'.$phpEx);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
?>