admin_users.php should be at least sort of usable again.

git-svn-id: file:///svn/phpbb/trunk@5273 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Bart van Bragt 2005-10-21 20:29:09 +00:00
parent b873b37607
commit 307999321d

View file

@ -109,19 +109,34 @@ if ($username || $user_id)
{
$session_time = 0;
$sql_where = ($user_id) ? "user_id = $user_id" : "username = '" . $db->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";
if ($action == 'overview')
{
$sql = '
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";
}
else
{
$sql = 'SELECT * FROM ' . USERS_TABLE . " WHERE $sql_where";
}
$result = $db->sql_query($sql);
if (!extract($db->sql_fetchrow($result)))
if (!$userrow = $db->sql_fetchrow($result))
{
trigger_error($user->lang['NO_USER']);
}
$db->sql_freeresult($result);
if ($session_time > $user_lastvisit)
if ($userrow['session_time'] > $userrow['user_lastvisit'])
{
$user_lastvisit = $session_time;
$user_lastpage = $session_page;
$userrow['user_lastvisit'] = $userrow['session_time'];
$userrow['user_lastpage'] = $userrow['session_page'];
}
$user_password = '';
@ -148,6 +163,9 @@ if ($username || $user_id)
$form_options .= '<option value="' . $value . '"' . $selected . '>' . $user->lang['USER_ADMIN_' . $lang] . '</option>';
}
// Make sure $user_id is available.
$user_id = $userrow['user_id'];
$pagination = '';
?>
@ -212,7 +230,8 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
if ($submit)
{
if ($delete && $user_type != USER_FOUNDER)
// You can't delete the founder
if ($delete && $userrow['user_type'] != USER_FOUNDER)
{
if (!$auth->acl_get('a_userdel'))
{
@ -227,13 +246,13 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
{
user_delete($deletetype, $user_id);
add_log('admin', 'LOG_USER_DELETED', $username);
add_log('admin', 'LOG_USER_DELETED', $userrow['username']);
trigger_error($user->lang['USER_DELETED']);
}
}
// Handle quicktool actions
if ($quicktools && $user_type != USER_FOUNDER)
if ($quicktools && $userrow['user_type'] != USER_FOUNDER)
{
switch ($quicktools)
{
@ -245,19 +264,19 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
switch ($quicktools)
{
case 'banuser':
$ban[] = $username;
$ban[] = $userrow['username'];
$reason = 'USER_ADMIN_BAN_NAME_REASON';
$log = 'LOG_BAN_USERNAME_USER';
break;
case 'banemail':
$ban[] = $user_email;
$ban[] = $userrow['user_email'];
$reason = 'USER_ADMIN_BAN_EMAIL_REASON';
$log = 'LOG_BAN_EMAIL_USER';
break;
case 'banip':
$ban[] = $user_ip;
$ban[] = $userrow['user_ip'];
$sql = 'SELECT DISTINCT poster_ip
FROM ' . POSTS_TABLE . "
@ -294,7 +313,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
$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);
user_active_flip($user_id, $userrow['user_type'], $user_actkey, $userrow['username']);
$messenger = new messenger();
@ -302,7 +321,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
$messenger->subject();
$messenger->replyto($config['board_contact']);
$messenger->to($user_email, $username);
$messenger->to($userrow['user_email'], $userrow['username']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
@ -322,7 +341,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
$messenger->send(NOTIFY_EMAIL);
$messenger->save_queue();
add_log('admin', 'LOG_USER_REACTIVATE', $username);
add_log('admin', 'LOG_USER_REACTIVATE', $userrow['username']);
add_log('user', $user_id, 'LOG_USER_REACTIVATE_USER');
trigger_error($user->lang['USER_ADMIN_REACTIVATE']);
@ -332,12 +351,12 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
case 'active':
user_active_flip($user_id, $user_type, false, $username);
user_active_flip($user_id, $userrow['user_type'], false, $userrow['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('admin', $log, $userrow['username']);
add_log('user', $user_id, $log . '_USER');
trigger_error($user->lang[$message]);
@ -435,7 +454,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
'icon_id' => 0,
'topic_approved' => 1,
'topic_title' => $post_ary['title'],
'topic_first_poster_name' => $username,
'topic_first_poster_name' => $userrow['username'],
'topic_type' => POST_NORMAL,
'topic_time_limit' => 0,
'topic_attachment' => $post_ary['attach'],)
@ -480,49 +499,57 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
WHERE topic_id = $new_forum_id";
$result = $db->sql_query($sql);
extract($db->sql_fetchrow($result));
$forum_info = $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);
add_log('admin', 'LOG_USER_MOVE_POSTS', $forum_info['forum_name'], $userrow['username']);
add_log('user', $user_id, 'LOG_USER_MOVE_POSTS_USER', $forum_info['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,
'username' => (string) $userrow['username'],
'user_type' => (int) $userrow['user_founder'],
'user_email' => (string) $userrow['user_email'],
'email_confirm' => (string) '',
'user_password' => (string) '',
'password_confirm' => (string) '',
'user_warnings' => (int) $user_warnings,
'user_warnings' => (int) $userrow['user_warnings'],
);
// Get the data from the form. Use data from the database if no info is provided
foreach ($var_ary as $var => $default)
{
$data[$var] = request_var($var, $default);
}
// Validation data
$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'])
if ($data['username'] != $userrow['username'])
{
$var_ary += array(
'username' => array(
array('string', false, $config['min_name_chars'], $config['max_name_chars']),
array('username', $username)),
array('username', $userrow['username'])),
);
}
// Check email if altered
if ($data['user_email'] != $userrow['user_email'])
{
$var_ary += array(
'user_email' => array(
array('string', false, 6, 60),
array('email', $userrow['user_email'])),
'email_confirm' => array('string', true, 6, 60)
);
}
@ -533,40 +560,38 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
$error[] = 'NEW_PASSWORD_ERROR';
}
if ($user_email != $data['user_email'] && $data['email_confirm'] != $data['user_email'])
if ($data['user_email'] != $userrow['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_username = ($username != $data['username']) ? $data['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,
'username' => $data['username'],
// TODO: check if this user is allowed to change user_type
'user_type' => $data['user_founder'],
'user_email' => $data['user_email'],
'user_email_hash' => crc32(strtolower($data['user_email'])) . strlen($data['user_email']),
'user_warnings' => $data['user_warnings'],
);
if ($update_password)
{
$sql_ary += array(
'user_password' => md5($user_password),
'user_password' => md5($data['user_password']),
'user_passchg' => time(),
);
}
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
WHERE user_id = ' . $user->data['user_id'];
WHERE user_id = ' . $user_id;
$db->sql_query($sql);
// TODO
@ -576,7 +601,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
if ($update_username)
{
user_update_name($update_username, $username);
user_update_name($update_username, $userrow['username']);
}
trigger_error($user->lang['USER_OVERVIEW_UPDATED']);
@ -585,7 +610,6 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
// 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');
@ -601,8 +625,17 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
$options .= '<option value="' . $value . '">' . $user->lang['USER_ADMIN_' . $lang] . '</option>';
}
$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"' : '');
$user_founder_yes = ($userrow['user_type'] == USER_FOUNDER) ? ' checked="checked"' : '';
$user_founder_no = ($userrow['user_type'] != USER_FOUNDER) ? ' checked="checked"' : (($user->data['user_type'] != USER_FOUNDER) ? ' disabled="disabled"' : '');
foreach($error as $error_msg)
{
?>
<tr>
<td colspan="2"><?php echo $error_msg;?></td>
</tr>
<?php
}
?>
<tr>
@ -610,30 +643,29 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
</tr>
<tr>
<td class="row1" width="40%"><?php echo $user->lang['USERNAME']; ?>: <br /><span class="gensmall"><?php echo sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']); ?></span></td>
<td class="row2"><input class="post" type="text" name="username" value="<?php echo $username; ?>" maxlength="60" /></td>
<td class="row2"><input class="post" type="text" name="username" value="<?php echo $userrow['username']; ?>" maxlength="60" /></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['REGISTERED']; ?>: </td>
<td class="row2"><strong><?php echo $user->format_date($user_regdate); ?></strong></td>
<td class="row2"><strong><?php echo $user->format_date($userrow['user_regdate']); ?></strong></td>
</tr>
<?php
if ($user_ip)
if ($userrow['user_ip'])
{
?>
<tr>
<td class="row1"><?php echo $user->lang['REGISTERED_IP']; ?>: </td>
<td class="row2"><strong><?php echo "<a href=\"admin_users.$phpEx$SID&amp;action=$action&amp;u=$user_id&amp;ip=" . ((!$ip || $ip == 'ip') ? 'hostname' : 'ip') . '">' . (($ip == 'hostname') ? gethostbyaddr($user_ip) : $user_ip) . "</a> [ <a href=\"admin_users.$phpEx$SID&amp;action=whois&amp;ip=$user_ip\" onclick=\"window.open('admin_users.$phpEx$SID&amp;action=whois&amp;ip=$user_ip', '', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=600');return false;\">" . $user->lang['WHOIS'] . '</a> ]'; ?></strong></td>
<td class="row2"><strong><?php echo "<a href=\"admin_users.$phpEx$SID&amp;action=$action&amp;u=$user_id&amp;ip=" . ((!$ip || $ip == 'ip') ? 'hostname' : 'ip') . '">' . (($ip == 'hostname') ? gethostbyaddr($user_ip) : $user_ip) . "</a> [ <a href=\"admin_users.$phpEx$SID&amp;action=whois&amp;ip=" . $userrow['user_ip'] . "\" onclick=\"window.open('admin_users.$phpEx$SID&amp;action=whois&amp;ip=" . $userrow['user_ip'] . "', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=600');return false;\">" . $user->lang['WHOIS'] . '</a> ]'; ?></strong></td>
</tr>
<?php
}
?>
<tr>
<td class="row1" width="40%"><?php echo $user->lang['LAST_ACTIVE']; ?>: </td>
<td class="row2"><strong><?php echo $user->format_date($user_lastvisit); ?></strong></td>
<td class="row2"><strong><?php echo $user->format_date($userrow['user_lastvisit']); ?></strong></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['FOUNDER']; ?>: <br /><span class="gensmall"><?php echo $user->lang['FOUNDER_EXPLAIN']; ?></span></td>
@ -641,7 +673,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
</tr>
<tr>
<td class="row1"><?php echo $user->lang['EMAIL']; ?>: </td>
<td class="row2"><input class="post" type="text" name="user_email" value="<?php echo $user_email; ?>" maxlength="60" /></td>
<td class="row2"><input class="post" type="text" name="user_email" value="<?php echo $userrow['user_email']; ?>" maxlength="60" /></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['CONFIRM_EMAIL']; ?>: <br /><span class="gensmall"><?php echo $user->lang['CONFIRM_EMAIL_EXPLAIN']; ?></span></td>
@ -657,7 +689,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
</tr>
<?php
if ($user_type != USER_FOUNDER)
if ($userrow['user_type'] != USER_FOUNDER)
{
?>
@ -666,7 +698,7 @@ e_help = "<?php echo $user->lang['BBCODE_E_HELP']; ?>";
</tr>
<tr>
<td class="row1"><?php echo $user->lang['WARNINGS']; ?>: <br /><span class="gensmall"><?php echo $user->lang['WARNINGS_EXPLAIN']; ?></span></td>
<td class="row2"><input class="post" type="text" name="warnings" size="2" maxlength="2" value="<?php echo $user->data['user_warnings']; ?>" /></td>
<td class="row2"><input class="post" type="text" name="warnings" size="2" maxlength="2" value="<?php echo $userrow['user_warnings']; ?>" /></td>
</tr>
<tr>
<td class="row1"><?php echo $user->lang['QUICK_TOOLS']; ?>: </td>
@ -882,8 +914,6 @@ function marklist(match, status)
);
$error = validate_data($data, $var_ary);
extract($data);
unset($data);
// validate custom profile fields
// $cp->submit_cp_field('profile', $cp_data, $cp_error);
@ -891,16 +921,16 @@ function marklist(match, status)
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),
'user_icq' => $data['icq'],
'user_aim' => $data['aim'],
'user_msnm' => $data['msn'],
'user_yim' => $data['yim'],
'user_jabber' => $data['jabber'],
'user_website' => $data['website'],
'user_from' => $data['location'],
'user_occ' => $data['occupation'],
'user_interests'=> $data['interests'],
'user_birthday' => sprintf('%2d-%2d-%4d', $data['bday_day'], $data['bday_month'], $data['bday_year']),
);
$sql = 'UPDATE ' . USERS_TABLE . '
@ -940,31 +970,31 @@ function marklist(match, status)
$cp_data = $cp_error = array();
if (!isset($bday_day))
if (!isset($userrow['bday_day']))
{
list($bday_day, $bday_month, $bday_year) = explode('-', $user_birthday);
list($userrow['bday_day'], $userrow['bday_month'], $userrow['bday_year']) = explode('-', $userrow['user_birthday']);
}
$s_birthday_day_options = '<option value="0"' . ((!$bday_day) ? ' selected="selected"' : '') . '>--</option>';
for ($i = 1; $i < 32; $i++)
{
$selected = ($i == $bday_day) ? ' selected="selected"' : '';
$selected = ($i == $userrow['bday_day']) ? ' selected="selected"' : '';
$s_birthday_day_options .= "<option value=\"$i\"$selected>$i</option>";
}
$s_birthday_month_options = '<option value="0"' . ((!$bday_month) ? ' selected="selected"' : '') . '>--</option>';
$s_birthday_month_options = '<option value="0"' . ((!$userrow['bday_month']) ? ' selected="selected"' : '') . '>--</option>';
for ($i = 1; $i < 13; $i++)
{
$selected = ($i == $bday_month) ? ' selected="selected"' : '';
$selected = ($i == $userrow['bday_month']) ? ' selected="selected"' : '';
$s_birthday_month_options .= "<option value=\"$i\"$selected>$i</option>";
}
$s_birthday_year_options = '';
$now = getdate();
$s_birthday_year_options = '<option value="0"' . ((!$bday_year) ? ' selected="selected"' : '') . '>--</option>';
$s_birthday_year_options = '<option value="0"' . ((!$userrow['bday_year']) ? ' selected="selected"' : '') . '>--</option>';
for ($i = $now['year'] - 100; $i < $now['year']; $i++)
{
$selected = ($i == $bday_year) ? ' selected="selected"' : '';
$selected = ($i == $userrow['bday_year']) ? ' selected="selected"' : '';
$s_birthday_year_options .= "<option value=\"$i\"$selected>$i</option>";
}
unset($now);
@ -980,39 +1010,39 @@ function marklist(match, status)
</tr>
<tr>
<td class="row1" width="40%"><b><?php echo $user->lang['UCP_ICQ']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="icq" size="30" maxlength="15" value="<?php echo $user_icq; ?>" /></td>
<td class="row2"><input class="post" type="text" name="icq" size="30" maxlength="15" value="<?php echo $userrow['user_icq']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['UCP_AIM']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="aim" size="30" maxlength="255" value="<?php echo $user_aim; ?>" /></td>
<td class="row2"><input class="post" type="text" name="aim" size="30" maxlength="255" value="<?php echo $userrow['user_aim']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['UCP_MSNM']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="msn" size="30" maxlength="255" value="<?php echo $user_msnm; ?>" /></td>
<td class="row2"><input class="post" type="text" name="msn" size="30" maxlength="255" value="<?php echo $userrow['user_msnm']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['UCP_YIM']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="yim" size="30" maxlength="255" value="<?php echo $user_yim; ?>" /></td>
<td class="row2"><input class="post" type="text" name="yim" size="30" maxlength="255" value="<?php echo $userrow['user_yim']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['UCP_JABBER']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="jabber" size="30" maxlength="255" value="<?php echo $user_jabber; ?>" /></td>
<td class="row2"><input class="post" type="text" name="jabber" size="30" maxlength="255" value="<?php echo $userrow['user_jabber']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['WEBSITE']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="website" size="30" maxlength="255" value="<?php echo $user_website; ?>" /></td>
<td class="row2"><input class="post" type="text" name="website" size="30" maxlength="255" value="<?php echo $userrow['user_website']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['LOCATION']; ?>: </b></td>
<td class="row2"><input class="post" type="text" name="location" size="30" maxlength="100" value="<?php echo $user_location; ?>" /></td>
<td class="row2"><input class="post" type="text" name="location" size="30" maxlength="100" value="<?php echo $userrow['user_from']; ?>" /></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['OCCUPATION']; ?>: </b></td>
<td class="row2"><textarea class="post" name="occ" rows="3" cols="30"><?php echo $user_occ; ?></textarea></td>
<td class="row2"><textarea class="post" name="occupation" rows="3" cols="30"><?php echo $userrow['user_occ']; ?></textarea></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['INTERESTS']; ?>: </b></td>
<td class="row2"><textarea class="post" name="interests" rows="3" cols="30"><?php echo $user_interests; ?></textarea></td>
<td class="row2"><textarea class="post" name="interests" rows="3" cols="30"><?php echo $userrow['user_interests']; ?></textarea></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BIRTHDAY']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['BIRTHDAY_EXPLAIN']; ?></span></td>
@ -1076,8 +1106,6 @@ function marklist(match, status)
);
$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', 'smilies', 'attachsig');
@ -1090,22 +1118,22 @@ function marklist(match, status)
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,
'user_allow_pm' => $data['user_allow_pm'],
'user_allow_viewemail' => $data['user_allow_viewemail'],
'user_allow_massemail' => $data['user_allow_massemail'],
'user_allow_viewonline' => $data['user_allow_viewonline'],
'user_notify_type' => $data['user_notify_type'],
'user_notify_pm' => $data['user_notify_pm'],
'user_options' => $data['user_options'],
'user_notify' => $data['user_notify'],
'user_dst' => $data['user_dst'],
'user_dateformat' => $data['user_dateformat'],
'user_lang' => $data['user_lang'],
'user_timezone' => $data['user_tz'],
'user_style' => $data['user_style'],
'user_sortby_type' => $data['sk'],
'user_sortby_dir' => $data['sd'],
'user_show_days' => $data['st'],
);
$sql = 'UPDATE ' . USERS_TABLE . '
@ -1127,8 +1155,8 @@ function marklist(match, status)
foreach ($option_ary as $option)
{
${$option . '_yes'} = ($$option) ? ' checked="checked"' : '';
${$option . '_no'} = (!$$option) ? ' checked="checked"' : '';
${$option . '_yes'} = ($userrow[$option]) ? ' checked="checked"' : '';
${$option . '_no'} = (!$userrow[$option]) ? ' checked="checked"' : '';
}
unset($option_ary);
@ -1136,13 +1164,13 @@ function marklist(match, status)
foreach ($option_ary as $option)
{
${$option . '_yes'} = ($user->optionget($option, $user_options)) ? ' checked="checked"' : '';
${$option . '_no'} = (!$user->optionget($option, $user_options)) ? ' checked="checked"' : '';
${$option . '_yes'} = ($user->optionget($userrow[$option], $user_options)) ? ' checked="checked"' : '';
${$option . '_no'} = (!$user->optionget($userrow[$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"' : '';
$notify_email = ($userrow['user_notify_type'] == NOTIFY_EMAIL) ? ' checked="checked"' : '';
$notify_im = ($userrow['user_notify_type'] == NOTIFY_IM) ? ' checked="checked"' : '';
$notify_both = ($userrow['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']);
@ -1151,7 +1179,7 @@ function marklist(match, status)
$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);
gen_sort_selects($limit_days, $sort_by_text, $userrow['user_show_days'], $userrow['user_sortby_type'], $userrow['user_sortby_dir'], $s_limit_days, $s_sort_key, $s_sort_dir);
?>
<tr>
@ -1253,15 +1281,15 @@ function marklist(match, status)
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOARD_LANGUAGE']; ?>:</b></td>
<td class="row2"><select name="user_lang"><?php echo language_select($user_lang); ?></select></td>
<td class="row2"><select name="user_lang"><?php echo language_select($userrow['user_lang']); ?></select></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOARD_STYLE']; ?>:</b></td>
<td class="row2"><select name="user_style"><?php echo style_select($user_style); ?></select></td>
<td class="row2"><select name="user_style"><?php echo style_select($userrow['user_style']); ?></select></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOARD_TIMEZONE']; ?>:</b></td>
<td class="row2"><select name="user_tz"><?php echo tz_select($user_timezone); ?></select></td>
<td class="row2"><select name="user_tz"><?php echo tz_select($userrow['user_timezone']); ?></select></td>
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOARD_DST']; ?>:</b></td>
@ -1269,7 +1297,7 @@ function marklist(match, status)
</tr>
<tr>
<td class="row1"><b><?php echo $user->lang['BOARD_DATE_FORMAT']; ?>:</b><br /><span class="gensmall"><?php echo $user->lang['BOARD_DATE_FORMAT_EXPLAIN']; ?></span></td>
<td class="row2"><input type="text" name="user_dateformat" value="<?php echo $user_dateformat; ?>" maxlength="14" class="post" /></td>
<td class="row2"><input type="text" name="user_dateformat" value="<?php echo $userrow['user_dateformat']; ?>" maxlength="14" class="post" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input class="btnmain" type="submit" name="update" value="<?php echo $user->lang['SUBMIT']; ?>" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="<?php echo $user->lang['RESET']; ?>" /></td>
@ -1349,9 +1377,6 @@ function marklist(match, status)
trigger_error($message);
}
extract($data);
unset($data);
}
$colspan = 2;
@ -1361,9 +1386,9 @@ function marklist(match, status)
// Generate users avatar
$avatar_img = '';
if ($user_avatar)
if ($userrow['user_avatar'])
{
switch ($user_avatar_type)
switch ($userrow['user_avatar_type'])
{
case AVATAR_UPLOAD:
$avatar_img = $phpbb_root_path . $config['avatar_path'] . '/';
@ -1372,9 +1397,9 @@ function marklist(match, status)
$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';
break;
}
$avatar_img .= $user_avatar;
$avatar_img .= $userrow['user_avatar'];
$avatar_img = '<img src="' . $avatar_img . '" width="' . $user_avatar_width . '" height="' . $user_avatar_height . '" border="0" alt="" />';
$avatar_img = '<img src="' . $avatar_img . '" width="' . $userrow['user_avatar_width'] . '" height="' . $userrow['user_avatar_height'] . '" border="0" alt="" />';
}
else
{
@ -1402,7 +1427,7 @@ function marklist(match, status)
</tr>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['UPLOAD_AVATAR_URL']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['UPLOAD_AVATAR_URL_EXPLAIN']; ?></span></td>
<td class="row1"><input class="post" type="text" name="uploadurl" size="40" value="<?php echo $avatar_url; ?>" /></td>
<td class="row1"><input class="post" type="text" name="uploadurl" size="40" value="<?php echo $userrow['user_avatar']; ?>" /></td>
</tr>
<?php
@ -1411,11 +1436,11 @@ function marklist(match, status)
?>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['LINK_REMOTE_AVATAR']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LINK_REMOTE_AVATAR_EXPLAIN']; ?></span></td>
<td class="row1"><input class="post" type="text" name="remotelink" size="40" value="<?php echo $avatar_url; ?>" /></td>
<td class="row1"><input class="post" type="text" name="remotelink" size="40" value="<?php echo $userrow['user_avatar']; ?>" /></td>
</tr>
<tr>
<td class="row2" width="35%"><b><?php echo $user->lang['LINK_REMOTE_SIZE']; ?>: </b><br /><span class="gensmall"><?php echo $user->lang['LINK_REMOTE_SIZE_EXPLAIN']; ?></span></td>
<td class="row1"><input class="post" type="text" name="width" size="3" value="<?php echo $user_avatar_width; ?>" /> <span class="gen">px X </span> <input class="post" type="text" name="height" size="3" value="<?php echo $user_avatar_height; ?>" /> <span class="gen">px</span></td>
<td class="row1"><input class="post" type="text" name="width" size="3" value="<?php echo $userrow['user_avatar_width']; ?>" /> <span class="gen">px X </span> <input class="post" type="text" name="height" size="3" value="<?php echo $userrow['user_avatar_height']; ?>" /> <span class="gen">px</span></td>
</tr>
<?php
@ -1488,7 +1513,7 @@ function marklist(match, status)
foreach ($var_ary as $var => $default)
{
$$var = request_var($var, $default);
$data[$var] = request_var($var, $default);
}
// NOTE: allow_img and allow_flash do not exist in config table
@ -1496,10 +1521,10 @@ function marklist(match, status)
$flash_status = ($config['allow_flash']) ? true : false;
include($phpbb_root_path . 'includes/message_parser.'.$phpEx);
$message_parser = new parse_message($signature);
$message_parser = new parse_message($data['signature']);
// Allowing Quote BBCode
$message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies, $img_status, $flash_status, true);
$message_parser->parse($data['enable_html'], $data['enable_bbcode'], $data['enable_urls'], $data['enable_smilies'], $img_status, $flash_status, true);
if ($submit)
{
@ -1527,11 +1552,11 @@ function marklist(match, status)
if ($preview)
{
// Now parse it for displaying
$signature_preview = $message_parser->format_display($enable_html, $enable_bbcode, $enable_urls, $enable_smilies, false);
$signature_preview = $message_parser->format_display($data['enable_html'], $data['enable_bbcode'], $data['enable_urls'], $data['enable_smilies'], false);
unset($message_parser);
}
decode_message($user_sig, $user_sig_bbcode_uid);
decode_message($userrow['user_sig'], $userrow['user_sig_bbcode_uid']);
?>
<tr>
@ -1569,7 +1594,7 @@ function marklist(match, status)
<td colspan="9"><input class="helpline" type="text" name="helpbox" size="45" maxlength="100" value="<?php echo $user->lang['STYLES_TIP']; ?>" /></td>
</tr>
<tr>
<td colspan="9"><textarea name="signature" rows="6" cols="60" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"><?php echo $user_sig; ?></textarea></td>
<td colspan="9"><textarea name="signature" rows="6" cols="60" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"><?php echo $userrow['user_sig']; ?></textarea></td>
</tr>
<tr>
<td colspan="9"><table cellspacing="0" cellpadding="0" border="0">