acl_gets('a_user', 'a_useradd', 'a_userdel')) { return; } $module['USER']['MANAGE_USERS'] = basename(__FILE__) . $SID; return; } define('IN_PHPBB', 1); // Include files $phpbb_root_path = '../'; $phpEx = substr(strrchr(__FILE__, '.'), 1); require('pagestart.' . $phpEx); include($phpbb_root_path.'includes/functions_user.'.$phpEx); include($phpbb_root_path.'includes/functions_profile_fields.'.$phpEx); $user->add_lang(array('posting', 'ucp')); // // Get and set basic vars // $mode = request_var('mode', 'overview'); $action = request_var('action', ''); $username = request_var('username', ''); $user_id = request_var('u', 0); $gid = request_var('g', 0); $start = request_var('start', 0); $ip = request_var('ip', ''); $start = request_var('start', 0); $delete = request_var('delete', ''); $deletetype = request_var('deletetype', ''); $marked = request_var('mark', 0); $quicktools = request_var('quicktools', ''); $st = request_var('st', 0); $sk = request_var('sk', 'a'); $sd = request_var('sd', 'd'); $submit = (isset($_POST['update'])) ? true : false; $confirm = (isset($_POST['confirm'])) ? true : false; $cancel = (isset($_POST['cancel'])) ? true : false; $preview = (isset($_POST['preview'])) ? true : false; $deletemark = (isset($_POST['delmarked'])) ? true : false; $deleteall = (isset($_POST['delall'])) ? true : false; $error = array(); $colspan = 0; // // Whois output // if ($action == 'whois') { // Output relevant page adm_page_header($user->lang['WHOIS']); if ($ip && $domain = gethostbyaddr($ip)) { ?>
IP whois for
\2\3', $ipwhois); echo '
' . trim($ipwhois) . '
'; } ?>

sql_escape($username) . "'"; $sql = ($action == 'overview') ? 'SELECT u.*, s.session_time, s.session_page, s.session_ip FROM (' . USERS_TABLE . ' u LEFT JOIN ' . SESSIONS_TABLE . " s ON s.session_user_id = u.user_id) WHERE u.$sql_where ORDER BY s.session_time DESC" : 'SELECT * FROM ' . USERS_TABLE . " WHERE $sql_where"; $result = $db->sql_query($sql); if (!extract($db->sql_fetchrow($result))) { trigger_error($user->lang['NO_USER']); } $db->sql_freeresult($result); if ($session_time > $user_lastvisit) { $user_lastvisit = $session_time; $user_lastpage = $session_page; } $user_password = ''; } // Output page adm_page_header($user->lang['MANAGE']); // // Output forms // // Begin program if ($username || $user_id) { // Generate overall "header" for user admin $form_options = ''; $forms_ary = array('overview' => 'OVERVIEW', 'feedback' => 'FEEDBACK', 'profile' => 'PROFILE', 'prefs' => 'PREFS', 'avatar' => 'AVATAR', 'sig' => 'SIG', 'groups' => 'GROUP', 'perm' => 'PERM', 'attach' => 'ATTACH'); foreach ($forms_ary as $value => $lang) { $selected = ($mode == $value) ? ' selected="selected"' : ''; $form_options .= ''; } $pagination = ''; ?>

lang['USER_ADMIN']; ?>

lang['USER_ADMIN_EXPLAIN']; ?>

