1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-10 18:54:08 +02:00

- use the $var_ary for settings in a more logical way (hopefully removes the clutter and shows where which variable is set how)

- hopefully utf8 passwords are working too now


git-svn-id: file:///svn/phpbb/trunk@6552 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen
2006-11-04 17:19:33 +00:00
parent 8b90d5998b
commit 63c0c798c8
7 changed files with 215 additions and 335 deletions

View File

@@ -30,44 +30,30 @@ class ucp_prefs
case 'personal':
$data = array(
'notifymethod' => $user->data['user_notify_type'],
'dateformat' => $user->data['user_dateformat'],
'lang' => $user->data['user_lang'],
'style' => $user->data['user_style'],
'tz' => $user->data['user_timezone'],
'notifymethod' => request_var('notifymethod', $user->data['user_notify_type']),
'dateformat' => request_var('dateformat', $user->data['user_dateformat']),
'lang' => request_var('lang', $user->data['user_lang']),
'style' => request_var('style', (int) $user->data['user_style']),
'tz' => request_var('tz', (float) $user->data['user_timezone']),
'dst' => request_var('dst', (bool) $user->data['user_dst']),
'viewemail' => request_var('viewemail', (bool) $user->data['user_allow_viewemail']),
'massemail' => request_var('massemail', (bool) $user->data['user_allow_massemail']),
'hideonline' => request_var('hideonline', (bool) !$user->data['user_allow_viewonline']),
'notifypm' => request_var('notifypm', (bool) $user->data['user_notify_pm']),
'popuppm' => request_var('popuppm', (bool) $user->optionget('popuppm')),
'allowpm' => request_var('allowpm', (bool) $user->data['user_allow_pm']),
);
if ($submit)
{
$var_ary = array(
'dateformat' => (string) $config['default_dateformat'],
'lang' => (string) $config['default_lang'],
'tz' => (float) $config['board_timezone'],
'style' => (int) $config['default_style'],
'dst' => (bool) $config['board_dst'],
'viewemail' => false,
'massemail' => true,
'hideonline' => false,
'notifymethod' => 0,
'notifypm' => true,
'popuppm' => false,
'allowpm' => true,
);
foreach ($var_ary as $var => $default)
{
$data[$var] = request_var($var, $default);
}
$data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style'];
$var_ary = array(
$error = validate_data($data, array(
'dateformat' => array('string', false, 3, 30),
'lang' => array('match', false, '#^[a-z0-9_\-]{2,}$#i'),
'tz' => array('num', false, -14, 14),
);
$error = validate_data($data, $var_ary);
));
if (!sizeof($error))
{
@@ -128,13 +114,13 @@ class ucp_prefs
'S_NOTIFY_EMAIL' => ($data['notifymethod'] == NOTIFY_EMAIL) ? true : false,
'S_NOTIFY_IM' => ($data['notifymethod'] == NOTIFY_IM) ? true : false,
'S_NOTIFY_BOTH' => ($data['notifymethod'] == NOTIFY_BOTH) ? true : false,
'S_VIEW_EMAIL' => (isset($data['viewemail'])) ? $data['viewemail'] : $user->data['user_allow_viewemail'],
'S_MASS_EMAIL' => (isset($data['massemail'])) ? $data['massemail'] : $user->data['user_allow_massemail'],
'S_ALLOW_PM' => (isset($data['allowpm'])) ? $data['allowpm'] : $user->data['user_allow_pm'],
'S_HIDE_ONLINE' => (isset($data['hideonline'])) ? $data['hideonline'] : !$user->data['user_allow_viewonline'],
'S_NOTIFY_PM' => (isset($data['notifypm'])) ? $data['notifypm'] : $user->data['user_notify_pm'],
'S_POPUP_PM' => (isset($data['popuppm'])) ? $data['popuppm'] : $user->optionget('popuppm'),
'S_DST' => (isset($data['dst'])) ? $data['dst'] : $user->data['user_dst'],
'S_VIEW_EMAIL' => $data['viewemail'],
'S_MASS_EMAIL' => $data['massemail'],
'S_ALLOW_PM' => $data['allowpm'],
'S_HIDE_ONLINE' => $data['hideonline'],
'S_NOTIFY_PM' => $data['notifypm'],
'S_POPUP_PM' => $data['popuppm'],
'S_DST' => $data['dst'],
'DATE_FORMAT' => $data['dateformat'],
'S_DATEFORMAT_OPTIONS' => $dateformat_options,
@@ -161,32 +147,23 @@ class ucp_prefs
'post_sk' => (!empty($user->data['user_post_sortby_type'])) ? $user->data['user_post_sortby_type'] : 't',
'post_sd' => (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'a',
'post_st' => (!empty($user->data['user_post_show_days'])) ? $user->data['user_post_show_days'] : 0,
'images' => request_var('images', (bool) $user->optionget('viewimg')),
'flash' => request_var('flash', (bool) $user->optionget('viewflash')),
'smilies' => request_var('smilies', (bool) $user->optionget('viewsmilies')),
'sigs' => request_var('sigs', (bool) $user->optionget('viewsigs')),
'avatars' => request_var('avatars', (bool) $user->optionget('viewavatars')),
'wordcensor' => request_var('wordcensor', (bool) $user->optionget('viewcensors')),
);
if ($submit)
{
$var_ary = array_merge($data, array(
'images' => true,
'flash' => false,
'smilies' => true,
'sigs' => true,
'avatars' => true,
'wordcensor'=> false,
));
foreach ($var_ary as $var => $default)
{
$data[$var] = request_var($var, $default);
}
$var_ary = array(
$error = validate_data($data, array(
'topic_sk' => array('string', false, 1, 1),
'topic_sd' => array('string', false, 1, 1),
'post_sk' => array('string', false, 1, 1),
'post_sd' => array('string', false, 1, 1),
);
$error = validate_data($data, $var_ary);
));
if (!sizeof($error))
{
@@ -271,12 +248,12 @@ class ucp_prefs
$template->assign_vars(array(
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
'S_IMAGES' => (isset($data['images'])) ? $data['images'] : $user->optionget('viewimg'),
'S_FLASH' => (isset($data['flash'])) ? $data['flash'] : $user->optionget('viewflash'),
'S_SMILIES' => (isset($data['smilies'])) ? $data['smilies'] : $user->optionget('viewsmilies'),
'S_SIGS' => (isset($data['sigs'])) ? $data['sigs'] : $user->optionget('viewsigs'),
'S_AVATARS' => (isset($data['avatars'])) ? $data['avatars'] : $user->optionget('viewavatars'),
'S_DISABLE_CENSORS' => (isset($data['wordcensor'])) ? $data['wordcensor'] : $user->optionget('viewcensors'),
'S_IMAGES' => $data['images'],
'S_FLASH' => $data['flash'],
'S_SMILIES' => $data['smilies'],
'S_SIGS' => $data['sigs'],
'S_AVATARS' => $data['avatars'],
'S_DISABLE_CENSORS' => $data['wordcensor'],
'S_CHANGE_CENSORS' => ($auth->acl_get('u_chgcensors')) ? true : false,
@@ -293,21 +270,14 @@ class ucp_prefs
case 'post':
$data = array(
'bbcode' => $user->optionget('bbcode'),
'smilies' => $user->optionget('smilies'),
'sig' => $user->optionget('attachsig'),
'notify' => $user->data['user_notify'],
'bbcode' => request_var('bbcode', $user->optionget('bbcode')),
'smilies' => request_var('smilies', $user->optionget('smilies')),
'sig' => request_var('sig', $user->optionget('attachsig')),
'notify' => request_var('notify', $user->data['user_notify']),
);
if ($submit)
{
$var_ary = $data;
foreach ($var_ary as $var => $default)
{
$data[$var] = request_var($var, $default);
}
$user->optionset('bbcode', $data['bbcode']);
$user->optionset('smilies', $data['smilies']);
$user->optionset('attachsig', $data['sig']);

View File

@@ -34,23 +34,18 @@ class ucp_profile
case 'reg_details':
$data = array(
'username' => $user->data['username'],
'email' => $user->data['user_email'],
'email_confirm' => (string) '',
'new_password' => (string) '',
'cur_password' => (string) '',
'password_confirm' => (string) '',
'username' => request_var('username', $user->data['username'], true),
'email' => request_var('email', $user->data['user_email']),
'email_confirm' => request_var('email_confirm', ''),
'new_password' => request_var('new_password', '', true),
'cur_password' => request_var('cur_password', '', true),
'password_confirm' => request_var('password_confirm', '', true),
);
if ($submit)
{
foreach ($data as $var => $default)
{
$data[$var] = ($var == 'username') ? request_var($var, $default, true) : request_var($var, $default);
}
// Do not check cur_password, it is the old one.
$var_ary = array(
$check_ary = array(
'new_password' => array(
array('string', true, $config['min_pass_chars'], $config['max_pass_chars']),
array('password')),
@@ -63,13 +58,13 @@ class ucp_profile
if ($auth->acl_get('u_chgname') && $config['allow_namechange'])
{
$var_ary['username'] = array(
$check_ary['username'] = array(
array('string', false, $config['min_name_chars'], $config['max_name_chars']),
array('username', $data['username']),
);
}
$error = validate_data($data, $var_ary);
$error = validate_data($data, $check_ary);
if ($auth->acl_get('u_chgpasswd') && $data['new_password'] && $data['password_confirm'] != $data['new_password'])
{
@@ -249,15 +244,15 @@ class ucp_profile
$cp_data = $cp_error = array();
$data = array(
'icq' => (string) $user->data['user_icq'],
'aim' => (string) $user->data['user_aim'],
'msn' => (string) $user->data['user_msnm'],
'yim' => (string) $user->data['user_yim'],
'jabber' => (string) $user->data['user_jabber'],
'website' => (string) $user->data['user_website'],
'location' => (string) $user->data['user_from'],
'occupation' => (string) $user->data['user_occ'],
'interests' => (string) $user->data['user_interests'],
'icq' => request_var('icq', $user->data['user_icq']),
'aim' => request_var('aim', $user->data['user_aim']),
'msn' => request_var('msn', $user->data['user_msnm']),
'yim' => request_var('yim', $user->data['user_yim']),
'jabber' => request_var('jabber', $user->data['user_jabber']),
'website' => request_var('website', $user->data['user_website']),
'location' => request_var('location', $user->data['user_from'], true),
'occupation' => request_var('occupation', $user->data['user_occ'], true),
'interests' => request_var('interests', $user->data['user_interests']),
'bday_day' => 0,
'bday_month' => 0,
'bday_year' => 0,
@@ -268,14 +263,13 @@ class ucp_profile
list($data['bday_day'], $data['bday_month'], $data['bday_year']) = explode('-', $user->data['user_birthday']);
}
$data['bday_day'] = request_var('bday_day', $data['bday_day']);
$data['bday_month'] = request_var('bday_month', $data['bday_month']);
$data['bday_year'] = request_var('bday_year', $data['bday_year']);
if ($submit)
{
foreach ($data as $var => $default)
{
$data[$var] = (in_array($var, array('location', 'occupation', 'interests'))) ? request_var($var, $default, true) : request_var($var, $default);
}
$var_ary = array(
$error = validate_data($data, array(
'icq' => array(
array('string', true, 3, 15),
array('match', true, '#^[0-9]+$#i')),
@@ -294,9 +288,7 @@ class ucp_profile
'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);
));
// validate custom profile fields
$cp->submit_cp_field('profile', $user->get_iso_lang_id(), $cp_data, $cp_error);
@@ -510,26 +502,19 @@ class ucp_profile
if ($submit)
{
$var_ary = array(
'uploadurl' => (string) '',
'remotelink' => (string) '',
'width' => (string) '',
'height' => (string) '',
$data = array(
'uploadurl' => request_var('uploadurl', ''),
'remotelink' => request_var('remotelink', ''),
'width' => request_var('width', ''),
'height' => request_var('height', ''),
);
foreach ($var_ary as $var => $default)
{
$data[$var] = request_var($var, $default);
}
$var_ary = array(
$error = validate_data($data, 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))
{

View File

@@ -59,7 +59,7 @@ class ucp_register
$cp = new custom_profile();
$error = $data = $cp_data = $cp_error = array();
$error = $cp_data = $cp_error = array();
//
if (!$agreed)
@@ -110,36 +110,22 @@ class ucp_register
$timezone = $config['board_timezone'];
}
$var_ary = array(
'username' => (string) '',
'password_confirm' => (string) '',
'new_password' => (string) '',
'cur_password' => (string) '',
'email' => (string) '',
'email_confirm' => (string) '',
'confirm_code' => (string) '',
'lang' => (string) $user->lang_name,
'tz' => (float) $timezone,
$data = array(
'username' => request_var('username', '', true),
'password_confirm' => request_var('password_confirm', '', true),
'new_password' => request_var('new_password', '', true),
'cur_password' => request_var('cur_password', '', true),
'email' => request_var('email', ''),
'email_confirm' => request_var('email_confirm', ''),
'confirm_code' => request_var('confirm_code', ''),
'lang' => request_var('lang', $user->lang_name),
'tz' => request_var('tz', (float) $timezone),
);
// If we change the language inline, we do not want to display errors, but pre-fill already filled out values
if ($change_lang)
{
foreach ($var_ary as $var => $default)
{
$data[$var] = ($var == 'username') ? request_var($var, $default, true) : request_var($var, $default);
}
}
// Check and initialize some variables if needed
if ($submit)
{
foreach ($var_ary as $var => $default)
{
$data[$var] = ($var == 'username') ? request_var($var, $default, true) : request_var($var, $default);
}
$var_ary = array(
$error = validate_data($data, array(
'username' => array(
array('string', false, $config['min_name_chars'], $config['max_name_chars']),
array('username')),
@@ -154,9 +140,7 @@ class ucp_register
'confirm_code' => array('string', !$config['enable_confirm'], 5, 8),
'tz' => array('num', false, -14, 14),
'lang' => array('match', false, '#^[a-z_\-]{2,}$#i'),
);
$error = validate_data($data, $var_ary);
));
// Replace "error" strings with their real, localised form
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
@@ -481,9 +465,6 @@ class ucp_register
$user_char_ary = array('.*' => 'USERNAME_CHARS_ANY', '[\w]+' => 'USERNAME_ALPHA_ONLY', '[\w_\+\. \-\[\]]+' => 'USERNAME_ALPHA_SPACERS');
$pass_char_ary = array('.*' => 'PASS_TYPE_ANY', '[a-zA-Z]' => 'PASS_TYPE_CASE', '[a-zA-Z0-9]' => 'PASS_TYPE_ALPHA', '[a-zA-Z\W]' => 'PASS_TYPE_SYMBOL');
$data['lang'] = (isset($data['lang'])) ? $data['lang'] : $config['default_lang'];
$data['tz'] = (isset($data['tz'])) ? $data['tz'] : $timezone;
//
$template->assign_vars(array(
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',