">acl_get('a_clearlogs')) { $where_sql = ''; if ($deletemark && $marked) { $sql_in = array(); foreach ($marked as $mark) { $sql_in[] = $mark; } $where_sql = ' AND log_id IN (' . implode(', ', $sql_in) . ')'; unset($sql_in); } $sql = 'DELETE FROM ' . LOG_TABLE . ' WHERE log_type = ' . LOG_USERS . " $where_sql"; $db->sql_query($sql); add_log('admin', 'LOG_USERS_CLEAR'); trigger_error(""); } if ($message = request_var('message', '')) { add_log('admin', 'LOG_USER_FEEDBACK', $username); add_log('user', $user_id, 'LOG_USER_GENERAL', $message); trigger_error($user->lang['USER_FEEDBACK_ADDED']); } } $colspan = 2; $limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 364 => $user->lang['1_YEAR']); $sort_by_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_DATE'], 'c' => $user->lang['SORT_IP'], 'd' => $user->lang['SORT_ACTION']); $sort_by_sql = array('a' => 'l.user_id', 'b' => 'l.log_time', 'c' => 'l.log_ip', 'd' => 'l.log_operation'); $s_limit_days = $s_sort_key = $s_sort_dir = ''; gen_sort_selects($limit_days, $sort_by_text, $st, $sk, $sd, $s_limit_days, $s_sort_key, $s_sort_dir); // Define where and sort sql for use in displaying logs $sql_where = ($st) ? (time() - ($st * 86400)) : 0; $sql_sort = $sort_by_sql[$sk] . ' ' . (($sd == 'd') ? 'DESC' : 'ASC'); ?>
lang['SELECT_FORM']; ?>:
acl_get('a_userdel')) { trigger_error($user->lang['NO_ADMIN']); } if (!$cancel && !$confirm) { adm_page_confirm($user->lang['CONFIRM'], $user->lang['CONFIRM_OPERATION']); } else if (!$cancel) { user_delete($deletetype, $user_id); add_log('admin', 'LOG_USER_DELETED', $username); trigger_error($user->lang['USER_DELETED']); } } // Handle quicktool actions if ($quicktools && $user_type != USER_FOUNDER) { switch ($quicktools) { case 'banuser': case 'banemail': case 'banip': $ban = array(); switch ($quicktools) { case 'banuser': $ban[] = $username; $reason = 'USER_ADMIN_BAN_NAME_REASON'; $log = 'LOG_BAN_USERNAME_USER'; break; case 'banemail': $ban[] = $user_email; $reason = 'USER_ADMIN_BAN_EMAIL_REASON'; $log = 'LOG_BAN_EMAIL_USER'; break; case 'banip': $ban[] = $user_ip; $sql = 'SELECT DISTINCT poster_ip FROM ' . POSTS_TABLE . " WHERE poster_id = $user_id"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $ban[] = $row['poster_ip']; } $db->sql_freeresult($result); $reason = 'USER_ADMIN_BAN_IP_REASON'; $log = 'LOG_BAN_IP_USER'; break; } user_ban(substr($quicktools, 3), $ban, 0, 0, 0, $user->lang[$reason]); add_log('user', $user_id, $log); trigger_error($user->lang['BAN_UPDATE_SUCESSFUL']); break; case 'reactivate': if ($config['email_enable']) { include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx); $user_actkey = gen_rand_string(10); $key_len = 54 - (strlen($server_url)); $key_len = ($key_len > 6) ? $key_len : 6; $user_actkey = substr($user_actkey, 0, $key_len); user_active_flip($user_id, $user_type, $user_actkey, $username); $messenger = new messenger(); $messenger->template('user_welcome_inactive', $user_lang); $messenger->subject(); $messenger->replyto($config['board_contact']); $messenger->to($user_email, $username); $messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']); $messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']); $messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']); $messenger->headers('X-AntiAbuse: User IP - ' . $user->ip); $messenger->assign_vars(array( 'SITENAME' => $config['sitename'], 'WELCOME_MSG' => sprintf($user->lang['WELCOME_SUBJECT'], $config['sitename']), 'USERNAME' => $username, 'PASSWORD' => $password_confirm, 'EMAIL_SIG' => str_replace('
', "\n", "-- \n" . $config['board_email_sig']), 'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&u=$user_id&k=$user_actkey") ); $messenger->send(NOTIFY_EMAIL); $messenger->queue->save(); add_log('admin', 'LOG_USER_REACTIVATE', $username); add_log('user', $user_id, 'LOG_USER_REACTIVATE_USER'); trigger_error($user->lang['USER_ADMIN_REACTIVATE']); } break; case 'active': user_active_flip($user_id, $user_type, false, $username); $message = ($user_type == USER_NORMAL) ? 'USER_ADMIN_INACTIVE' : 'USER_ADMIN_ACTIVE'; $log = ($user_type == USER_NORMAL) ? 'LOG_USER_INACTIVE' : 'LOG_USER_ACTIVE'; add_log('admin', $log, $username); add_log('user', $user_id, $log . '_USER'); trigger_error($user->lang[$message]); break; case 'moveposts': if (!($new_forum_id = request_var('new_f', 0))) { ?>

lang['USER_ADMIN']; ?>

lang['USER_ADMIN_EXPLAIN']; ?>

">
', $error); ?>
lang['USER_ADMIN_MOVE_POSTS']; ?>
lang['MOVE_POSTS_EXPLAIN']; ?>

 
$new_forum_id GROUP BY topic_id"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $topic_id_ary[$row['topic_id']] = $row['total_posts']; } $db->sql_freeresult($result); $sql = 'SELECT topic_id, forum_id, topic_title, topic_replies, topic_replies_real FROM ' . TOPICS_TABLE . ' WHERE topic_id IN (' . implode(', ', array_keys($topic_id_ary)) . ')'; $result = $db->sql_query($sql); $move_topic_ary = $move_post_ary = array(); while ($row = $db->sql_fetchrow($result)) { if (max($row['topic_replies'], $row['topic_replies_real']) + 1 == $topic_id_ary[$row['topic_id']]) { $move_topic_ary[] = $row['topic_id']; } else { $move_post_ary[$row['topic_id']]['title'] = $row['topic_title']; $move_post_ary[$row['topic_id']]['attach'] = ($row['attach']) ? 1 : 0; } $forum_id_ary[] = $row['forum_id']; } $db->sql_freeresult($result); // Entire topic comprises posts by this user, move these topics if (sizeof($move_topic_ary)) { move_topics($move_topic_ary, $new_forum_id, false); } if (sizeof($move_post_ary)) { // Create new topic // Update post_ids, report_ids, attachment_ids foreach ($move_post_ary as $topic_id => $post_ary) { // Create new topic $sql = 'INSERT INTO ' . TOPICS_TABLE . ' ' . $db->sql_build_array('INSERT', array( 'topic_poster' => $user_id, 'topic_time' => time(), 'forum_id' => $new_forum_id, 'icon_id' => 0, 'topic_approved' => 1, 'topic_title' => $post_ary['title'], 'topic_first_poster_name' => $username, 'topic_type' => POST_NORMAL, 'topic_time_limit' => 0, 'topic_attachment' => $post_ary['attach'],) ); $db->sql_query($sql); $new_topic_id = $db->sql_nextid(); // Move posts $sql = 'UPDATE ' . POSTS_TABLE . " SET forum_id = $new_forum_id, topic_id = $new_topic_id WHERE topic_id = $topic_id AND poster_id = $user_id"; $db->sql_query($sql); if ($post_ary['attach']) { $sql = 'UPDATE ' . ATTACHMENTS_TABLE . " SET topic_id = $new_topic_id WHERE topic_id = $topic_id AND poster_id = $user_id"; $db->sql_query($sql); } $new_topic_id_ary[] = $new_topic_id; } } $forum_id_ary = array_unique($forum_id_ary); $topic_id_ary = array_unique(array_merge($topic_id_ary, $new_topic_id_ary)); sync('reported', 'topic_id', $topic_id_ary); sync('topic', 'topic_id', $topic_id_ary); sync('forum', 'forum_id', $forum_id_ary); } break; } $sql = 'SELECT forum_name FROM ' . TOPICS_TABLE . " WHERE topic_id = $new_forum_id"; $result = $db->sql_query($sql); extract($db->sql_fetchrow($result)); $db->sql_freeresult($result); add_log('admin', 'LOG_USER_MOVE_POSTS', $forum_name, $username); add_log('user', $user_id, 'LOG_USER_MOVE_POSTS_USER', $forum_name); trigger_error($user->lang['USER_ADMIN_MOVE']); } // Handle registration info updates $var_ary = array( 'username' => (string) $username, 'user_founder' => (int) $user_founder, 'user_type' => (int) $user_type, 'user_email' => (string) $user_email, 'email_confirm' => (string) '', 'user_password' => (string) '', 'password_confirm' => (string) '', 'user_warnings' => (int) $user_warnings, ); foreach ($var_ary as $var => $default) { $data[$var] = request_var($var, $default); } $var_ary = array( 'password_confirm' => array('string', true, $config['min_pass_chars'], $config['max_pass_chars']), 'user_password' => array('string', true, $config['min_pass_chars'], $config['max_pass_chars']), 'user_email' => array( array('string', false, 6, 60), array('email', $email)), 'email_confirm' => array('string', true, 6, 60), 'user_warnings' => array('num', 0, $config['max_warnings']), ); // Check username if altered if ($username != $data['username']) { $var_ary += array( 'username' => array( array('string', false, $config['min_name_chars'], $config['max_name_chars']), array('username', $username)), ); } $error = validate_data($data, $var_ary); if ($data['user_password'] && $data['password_confirm'] != $data['user_password']) { $error[] = 'NEW_PASSWORD_ERROR'; } if ($user_email != $data['user_email'] && $data['email_confirm'] != $data['user_email']) { $error[] = 'NEW_EMAIL_ERROR'; } // Which updates do we need to do? $update_warning = ($user_warnings != $data['user_warnings']) ? true : false; $update_username = ($username != $data['username']) ? $username : false; $update_password = ($user_password != $data['user_password']) ? true : false; extract($data); unset($data); if (!sizeof($error)) { $sql_ary = array( 'username' => $username, 'user_founder' => $user_founder, 'user_email' => $user_email, 'user_email_hash' => crc32(strtolower($user_email)) . strlen($user_email), 'user_warnings' => $user_warnings, ); if ($update_password) { $sql_ary += array( 'user_password' => md5($user_password), 'user_passchg' => time(), ); } $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE user_id = ' . $user->data['user_id']; $db->sql_query($sql); // TODO if ($update_warning) { } if ($update_username) { user_update_name($update_username, $username); } trigger_error($user->lang['USER_OVERVIEW_UPDATED']); } // Replace "error" strings with their real, localised form $error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error); } $colspan = 2; $user_char_ary = array('.*' => 'USERNAME_CHARS_ANY', '[\w]+' => 'USERNAME_ALPHA_ONLY', '[\w_\+\. \-\[\]]+' => 'USERNAME_ALPHA_SPACERS'); $quick_tool_ary = array('banuser' => 'BAN_USER', 'banemail' => 'BAN_EMAIL', 'banip' => 'BAN_IP', 'active' => (($user_type == USER_INACTIVE) ? 'ACTIVATE' : 'DEACTIVATE'), 'delsig' => 'DEL_SIG', 'delavatar' => 'DEL_AVATAR', 'moveposts' => 'MOVE_POSTS', 'delposts' => 'DEL_POSTS', 'delattach' => 'DEL_ATTACH'); if ($config['email_enable']) { $quick_tool_ary['reactivate'] = 'FORCE'; } $options = ''; foreach ($quick_tool_ary as $value => $lang) { $options .= ''; } $user_founder_yes = ($user_type == USER_FOUNDER) ? ' checked="checked"' : ''; $user_founder_no = ($user_type != USER_FOUNDER) ? ' checked="checked"' : (($user->data['user_type'] != USER_FOUNDER) ? ' disabled="disabled"' : ''); ?>
lang['USER_ADMIN_OVERVIEW']; ?>
lang['USERNAME']; ?>:
lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']); ?>
lang['REGISTERED']; ?>: format_date($user_regdate); ?>
lang['REGISTERED_IP']; ?>: ' . (($ip == 'hostname') ? gethostbyaddr($user_ip) : $user_ip) . " [ " . $user->lang['WHOIS'] . ' ]'; ?>
lang['LAST_ACTIVE']; ?>: format_date($user_lastvisit); ?>
lang['FOUNDER']; ?>:
lang['FOUNDER_EXPLAIN']; ?>
/>lang['YES']; ?>  />lang['NO']; ?>
lang['EMAIL']; ?>:
lang['CONFIRM_EMAIL']; ?>:
lang['CONFIRM_EMAIL_EXPLAIN']; ?>
lang['NEW_PASSWORD']; ?>:
lang['CHANGE_PASSWORD_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']) ?>
lang['CONFIRM_PASSWORD']; ?>:
lang['CONFIRM_PASSWORD_EXPLAIN']; ?>
lang['USER_TOOLS']; ?>
lang['WARNINGS']; ?>:
lang['WARNINGS_EXPLAIN']; ?>
lang['QUICK_TOOLS']; ?>:
lang['DELETE_USER']; ?>:
lang['DELETE_USER_EXPLAIN']; ?>
  
lang['USER_ADMIN_FEEDBACK']; ?>
lang['DISPLAY_LOG']; ?>:   lang['SORT_BY']; ?>:  
Report by: on format_date($log_data[$i]['time']); ?>
No reports exist for this user
acl_get('a_clearlogs')) { ?>   
lang['MARK_ALL']; ?> :: lang['UNMARK_ALL']; ?> 

lang['ADD_FEEDBACK']; ?>

lang['ADD_FEEDBACK_EXPLAIN']; ?>

(string) '', 'aim' => (string) '', 'msn' => (string) '', 'yim' => (string) '', 'jabber' => (string) '', 'website' => (string) '', 'location' => (string) '', 'occupation' => (string) '', 'interests' => (string) '', 'bday_day' => 0, 'bday_month' => 0, 'bday_year' => 0, ); foreach ($var_ary as $var => $default) { $data[$var] = request_var($var, $default); } $var_ary = array( 'icq' => array( array('string', true, 3, 15), array('match', true, '#^[0-9]+$#i')), 'aim' => array('string', true, 5, 255), 'msn' => array('string', true, 5, 255), 'jabber' => array( array('string', true, 5, 255), array('match', true, '#^[a-z0-9\.\-_\+]+?@(.*?\.)*?[a-z0-9\-_]+?\.[a-z]{2,4}(/.*)?$#i')), 'yim' => array('string', true, 5, 255), 'website' => array( array('string', true, 12, 255), array('match', true, '#^http[s]?://(.*?\.)*?[a-z0-9\-]+\.[a-z]{2,4}#i')), 'location' => array('string', true, 2, 255), 'occupation' => array('string', true, 2, 500), 'interests' => array('string', true, 2, 500), 'bday_day' => array('num', true, 1, 31), 'bday_month' => array('num', true, 1, 12), 'bday_year' => array('num', true, 1901, gmdate('Y', time())), ); $error = validate_data($data, $var_ary); extract($data); unset($data); // validate custom profile fields // $cp->submit_cp_field('profile', $cp_data, $cp_error); if (!sizeof($error) && !sizeof($cp_error)) { $sql_ary = array( 'user_icq' => $icq, 'user_aim' => $aim, 'user_msnm' => $msn, 'user_yim' => $yim, 'user_jabber' => $jabber, 'user_website' => $website, 'user_from' => $location, 'user_occ' => $occupation, 'user_interests'=> $interests, 'user_birthday' => sprintf('%2d-%2d-%4d', $bday_day, $bday_month, $bday_year), ); $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE user_id = $user_id"; $db->sql_query($sql); /* // Update Custom Fields if (sizeof($cp_data)) { $sql = 'UPDATE ' . PROFILE_DATA_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $cp_data) . " WHERE user_id = $user_id"; $db->sql_query($sql); if (!$db->sql_affectedrows()) { $cp_data['user_id'] = $user_id; $db->return_on_error = true; $sql = 'INSERT INTO ' . PROFILE_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $cp_data); $db->sql_query(); $db->return_on_error = false; } } */ trigger_error($user->lang['USER_PROFILE_UPDATED']); } } $colspan = 2; $cp = new custom_profile(); $cp_data = $cp_error = array(); if (!isset($bday_day)) { list($bday_day, $bday_month, $bday_year) = explode('-', $user_birthday); } $s_birthday_day_options = ''; for ($i = 1; $i < 32; $i++) { $selected = ($i == $bday_day) ? ' selected="selected"' : ''; $s_birthday_day_options .= ""; } $s_birthday_month_options = ''; for ($i = 1; $i < 13; $i++) { $selected = ($i == $bday_month) ? ' selected="selected"' : ''; $s_birthday_month_options .= ""; } $s_birthday_year_options = ''; $now = getdate(); $s_birthday_year_options = ''; for ($i = $now['year'] - 100; $i < $now['year']; $i++) { $selected = ($i == $bday_year) ? ' selected="selected"' : ''; $s_birthday_year_options .= ""; } unset($now); // Get additional profile fields and assign them to the template block var 'profile_fields' // $user->get_profile_fields($user->data['user_id']); // $cp->generate_profile_fields('profile', $user->get_iso_lang_id(), $cp_error); ?> (string) $config['default_dateformat'], 'user_lang' => (string) $config['default_lang'], 'user_tz' => (float) $config['board_timezone'], 'user_style' => (int) $config['default_style'], 'user_dst' => (bool) $config['board_dst'], 'user_allow_viewemail' => false, 'user_allow_massemail' => true, 'user_allow_viewonline' => true, 'user_notify_type' => 0, 'user_notify_pm' => true, 'user_allow_pm' => true, 'user_notify' => false, 'sk' => (string) 't', 'sd' => (string) 'd', 'st' => 0, 'popuppm' => false, 'viewimg' => true, 'viewflash' => false, 'viewsmilies' => true, 'viewsigs' => true, 'viewavatars' => true, 'viewcensors' => false, 'bbcode' => true, 'html' => false, 'smile' => true, 'attachsig' => true, ); foreach ($var_ary as $var => $default) { $data[$var] = request_var($var, $default); } $var_ary = array( 'user_dateformat' => array('string', false, 3, 15), 'user_lang' => array('match', false, '#^[a-z_]{2,}$#i'), 'user_tz' => array('num', false, -13, 13), 'sk' => array('string', false, 1, 1), 'sd' => array('string', false, 1, 1), ); $error = validate_data($data, $var_ary); extract($data); unset($data); // Set the popuppm option $option_ary = array('popuppm', 'viewimg', 'viewflash', 'viewsmilies', 'viewsigs', 'viewavatars', 'viewcensors', 'bbcode', 'html', 'smile', 'attachsig'); foreach ($option_ary as $option) { $user_options = $user->optionset($option, $$option, $user_options); } if (!sizeof($error)) { $sql_ary = array( 'user_allow_pm' => $user_allow_pm, 'user_allow_viewemail' => $user_allow_viewemail, 'user_allow_massemail' => $user_allow_massemail, 'user_allow_viewonline' => $user_allow_viewonline, 'user_notify_type' => $user_notify_type, 'user_notify_pm' => $user_notify_pm, 'user_options' => $user_options, 'user_notify' => $user_notify, 'user_dst' => $user_dst, 'user_dateformat' => $user_dateformat, 'user_lang' => $user_lang, 'user_timezone' => $user_tz, 'user_style' => $user_style, 'user_sortby_type' => $sk, 'user_sortby_dir' => $sd, 'user_show_days' => $st, ); $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE user_id = $user_id"; $db->sql_query($sql); trigger_error($user->lang['USER_PREFS_UPDATED']); } $user_sortby_type = $sk; $user_sortby_dir = $sd; $user_show_days = $st; } $colspan = 2; $option_ary = array('user_allow_viewemail', 'user_allow_massemail', 'user_allow_pm', 'user_allow_viewonline', 'user_notify_pm', 'user_dst', 'user_notify'); foreach ($option_ary as $option) { ${$option . '_yes'} = ($$option) ? ' checked="checked"' : ''; ${$option . '_no'} = (!$$option) ? ' checked="checked"' : ''; } unset($option_ary); $option_ary = array('popuppm', 'viewimg', 'viewflash', 'viewsmilies', 'viewsigs', 'viewavatars', 'viewcensors', 'bbcode', 'html', 'smile', 'attachsig'); foreach ($option_ary as $option) { ${$option . '_yes'} = ($user->optionget($option, $user_options)) ? ' checked="checked"' : ''; ${$option . '_no'} = (!$user->optionget($option, $user_options)) ? ' checked="checked"' : ''; } $notify_email = ($user_notify_type == NOTIFY_EMAIL) ? ' checked="checked"' : ''; $notify_im = ($user_notify_type == NOTIFY_IM) ? ' checked="checked"' : ''; $notify_both = ($user_notify_type == NOTIFY_BOTH) ? ' checked="checked"' : ''; // Topic ordering display $limit_days = array(0 => $user->lang['ALL_TOPICS'], 0 => $user->lang['ALL_TOPICS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 364 => $user->lang['1_YEAR']); $sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']); $sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'r' => 't.topic_replies', 's' => 't.topic_title', 'v' => 't.topic_views'); $s_limit_days = $s_sort_key = $s_sort_dir = ''; gen_sort_selects($limit_days, $sort_by_text, $user_show_days, $user_sortby_type, $user_sortby_dir, $s_limit_days, $s_sort_key, $s_sort_dir); ?> (string) '', 'remotelink' => (string) '', 'width' => (string) '', 'height' => (string) '', ); foreach ($var_ary as $var => $default) { $data[$var] = request_var($var, $default); } $var_ary = array( 'uploadurl' => array('string', true, 5, 255), 'remotelink' => array('string', true, 5, 255), 'width' => array('string', true, 1, 3), 'height' => array('string', true, 1, 3), ); $error = validate_data($data, $var_ary); if (!sizeof($error)) { $data['user_id'] = $user_id; if ((!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl']) && $can_upload) { list($type, $filename, $width, $height) = avatar_upload($data, $error); } else if ($data['remotelink']) { list($type, $filename, $width, $height) = avatar_remote($data, $error); } else if ($delete) { $type = $filename = $width = $height = ''; } } if (!sizeof($error)) { // Do we actually have any data to update? if (sizeof($data)) { $sql_ary = array( 'user_avatar' => $filename, 'user_avatar_type' => $type, 'user_avatar_width' => $width, 'user_avatar_height' => $height, ); $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE user_id = $user_id"; $db->sql_query($sql); // Delete old avatar if present if ($user_avatar && $filename != $user_avatar) { avatar_delete($user_avatar); } } trigger_error($message); } extract($data); unset($data); } $colspan = 2; $display_gallery = (isset($_POST['displaygallery'])) ? true : false; $avatar_category = request_var('category', ''); // Generate users avatar $avatar_img = ''; if ($user_avatar) { switch ($user_avatar_type) { case AVATAR_UPLOAD: $avatar_img = $phpbb_root_path . $config['avatar_path'] . '/'; break; case AVATAR_GALLERY: $avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/'; break; } $avatar_img .= $user_avatar; $avatar_img = ''; } else { $avatar_img = ''; } ?> (bool) $config['allow_html'], 'enable_bbcode' => (bool) $config['allow_bbcode'], 'enable_smilies' => (bool) $config['allow_smilies'], 'enable_urls' => true, 'signature' => (string) $user_sig, ); foreach ($var_ary as $var => $default) { $$var = request_var($var, $default); } // NOTE: allow_img and allow_flash do not exist in config table $img_status = ($config['allow_img']) ? true : false; $flash_status = ($config['allow_flash']) ? true : false; include($phpbb_root_path . 'includes/message_parser.'.$phpEx); $message_parser = new parse_message($signature); // Allowing Quote BBCode $message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies, $img_status, $flash_status, true); if ($submit) { $sql_ary = array( 'user_sig' => (string) $message_parser->message, 'user_sig_bbcode_uid' => (string) $message_parser->bbcode_uid, 'user_sig_bbcode_bitfield' => (int) $message_parser->bbcode_bitfield ); $sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE user_id = $user_id"; $db->sql_query($sql); unset($message_parser); trigger_error($user->lang['PROFILE_UPDATED']); } } $colspan = 2; include($phpbb_root_path . 'includes/functions_posting.'.$phpEx); $signature_preview = ''; if ($preview) { // Now parse it for displaying $signature_preview = $message_parser->format_display($enable_html, $enable_bbcode, $enable_urls, $enable_smilies, false); unset($message_parser); } decode_message($user_sig, $user_sig_bbcode_uid); ?> lang['CONFIRM'], $user->lang['CONFIRM_OPERATION']); } else if (!$cancel) { if (!$gid) { trigger_error($user->lang['NO_GROUP']); } if ($error = group_user_del($gid, $user_id)) { trigger_error($user->lang[$error]); } } break; } // Add user to group? if ($submit) { if (!$gid) { trigger_error($user->lang['NO_GROUP']); } // Add user/s to group if ($error = group_user_add($gid, $user_id)) { trigger_error($user->lang[$error]); } } $colspan = 4; ?> sql_query($sql); $i = 0; $group_data = $id_ary = array(); while ($row = $db->sql_fetchrow($result)) { $type = ($row['group_type'] == GROUP_SPECIAL) ? 'special' : (($row['user_pending']) ? 'pending' : 'normal'); $group_data[$type][$i]['group_id'] = $row['group_id']; $group_data[$type][$i]['group_name'] = $row['group_name']; $group_data[$type][$i]['group_leader'] = ($row['group_leader']) ? 1 : 0; $id_ary[] = $row['group_id']; $i++; } $db->sql_freeresult($result); // Select box for other groups $sql = 'SELECT group_id, group_name, group_type FROM ' . GROUPS_TABLE . ' WHERE group_id NOT IN (' . implode(', ', $id_ary) . ') ORDER BY group_type DESC, group_name ASC'; $result = $db->sql_query($sql); $group_options = ''; while ($row = $db->sql_fetchrow($result)) { $group_options .= '' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . ''; } $db->sql_freeresult($result); $current_type = ''; foreach ($group_data as $group_type => $data_ary) { if ($current_type != $group_type) { ?> lang['CONFIRM'], $user->lang['CONFIRM_OPERATION']); } else if (!$cancel) { $sql = 'SELECT real_filename FROM ' . ATTACHMENTS_TABLE . ' WHERE attach_id IN (' . implode(', ', $marked) . ')'; $result = $db->sql_query($sql); $log_attachments = array(); while ($row = $db->sql_fetchrow($result)) { $log_attachments[] = $row['real_filename']; } $db->sql_freeresult($result); delete_attachments('attach', $marked); $log = (sizeof($delete_ids) == 1) ? 'ATTACHMENT_DELETED' : 'ATTACHMENTS_DELETED'; $meesage = (sizeof($delete_ids) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED']; add_log('admin', $log, implode(', ', $log_attachments)); trigger_error($message); } } $colspan = 6; $uri = "admin_users.$phpEx$SID&mode=$mode&action=$action&u=$user_id"; $sk_text = array('a' => $user->lang['SORT_FILENAME'], 'b' => $user->lang['SORT_COMMENT'], 'c' => $user->lang['SORT_EXTENSION'], 'd' => $user->lang['SORT_SIZE'], 'e' => $user->lang['SORT_DOWNLOADS'], 'f' => $user->lang['SORT_POST_TIME'], 'g' => $user->lang['SORT_TOPIC_TITLE']); $sk_sql = array('a' => 'a.real_filename', 'b' => 'a.comment', 'c' => 'a.extension', 'd' => 'a.filesize', 'e' => 'a.download_count', 'f' => 'a.filetime', 'g' => 't.topic_title'); $sd_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']); $s_sort_key = ''; foreach ($sk_text as $key => $value) { $selected = ($sk == $key) ? ' selected="selected"' : ''; $s_sort_key .= ''; } $s_sort_dir = ''; foreach ($sd_text as $key => $value) { $selected = ($sd == $key) ? ' selected="selected"' : ''; $s_sort_dir .= ''; } $order_by = $sk_sql[$sk] . ' ' . (($sd == 'a') ? 'ASC' : 'DESC'); $sql = 'SELECT COUNT(*) as num_attachments FROM ' . ATTACHMENTS_TABLE . " WHERE poster_id = $user_id"; $result = $db->sql_query_limit($sql, 1); $num_attachments = $db->sql_fetchfield('num_attachments', 0, $result); $db->sql_freeresult($result); $sql = 'SELECT a.*, t.topic_title FROM ' . ATTACHMENTS_TABLE . ' a, ' . TOPICS_TABLE . " t WHERE a.topic_id = t.topic_id AND a.poster_id = $user_id ORDER BY $order_by"; $result = $db->sql_query_limit($sql, $config['posts_per_page'], $start); $row_count = 0; if ($row = $db->sql_fetchrow($result)) { $class = 'row2'; ?> sql_fetchrow($result)); } $db->sql_freeresult($result); $pagination = generate_pagination("$uri&sk=$sk&sd=$sd", $num_attachments, $config['topics_per_page'], $start); ?>
lang['USER_ADMIN_' . strtoupper($action)]; ?>
  
lang['USER_ADMIN_SIG']; ?>
lang['UCP_ICQ']; ?>:
lang['UCP_AIM']; ?>:
lang['UCP_MSNM']; ?>:
lang['UCP_YIM']; ?>:
lang['UCP_JABBER']; ?>:
lang['WEBSITE']; ?>:
lang['LOCATION']; ?>:
lang['OCCUPATION']; ?>:
lang['INTERESTS']; ?>:
lang['BIRTHDAY']; ?>:
lang['BIRTHDAY_EXPLAIN']; ?>
lang['DAY']; ?>: lang['MONTH']; ?>: lang['YEAR']; ?>:
  
lang['USER_ADMIN_PREFS']; ?>
lang['VIEW_IMAGES']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['VIEW_FLASH']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['VIEW_SMILIES']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['VIEW_SIGS']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['VIEW_AVATARS']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['DISABLE_CENSORS']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['VIEW_TOPICS_DAYS']; ?>:
lang['VIEW_TOPICS_KEY']; ?>:
lang['VIEW_TOPICS_DIR']; ?>:
lang['USER_POSTING_PREFS']; ?>
lang['DEFAULT_BBCODE']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['DEFAULT_HTML']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['DEFAULT_SMILE']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['DEFAULT_ADD_SIG']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['DEFAULT_NOTIFY']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['SHOW_EMAIL']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['ADMIN_EMAIL']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['ALLOW_PM']; ?>:
lang['ALLOW_PM_EXPLAIN']; ?>
/>lang['YES']; ?>   />lang['NO']; ?>
lang['HIDE_ONLINE']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['NOTIFY_METHOD']; ?>:
lang['NOTIFY_METHOD_EXPLAIN']; ?>
/>lang['NOTIFY_METHOD_EMAIL']; ?>   />lang['NOTIFY_METHOD_IM']; ?>   />lang['NOTIFY_METHOD_BOTH']; ?>
lang['NOTIFY_ON_PM']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['POPUP_ON_PM']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['BOARD_LANGUAGE']; ?>:
lang['BOARD_STYLE']; ?>:
lang['BOARD_TIMEZONE']; ?>:
lang['BOARD_DST']; ?>: />lang['YES']; ?>   />lang['NO']; ?>
lang['BOARD_DATE_FORMAT']; ?>:
lang['BOARD_DATE_FORMAT_EXPLAIN']; ?>
  
lang['USER_ADMIN_AVATAR']; ?>
lang['CURRENT_IMAGE']; ?>:
lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], round($config['avatar_filesize'] / 1024)); ?>



 lang['DELETE_AVATAR']; ?>
lang['UPLOAD_AVATAR_FILE']; ?>:
lang['UPLOAD_AVATAR_URL']; ?>:
lang['UPLOAD_AVATAR_URL_EXPLAIN']; ?>
lang['LINK_REMOTE_AVATAR']; ?>:
lang['LINK_REMOTE_AVATAR_EXPLAIN']; ?>
lang['LINK_REMOTE_SIZE']; ?>:
lang['LINK_REMOTE_SIZE_EXPLAIN']; ?>
px X px
lang['AVATAR_GALLERY']; ?>:
lang['AVATAR_GALLERY']; ?>
lang['AVATAR_CATEGORY']; ?>:   lang['AVATAR_PAGE']; ?>:  
{avatar_row.avatar_column.AVATAR_NAME}
  
lang['USER_ADMIN_SIG']; ?>
lang['SIGNATURE']; ?>:
 lang['FONT_SIZE']; ?>: lang['CLOSE_TAGS']; ?>
lang['OPTIONS']; ?>
lang['HTML_IS_ON'] : $user->lang['HTML_IS_OFF']; ?>
lang['BBCODE_IS_ON'], "", '') : sprintf($user->lang['BBCODE_IS_OFF'], "", ''); ?>
lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF']; ?>
lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF']; ?>
lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF']; ?>
lang['DISABLE_HTML']; ?>
lang['DISABLE_BBCODE']; ?>
lang['DISABLE_SMILIES']; ?>
lang['DISABLE_MAGIC_URL']; ?>
    
lang['ADMIN_SIGNATURE_PREVIEW']; ?>
lang['USER_ADMIN_GROUPS']; ?>
lang['USER_GROUP_' . strtoupper($group_type)]; ?>
">lang['G_' . $data['group_name']] : $data['group_name']; ?>  ">lang['GROUP_DEFAULT']; ?>lang['GROUP_DEFAULT']; } ?>   ">lang['GROUP_DEMOTE'] : $user->lang['GROUP_PROMOTE']; ?>   ">lang['GROUP_DELETE']; ?> 
lang['USER_GROUP_ADD']; ?>:  
# ">lang['FILENAME']; ?> ">lang['POST_TIME']; ?> ">lang['FILESIZE']; ?> ">lang['DOWNLOADS']; ?> lang['DELETE']; ?>
  
lang['TOPIC']; ?>:
 format_date($row['filetime'], $user->lang['DATE_FORMAT']); ?>  = 1048576) ? (round($row['filesize'] / 1048576 * 100) / 100) . ' ' . $user->lang['MB'] : (($row['filesize'] >= 1024) ? (round($row['filesize'] / 1024 * 100) / 100) . ' ' . $user->lang['KB'] : $row['filesize'] . ' ' . $user->lang['BYTES']); ?>
lang['SORT_BY']; ?>:    
acl_get('a_user')) { trigger_error($user->lang['No_admin']); } ?>

lang['USER_ADMIN']; ?>

lang['USER_ADMIN_EXPLAIN']; ?>

">
lang['SELECT_USER']; ?>
lang['FIND_USERNAME']; ?>:
[ " onclick="window.open('', '_phpbbsearch', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=740');return false;">lang['FIND_USERNAME']; ?> ]