mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-25 19:38:53 +00:00
Had to make a start on the UCP proper ... note that things may and in places are quite broken
git-svn-id: file:///svn/phpbb/trunk@3996 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
21ce5c4831
commit
2fc8842b0f
15 changed files with 1096 additions and 377 deletions
|
@ -336,11 +336,11 @@ function make_jumpbox($action, $forum_id = false, $select_all = false)
|
|||
// Pick a language, any language ...
|
||||
function language_select($default = '')
|
||||
{
|
||||
global $db, $phpbb_root_path, $phpEx;
|
||||
global $db;
|
||||
|
||||
$sql = "SELECT lang_iso, lang_local_name
|
||||
FROM " . LANG_TABLE . "
|
||||
ORDER BY lang_english_name";
|
||||
$sql = 'SELECT lang_iso, lang_local_name
|
||||
FROM ' . LANG_TABLE . '
|
||||
ORDER BY lang_english_name';
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$lang_options = '';
|
||||
|
@ -359,9 +359,9 @@ function style_select($default = '')
|
|||
{
|
||||
global $db;
|
||||
|
||||
$sql = "SELECT style_id, style_name
|
||||
FROM " . STYLES_TABLE . "
|
||||
ORDER BY style_name, style_id";
|
||||
$sql = 'SELECT style_id, style_name
|
||||
FROM ' . STYLES_TABLE . '
|
||||
ORDER BY style_name';
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$style_options = '';
|
||||
|
|
|
@ -63,20 +63,20 @@ function validate_optional_fields(&$icq, &$aim, &$msnm, &$yim, &$website, &$loca
|
|||
// and user profile manipulation
|
||||
class userdata extends user
|
||||
{
|
||||
var $error = false;
|
||||
var $error_msg;
|
||||
var $error = array();
|
||||
|
||||
function add_new_user($userdata, $coppa)
|
||||
function add_user($coppa)
|
||||
{
|
||||
global $config, $db, $user;
|
||||
|
||||
$userdata = $this->prepare_data($userdata, TRUE);
|
||||
$userdata = $this->prepare_data(true);
|
||||
|
||||
if (!$this->error)
|
||||
if (!sizeof($this->error))
|
||||
{
|
||||
if (($coppa) && ($config['require_activation'] == USER_ACTIVATION_SELF || $config['require_activation'] == USER_ACTIVATION_ADMIN))
|
||||
if ($coppa && ($config['require_activation'] == USER_ACTIVATION_SELF ||
|
||||
$config['require_activation'] == USER_ACTIVATION_ADMIN))
|
||||
{
|
||||
$user_actkey = $this->gen_png_string(10);
|
||||
$user_actkey = ucp::gen_rand_string(10);
|
||||
$key_len = 54 - (strlen($server_url));
|
||||
$key_len = ($key_len > 6) ? $key_len : 6;
|
||||
|
||||
|
@ -103,26 +103,12 @@ class userdata extends user
|
|||
'username' => $userdata['username'],
|
||||
'user_password' => $userdata['password'],
|
||||
'user_email' => $userdata['email'],
|
||||
'user_viewemail' => $userdata['viewemail'],
|
||||
'user_attachsig' => $userdata['attachsig'],
|
||||
'user_allowsmile' => $userdata['allowsmilies'],
|
||||
'user_allowhtml' => $userdata['allowhtml'],
|
||||
'user_allowbbcode' => $userdata['allowbbcode'],
|
||||
'user_allow_viewonline' => $userdata['allowviewonline'],
|
||||
'user_allow_pm' => 1,
|
||||
'user_notify' => $userdata['notifyreply'],
|
||||
'user_allow_viewonline' => $userdata['hideonline'],
|
||||
'user_notify_pm'=> $userdata['notifypm'],
|
||||
'user_popup_pm' => $userdata['popup_pm'],
|
||||
'user_allow_pm' => 1,
|
||||
'user_timezone' => (float) $userdata['timezone'],
|
||||
'user_dateformat' => $userdata['dateformat'],
|
||||
'user_lang' => $userdata['language'],
|
||||
'user_style' => $userdata['style'],
|
||||
'user_active' => $user_active,
|
||||
'user_actkey' => $user_actkey
|
||||
'user_lang' => $userdata['language'],
|
||||
'user_active' => $user_active,
|
||||
'user_actkey' => $user_actkey
|
||||
);
|
||||
// 'user_avatar' => $avatar_sql['data'],
|
||||
// 'user_avatar_type' => $avatar_sql['type'],
|
||||
|
||||
$sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
||||
$db->sql_query($sql);
|
||||
|
@ -143,22 +129,22 @@ class userdata extends user
|
|||
|
||||
if ($coppa)
|
||||
{
|
||||
$message = $user->lang['COPPA'];
|
||||
$message = $user->lang['ACCOUNT_COPPA'];
|
||||
$email_template = 'coppa_welcome_inactive';
|
||||
}
|
||||
else if ($config['require_activation'] == USER_ACTIVATION_SELF)
|
||||
{
|
||||
$message = $user->lang['Account_inactive'];
|
||||
$message = $user->lang['ACCOUNT_INACTIVE'];
|
||||
$email_template = 'user_welcome_inactive';
|
||||
}
|
||||
else if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
$message = $user->lang['Account_inactive_admin'];
|
||||
$message = $user->lang['ACCOUNT_INACTIVE_ADMIN'];
|
||||
$email_template = 'admin_welcome_inactive';
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = $user->lang['Account_added'];
|
||||
$message = $user->lang['ACCOUNT_ADDED'];
|
||||
$email_template = 'user_welcome';
|
||||
}
|
||||
|
||||
|
@ -221,29 +207,27 @@ class userdata extends user
|
|||
$emailer->reset();
|
||||
}
|
||||
*/
|
||||
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . "index.$phpEx$SID" . '">', '</a>');
|
||||
|
||||
$return = array('user_id' => $user_id,
|
||||
'username' => $userdata['username'],
|
||||
'message' => $message);
|
||||
if ($config['require_activation'] == USER_ACTIVATION_NONE)
|
||||
{
|
||||
set_config('newest_user_id', $userdata['user_id']);
|
||||
set_config('newest_username', $userdata['username']);
|
||||
set_config('num_users', $config['num_users'] + 1, TRUE);
|
||||
}
|
||||
unset($userdata);
|
||||
|
||||
return($return);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return(array('user_id' => 0,
|
||||
'username' => NULL,
|
||||
'message' => $this->error_msg));
|
||||
return $message;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function prepare_data($userdata, $registration = FALSE)
|
||||
function prepare_data($registration = FALSE)
|
||||
{
|
||||
global $db, $user, $config;
|
||||
|
||||
$userdata = &$_POST;
|
||||
|
||||
$strip_var_list = array('username' => 'username', 'email' => 'email');
|
||||
|
||||
foreach ($strip_var_list as $var => $param)
|
||||
|
@ -287,14 +271,13 @@ class userdata extends user
|
|||
|
||||
if (!empty($userdata['language']))
|
||||
{
|
||||
if (preg_match('/^[a-z_]+$/i', $userdata['language']))
|
||||
if (preg_match('#^[a-z_]+$#i', $userdata['language']))
|
||||
{
|
||||
$userdata['language'] = $userdata['language'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error = true;
|
||||
$this->error_msg = $user->lang['Fields_empty'];
|
||||
$this->error[] = $user->lang['Fields_empty'];
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -307,25 +290,22 @@ class userdata extends user
|
|||
|
||||
if (empty($userdata['username']) || empty($userdata['password']) || empty($userdata['password_confirm']) || empty($userdata['email']))
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Fields_empty'];
|
||||
$this->error[] = $user->lang['Fields_empty'];
|
||||
}
|
||||
|
||||
if (!empty($userdata['password']) && !empty($userdata['password_confirm']))
|
||||
{
|
||||
if ($userdata['password'] != $userdata['password_confirm'])
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Password_mismatch'];
|
||||
$this->error[] = $user->lang['Password_mismatch'];
|
||||
}
|
||||
else if (strlen($userdata['password']) > 32)
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Password_long'];
|
||||
$this->error[] = $user->lang['Password_long'];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!$this->error)
|
||||
if (!sizeof($this->error))
|
||||
{
|
||||
$userdata['password'] = md5($userdata['password']);
|
||||
$passwd_sql = "user_password = '$password', ";
|
||||
|
@ -334,8 +314,7 @@ class userdata extends user
|
|||
}
|
||||
else if ((empty($userdata['password']) && !empty($userdata['password_confirm'])) || (!empty($userdata['password']) && empty($userdata['password_confirm'])))
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Password_mismatch'];
|
||||
$this->error[] = $user->lang['Password_mismatch'];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -349,22 +328,19 @@ class userdata extends user
|
|||
{
|
||||
$userdata['email'] = $user->data['user_email'];
|
||||
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $result;
|
||||
$this->error[] = $result;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($userdata['username']))
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Username_disallowed'];
|
||||
$this->error[] = $user->lang['Username_disallowed'];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (($result = $this->validate_username($userdata['username'])) != false)
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $result;
|
||||
$this->error[] = $result;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -373,8 +349,7 @@ class userdata extends user
|
|||
{
|
||||
if (empty($userdata['confirm_id']))
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Confirm_code_wrong'];
|
||||
$this->error[] = $user->lang['CONFIRM_CODE_WRONG'];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -382,22 +357,20 @@ class userdata extends user
|
|||
FROM " . CONFIRM_TABLE . "
|
||||
WHERE confirm_id = '" . $userdata['confirm_id'] . "'
|
||||
AND session_id = '" . $user->data['session_id'] . "'";
|
||||
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if ($row['code'] != $userdata['confirm_code'])
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Confirm_code_wrong'];
|
||||
$this->error[] = $user->lang['CONFIRM_CODE_WRONG'];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error = TRUE;
|
||||
$this->error_msg .= ((isset($this->error_msg)) ? '<br />' : '') . $user->lang['Confirm_code_wrong'];
|
||||
$this->error[] = $user->lang['CONFIRM_CODE_WRONG'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "DELETE FROM " . CONFIRM_TABLE . "
|
||||
WHERE confirm_id = '" . $userdata['confirm_id'] . "'
|
||||
|
@ -405,7 +378,8 @@ class userdata extends user
|
|||
$db->sql_query($sql);
|
||||
}
|
||||
}
|
||||
return($userdata);
|
||||
|
||||
return $userdata;
|
||||
}
|
||||
|
||||
function modify_userdata($userdata)
|
||||
|
@ -414,23 +388,6 @@ class userdata extends user
|
|||
|
||||
}
|
||||
|
||||
function gen_png_string($num_chars)
|
||||
{
|
||||
$chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
|
||||
|
||||
list($usec, $sec) = explode(' ', microtime());
|
||||
mt_srand($sec * $usec);
|
||||
|
||||
$max_chars = count($chars) - 1;
|
||||
$rand_str = '';
|
||||
for ($i = 0; $i < $num_chars; $i++)
|
||||
{
|
||||
$rand_str .= $chars[mt_rand(0, $max_chars)];
|
||||
}
|
||||
|
||||
return $rand_str;
|
||||
}
|
||||
|
||||
// Check to see if the username has been taken, or if it is disallowed.
|
||||
// Also checks if it includes the " character, which we don't allow in usernames.
|
||||
// Used for registering, changing names, and posting anonymously with a username
|
||||
|
@ -441,7 +398,19 @@ class userdata extends user
|
|||
// Clean up username ... convert any entities into normal
|
||||
// text, remove excess spaces, then escape it
|
||||
$username = strtr(trim($username), array_flip(get_html_translation_table(HTML_ENTITIES)));
|
||||
$username = preg_replace('#[\s]{2,}#', '', $username);
|
||||
$username = preg_replace('#\s{2,}#', '', $username);
|
||||
|
||||
if (strlen(htmlspecialchars($username)) > 60)
|
||||
{
|
||||
return 'USERNAME_LONG';
|
||||
}
|
||||
|
||||
// Don't allow " in username.
|
||||
if (strstr($username, '"'))
|
||||
{
|
||||
return 'USERNAME_INVALID';
|
||||
}
|
||||
|
||||
$username = $db->sql_escape($username);
|
||||
|
||||
$sql = "SELECT username
|
||||
|
@ -451,8 +420,9 @@ class userdata extends user
|
|||
|
||||
if (($row = $db->sql_fetchrow($result)) && $row['username'] != $user->data['username'])
|
||||
{
|
||||
return $user->lang['Username_taken'];
|
||||
return 'USERNAME_TAKEN';
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "SELECT group_name
|
||||
FROM " . GROUPS_TABLE . "
|
||||
|
@ -461,39 +431,36 @@ class userdata extends user
|
|||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
return $user->lang['Username_taken'];
|
||||
return 'USERNAME_TAKEN';
|
||||
}
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "SELECT disallow_username
|
||||
FROM " . DISALLOW_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if (preg_match('#\b(' . str_replace('\*', '.*?', preg_quote($row['disallow_username'], '#')) . ')\b#i', $username))
|
||||
if (preg_match('#(' . str_replace('\*', '.*?', preg_quote($row['disallow_username'], '#')) . ')#i', $username))
|
||||
{
|
||||
return $user->lang['Username_disallowed'];
|
||||
return 'USERNAME_DISALLOWED';
|
||||
}
|
||||
}
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "SELECT word
|
||||
FROM " . WORDS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if (preg_match('#\b(' . str_replace('\*', '.*?', preg_quote($row['word'], '#')) . ')\b#i', $username))
|
||||
if (preg_match('#(' . str_replace('\*', '.*?', preg_quote($row['word'], '#')) . ')#i', $username))
|
||||
{
|
||||
return $user->lang['Username_disallowed'];
|
||||
return 'USERNAME_DISALLOWED';
|
||||
}
|
||||
}
|
||||
|
||||
// Don't allow " in username.
|
||||
if (strstr($username, '"'))
|
||||
{
|
||||
return $user->lang['Username_invalid'];
|
||||
}
|
||||
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -514,9 +481,10 @@ class userdata extends user
|
|||
{
|
||||
if (preg_match('#^' . str_replace('*', '.*?', $row['ban_email']) . '$#is', $email))
|
||||
{
|
||||
return $user->lang['Email_banned'];
|
||||
return 'EMAIL_BANNED';
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "SELECT user_email
|
||||
FROM " . USERS_TABLE . "
|
||||
|
@ -525,14 +493,15 @@ class userdata extends user
|
|||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
return $user->lang['Email_taken'];
|
||||
return 'EMAIL_TAKEN';
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return $user->lang['Email_invalid'];
|
||||
return 'EMAIL_INVALID';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -696,11 +696,15 @@ $lang = array(
|
|||
'Savebox_size' => 'Your Savebox is %d%% full',
|
||||
'Click_view_privmsg' => 'Click %sHere%s to visit your Inbox',
|
||||
|
||||
'Preferences' => 'Preferences',
|
||||
'Items_required' => 'Items marked with a * are required unless stated otherwise',
|
||||
'Registration_info' => 'Registration Information',
|
||||
'Profile_info' => 'Profile Information',
|
||||
'Profile_info_warn' => 'This information will be publicly viewable',
|
||||
|
||||
'UCP_PREFERENCES' => 'Preferences',
|
||||
'UCP_PROFILE' => 'Profile',
|
||||
'UCP_LISTS' => 'Buddy/Ignore Lists',
|
||||
|
||||
|
||||
'ITEMS_REQUIRED' => 'Items marked with a * are required unless stated otherwise',
|
||||
'PROFILE_INFO_WARN' => 'This information will be publicly viewable',
|
||||
|
||||
'Avatar_panel' => 'Avatar control panel',
|
||||
'Avatar_gallery' => 'Avatar gallery',
|
||||
'WEBSITE' => 'Website',
|
||||
|
@ -728,19 +732,14 @@ $lang = array(
|
|||
'Board_style' => 'Board Style',
|
||||
'DEFAULT_STYLE' => 'Default style',
|
||||
'No_themes' => 'No Themes In database',
|
||||
'Board_lang' => 'Board Language',
|
||||
'Timezone' => 'Timezone',
|
||||
|
||||
'Date_format' => 'Date format',
|
||||
'Date_format_explain' => 'The syntax used is identical to the PHP <a href=\"http://www.php.net/date\" target=\"_other\">date()</a> function',
|
||||
'SIGNATURE' => 'Signature',
|
||||
'Signature_explain' => 'This is a block of text that can be added to posts you make. There is a %d character limit',
|
||||
'SIGNATURE' => 'Signature',
|
||||
'SIGNATURE_EXPLAIN' => 'This is a block of text that can be added to posts you make. There is a %d character limit',
|
||||
|
||||
'Public_view_email' => 'Always show my Email Address',
|
||||
'Current_password' => 'Current password',
|
||||
'New_password' => 'New password',
|
||||
'Confirm_password' => 'Confirm password',
|
||||
'Confirm_password_explain' => 'You must confirm your current password if you wish to change it or alter your email address',
|
||||
'password_if_changed' => 'You only need to supply a password if you want to change it',
|
||||
'password_confirm_if_changed' => 'You only need to confirm your password if you changed it above',
|
||||
|
||||
'Avatar' => 'Avatar',
|
||||
'Avatar_explain' => 'Displays a small graphic image below your details in posts. Only one image can be displayed at a time, its width can be no greater than %d pixels, a height no greater than %d pixels and a file size no more than %dkB.',
|
||||
'Upload_Avatar_file' => 'Upload Avatar from your machine',
|
||||
|
@ -757,12 +756,56 @@ $lang = array(
|
|||
'Select_category' => 'Select category',
|
||||
'Delete_Image' => 'Delete Image',
|
||||
'Current_Image' => 'Current Image',
|
||||
|
||||
'Notify_on_privmsg' => 'Notify on new Private Message',
|
||||
'Popup_on_privmsg' => 'Pop up window on new Private Message',
|
||||
'Popup_on_privmsg_explain' => 'Some templates may open a new window to inform you when new private messages arrive',
|
||||
'Hide_user' => 'Hide your online status',
|
||||
|
||||
'Profile_updated' => 'Your profile has been updated',
|
||||
'Profile_updated_inactive' => 'Your profile has been updated, however you have changed vital details thus your account is now inactive. Check your email to find out how to reactivate your account, or if admin activation is require wait for the administrator to reactivate your account',
|
||||
|
||||
'Signature_too_long' => 'Your signature is too long',
|
||||
'Fields_empty' => 'You must fill in the required fields',
|
||||
'Avatar_filetype' => 'The avatar filetype must be .jpg, .gif or .png',
|
||||
'Avatar_filesize' => 'The avatar image file size must be less than %d kB',
|
||||
'Avatar_imagesize' => 'The avatar must be less than %d pixels wide and %d pixels high',
|
||||
'Welcome_subject' => 'Welcome to %s Forums',
|
||||
'New_account_subject' => 'New user account',
|
||||
'Account_activated_subject' => 'Account Activated',
|
||||
|
||||
'Account_active' => 'Your account has now been activated. Thank you for registering',
|
||||
'Account_active_admin' => 'The account has now been activated',
|
||||
'Reactivate' => 'Reactivate your account!',
|
||||
'Already_activated' => 'You have already activated your account',
|
||||
|
||||
'REGISTRATION' => 'Registration',
|
||||
'COPPA_BIRTHDAY' => 'To continue with the registration procedure please tell us when you were born.',
|
||||
'UCP_COPPA_BEFORE' => 'Before %s',
|
||||
'UCP_COPPA_ON_AFTER'=> 'On or After %s',
|
||||
|
||||
'UCP_AGREEMENT' => 'While the administrators and moderators of this forum will attempt to remove or edit any generally objectionable material as quickly as possible, it is impossible to review every message. Therefore you acknowledge that all posts made to these forums express the views and opinions of the author and not the administrators, moderators or webmaster (except for posts by these people) and hence will not be held liable.<br /><br />You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-orientated or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any hacking attempt that may lead to the data being compromised.<br /><br />This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above, they serve only to improve your viewing pleasure. The email address is used only for confirming your registration details and password (and for sending new passwords should you forget your current one).<br /><br />By clicking Register below you agree to be bound by these conditions.',
|
||||
'UCP_EMAIL_ACTIVATE'=> 'Please note that you will need to enter a valid email address before your account is actived. You will recieve an email at the address you provide that contains an account activation link.',
|
||||
'UCP_ADMIN_ACTIVATE'=> 'Please note that the administrator of this forum will have to approve your account before it is activated. You will recieve and email once your account has been activated.',
|
||||
'NOT_AGREE' => 'I do not agree to these terms',
|
||||
'AGREE' => 'I agree to these terms',
|
||||
|
||||
'CONFIRM_EMAIL' => 'Confirm email address',
|
||||
'NEW_PASSWORD' => 'New password',
|
||||
'NEW_PASSWORD_EXPLAIN' => 'You only need to supply a password if you want to change it',
|
||||
'CURRENT_PASSWORD' => 'Current password',
|
||||
'CURRENT_PASSWORD_EXPLAIN' => 'You must confirm your current password if you wish to change it or alter your email address',
|
||||
'CONFIRM_PASSWORD' => 'Confirm password',
|
||||
'CONFIRM_PASSWORD_EXPLAIN' => 'You only need to confirm your password if you changed it above',
|
||||
'LANGUAGE' => 'Language',
|
||||
'TIMEZONE' => 'Timezone',
|
||||
'CONFIRMATION' => 'Confirmation of registration',
|
||||
'CONFIRM_EXPLAIN' => 'To prevent automated registrations the board administrator requires you to enter a confirmation code. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.',
|
||||
'CONFIRM_CODE' => 'Confirmation code',
|
||||
'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image',
|
||||
'COPPA_COMPLIANCE' => 'COPPA Compliance',
|
||||
'COPPA_EXPLAIN' => 'Please note that clicking submit will create your account. However it cannot be activated until a parent or guardian approves your registration. You will be emailed a copy of the necessary form with details of where to send it.',
|
||||
|
||||
'PASSWORD_MISMATCH' => 'The passwords you entered did not match',
|
||||
'Current_password_mismatch' => 'The current password you supplied does not match that stored in the database',
|
||||
'Password_long' => 'Your password must be no more than 32 characters',
|
||||
|
@ -772,35 +815,13 @@ $lang = array(
|
|||
'Email_taken' => 'Sorry but that email address is already registered to a user',
|
||||
'Email_banned' => 'Sorry but this email address has been banned',
|
||||
'Email_invalid' => 'Sorry but this email address is invalid',
|
||||
'Signature_too_long' => 'Your signature is too long',
|
||||
'Fields_empty' => 'You must fill in the required fields',
|
||||
'Avatar_filetype' => 'The avatar filetype must be .jpg, .gif or .png',
|
||||
'Avatar_filesize' => 'The avatar image file size must be less than %d kB',
|
||||
'Avatar_imagesize' => 'The avatar must be less than %d pixels wide and %d pixels high',
|
||||
'Welcome_subject' => 'Welcome to %s Forums',
|
||||
'New_account_subject' => 'New user account',
|
||||
'Account_activated_subject' => 'Account Activated',
|
||||
'Account_added' => 'Thank you for registering, your account has been created. You may now login with your username and password',
|
||||
'Account_inactive' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the email address you provided. Please check your email for further information',
|
||||
'Account_inactive_admin' => 'Your account has been created. However, this forum requires account activation by the administrator. An email has been sent to them and you will be informed when your account has been activated',
|
||||
'Account_active' => 'Your account has now been activated. Thank you for registering',
|
||||
'Account_active_admin' => 'The account has now been activated',
|
||||
'Reactivate' => 'Reactivate your account!',
|
||||
'Already_activated' => 'You have already activated your account',
|
||||
'CONFIRM_CODE_WRONG' => 'The confirmation code you entered was incorrect.',
|
||||
|
||||
'COPPA' => 'Your account has been created but has to be approved, please check your email for details.',
|
||||
'REGISTRATION' => 'Registration Agreement Terms',
|
||||
'REG_AGREEMENT' => 'While the administrators and moderators of this forum will attempt to remove or edit any generally objectionable material as quickly as possible, it is impossible to review every message. Therefore you acknowledge that all posts made to these forums express the views and opinions of the author and not the administrators, moderators or webmaster (except for posts by these people) and hence will not be held liable.<br /><br />You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-orientated or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any hacking attempt that may lead to the data being compromised.<br /><br />This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above, they serve only to improve your viewing pleasure. The email address is used only for confirming your registration details and password (and for sending new passwords should you forget your current one).<br /><br />By clicking Register below you agree to be bound by these conditions.',
|
||||
'REG_EMAIL_ACTIVATION' => 'Please note that you will need to enter a valid email address before your account is actived. You will recieve an email at the address you provide that contains an account activation link.',
|
||||
'REG_ADMIN_ACTIVATION' => 'Please note that the administrator of this forum will have to approve your account before it is activated. You will recieve and email once your account has been activated.',
|
||||
'AGREE_UNDER_13' => 'I Agree to these terms and am <b>under</b> 13 years of age',
|
||||
'AGREE_OVER_13' => 'I Agree to these terms and am <b>over</b> 13 years of age',
|
||||
'AGREE_NOT' => 'I do not agree to these terms',
|
||||
'AGREE' => 'I agree to these terms',
|
||||
'CONFIRM_CODE' => 'Confirmation code',
|
||||
'CONFIRM_CODE_EXPLAIN' => 'Enter the code exactly as you see it in the image',
|
||||
'ACCOUNT_ADDED' => 'Thank you for registering, your account has been created. You may now login with your username and password',
|
||||
'ACCOUNT_INACTIVE' => 'Your account has been created. However, this forum requires account activation, an activation key has been sent to the email address you provided. Please check your email for further information',
|
||||
'ACCOUNT_INACTIVE_ADMIN'=> 'Your account has been created. However, this forum requires account activation by the administrator. An email has been sent to them and you will be informed when your account has been activated',
|
||||
'ACCOUNT_COPPA' => 'Your account has been created but has to be approved, please check your email for details.',
|
||||
|
||||
|
||||
'Wrong_activation' => 'The activation key you supplied does not match any in the database',
|
||||
'Send_password' => 'Send me a new password',
|
||||
'Password_updated' => 'A new password has been created, please check your email for details on how to activate it',
|
||||
|
@ -808,6 +829,8 @@ $lang = array(
|
|||
'New_password_activation' => 'New password activation',
|
||||
'Password_activated' => 'Your account has been re-activated. To logon please use the password supplied in the email you received',
|
||||
|
||||
'COPPA' => 'Your account has been created but has to be approved, please check your email for details.',
|
||||
|
||||
|
||||
'FIND_USERNAME' => 'Find a member',
|
||||
'FIND_USERNAME_EXPLAIN' => 'Use this form to search for specific members. You do not need to fill out all fields. To match partial data use * as a wildcard. When entering dates use the format yyyy-mm-dd, e.g. 2002-01-01. Use the mark checkboxes to select one or more usernames (several usernames may be accepted depending on the form itself). Alternatively you can mark the users required and click the Insert Marked button.',
|
||||
|
|
33
phpBB/templates/subSilver/ucp_agreement.html
Normal file
33
phpBB/templates/subSilver/ucp_agreement.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
<!-- $Id$ -->
|
||||
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<form method="post" action="{S_UCP_ACTION}"><table width="80%" cellspacing="2" cellpadding="2" border="0" align="center">
|
||||
<tr>
|
||||
<td class="nav"><a href="{U_INDEX}">{L_INDEX}</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="tablebg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
|
||||
<tr>
|
||||
<th height="25">{SITENAME} - {REGISTRATION}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" align="center"><table width="90%" cellspacing="2" cellpadding="2" border="0" align="center">
|
||||
<tr>
|
||||
<!-- IF S_SHOW_COPPA -->
|
||||
<td class="gen" align="center"><br />{L_COPPA_BIRTHDAY}<br /><br /><a href="{U_COPPA_NO}">{L_COPPA_NO}</a> :: <a href="{U_COPPA_YES}">{L_COPPA_YES}</a><br /><br /></td>
|
||||
<!-- ELSE -->
|
||||
<td><span class="genmed"><br />{L_AGREEMENT}<br /><br /></span>
|
||||
<div align="center">
|
||||
<input class="liteoption" type="submit" name="agreed" value="{L_AGREE}"><br /><br />
|
||||
<input class="liteoption" type="submit" name="not_agreed" value="{L_NOT_AGREE}">
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
</table></form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
10
phpBB/templates/subSilver/ucp_footer.html
Normal file
10
phpBB/templates/subSilver/ucp_footer.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
</table></form>
|
||||
|
||||
<table width="100%" cellspacing="2" border="0" align="center">
|
||||
<tr>
|
||||
<td align="right" valign="middle" nowrap="nowrap"><span class="gensmall">{S_TIMEZONE}</span><br /><br /><!-- INCLUDE jumpbox.html --></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
25
phpBB/templates/subSilver/ucp_header.html
Normal file
25
phpBB/templates/subSilver/ucp_header.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
<!-- $Id$ -->
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<form method="post" action="{S_UCP_ACTION}" {S_FORM_ENCTYPE}><table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
|
||||
<tr>
|
||||
<td class="nav" colspan="2" align="left" valign="middle"><a href="{U_INDEX}">{L_INDEX}</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="tablebg" cellspacing="1" cellpadding="6" border="0" align="left">
|
||||
<tr>
|
||||
<!-- BEGIN ucp_sections -->
|
||||
<!-- IF ucp_sections.S_IS_TAB -->
|
||||
<td class="row1" nowrap="nowrap"><span class="nav"><b>{ucp_sections.SECTION}</b>
|
||||
<!-- ELSE -->
|
||||
<td class="row2" nowrap="nowrap"><a class="nav" href="{ucp_sections.U_SECTION}">{ucp_sections.SECTION}</a>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
<!-- END ucp_sections -->
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br clear="all" />
|
||||
|
||||
<table class="tablebg" width="100%" cellspacing="0" cellpadding="0" border="0">
|
75
phpBB/templates/subSilver/ucp_main.html
Normal file
75
phpBB/templates/subSilver/ucp_main.html
Normal file
|
@ -0,0 +1,75 @@
|
|||
<!-- INCLUDE ucp_header.html -->
|
||||
|
||||
<tr>
|
||||
<th colspan="3">{L_UCP}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="30%" align="left" valign="top">
|
||||
<table width="100%" cellspacing="1" cellpadding="2" border="0" bgcolor="#FFFFFF">
|
||||
<tr>
|
||||
<td class="cat" colspan="3" height="28"><span class="cattitle">{L_SUBSCRIBED_TOPICS}</span></td>
|
||||
</tr>
|
||||
<!-- BEGIN subscribed_topics -->
|
||||
<tr class="row1">
|
||||
<td width="20">{subscribed_topics.TOPIC_FOLDER_IMG}</td>
|
||||
<td>{subscribed_topics.NEWEST_POST_IMG}<a class="topictitle" href="{subscribed_topics.U_TOPIC}">{subscribed_topics.TOPIC_TITLE}</a></td>
|
||||
<td width="18">{subscribed_topics.UNSUBSCRIBE_IMG}</td>
|
||||
</tr>
|
||||
<!-- END subcribed_topics -->
|
||||
</table>
|
||||
<br clear="all" />
|
||||
<table width="100%" cellspacing="1" cellpadding="2" border="0" bgcolor="#FFFFFF">
|
||||
<tr>
|
||||
<td class="cat" colspan="3" height="28"><span class="cattitle">{L_SUBSCRIBED_FORUMS}</span></td>
|
||||
</tr>
|
||||
<!-- BEGIN subscribed_forums -->
|
||||
<tr class="row1">
|
||||
<td width="20">{subscribed_forums.FORUM_FOLDER_IMG}</td>
|
||||
<td>{subscribed_forums.NEWEST_FORUM_POST_IMG}<a class="topictitle" href="{subscribed_forums.U_FORUM}">{subscribed_forums.FORUM_NAME}</a></td>
|
||||
<td width="18">{subscribed_forums.UNSUBSCRIBE_IMG}</td>
|
||||
</tr>
|
||||
<!-- END subscribed_forums -->
|
||||
</table>
|
||||
</td>
|
||||
<td align="left" valign="top">
|
||||
<table width="100%" cellspacing="1" cellpadding="2" border="0" bgcolor="#FFFFFF">
|
||||
<tr>
|
||||
<td class="cat" height="28" align="center"><span class="cattitle">{L_WELCOME_USERCP}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{UCP_WELCOME_MSG}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="25%" align="center" valign="top">
|
||||
<table width="100%" cellspacing="1" cellpadding="2" border="0" bgcolor="#FFFFFF">
|
||||
<tr>
|
||||
<td class="cat" colspan="4" height="28"><a href="{U_BUDDY_LIST}" class="cattitle">{L_BUDDY_LIST}</a></td>
|
||||
</tr>
|
||||
<!-- BEGIN buddy_list -->
|
||||
<tr class="row1">
|
||||
<td width="20">{buddy_list.ONLINE_IMG}</td>
|
||||
<td ><a class="topictitle" href="{buddy_list.U_PROFILE">{buddy_list.BUDDY}</a></td>
|
||||
<td width="20"><a href="{buddy_list.U_PM}" class="topictitle">{L_PM}</a></td>
|
||||
<td width="18">{buddy_list.REMOVE_BUDDY}</td>
|
||||
</tr>
|
||||
<!-- END buddy_list -->
|
||||
</table>
|
||||
<br clear="all" />
|
||||
<table width="100%" cellspacing="1" cellpadding="2" border="0" bgcolor="#FFFFFF">
|
||||
<tr>
|
||||
<td class="cat" colspan="4" height="28"><span class="cattitle">{L_UNREAD_PM}</span</td>
|
||||
</tr>
|
||||
<!-- BEGIN pm -->
|
||||
<tr class="row1">
|
||||
<td width="20">{pm.NEW_PM_IMG}</td>
|
||||
<td width="70%"><a class="topictitle" href="{pm.U_PM}">{pm.PM_TITLE}</a></td>
|
||||
<td width="30%"><a class="topictitle" href="{pm.U_PROFILE}">{pm.PM_SENDER}</a></td>
|
||||
<td width="18">{pm.DELETE_PM_IMG}</td>
|
||||
</tr>
|
||||
<!-- END pm -->
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- INCLUDE ucp_footer.html -->
|
137
phpBB/templates/subSilver/ucp_prefs.html
Normal file
137
phpBB/templates/subSilver/ucp_prefs.html
Normal file
|
@ -0,0 +1,137 @@
|
|||
<!-- $Id$ -->
|
||||
|
||||
<!-- INCLUDE ucp_header.html -->
|
||||
|
||||
<tr>
|
||||
<td width="20%" valign="top"><table width="100%" cellspacing="1" cellpadding="4" border="0">
|
||||
<tr>
|
||||
<th>Options</th>
|
||||
</tr>
|
||||
<!-- BEGIN ucp_subsection -->
|
||||
<tr>
|
||||
<!-- IF ucp_subsection.S_SELECTED -->
|
||||
<td class="row1" height="25" nowrap="nowrap"><span class="nav"><b>{ucp_subsection.L_TITLE}</b>
|
||||
<!-- ELSE -->
|
||||
<td class="row2" height="25" nowrap="nowrap"><a class="nav" href="{ucp_subsection.U_TITLE}">{ucp_subsection.L_TITLE}</a>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END ucp_subsection -->
|
||||
</table></td>
|
||||
<td width="80%" valign="top"><table width="100%" cellspacing="1" cellpadding="4" border="0">
|
||||
<tr>
|
||||
<th colspan="2" height="25" valign="middle">{L_TITLE}</th>
|
||||
</tr>
|
||||
|
||||
<!-- IF ERROR -->
|
||||
<tr>
|
||||
<td class="row3" colspan="2" align="center"><span class="gensmall" style="color:red">{ERROR}</span></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_DISPLAY_PERSONAL -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_PUBLIC_VIEW_EMAIL}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="viewemail" value="1" {VIEW_EMAIL_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="viewemail" value="0" {VIEW_EMAIL_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_HIDE_USER}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="hideonline" value="1" {HIDE_USER_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="hideonline" value="0" {HIDE_USER_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_NOTIFY_ON_REPLY}:</span><br />
|
||||
<span class="gensmall">{L_NOTIFY_ON_REPLY_EXPLAIN}</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="notifyreply" value="1" {NOTIFY_REPLY_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="notifyreply" value="0" {NOTIFY_REPLY_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_NOTIFY_ON_PRIVMSG}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="notifypm" value="1" {NOTIFY_PM_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="notifypm" value="0" {NOTIFY_PM_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_POPUP_ON_PRIVMSG}:</span><br /><span class="gensmall">{L_POPUP_ON_PRIVMSG_EXPLAIN}</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="popup_pm" value="1" {POPUP_PM_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="popup_pm" value="0" {POPUP_PM_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_BOARD_LANGUAGE}:</span></td>
|
||||
<td class="row2"><select name="language">{LANGUAGE_SELECT}</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_BOARD_STYLE}:</span></td>
|
||||
<td class="row2"><select name="style">{STYLE_SELECT}</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_TIMEZONE}:</span></td>
|
||||
<td class="row2"><select name="timezone">{TIMEZONE_SELECT}</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_DATE_FORMAT}:</span><br />
|
||||
<span class="gensmall">{L_DATE_FORMAT_EXPLAIN}</span></td>
|
||||
<td class="row2">
|
||||
<input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" class="post" />
|
||||
</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
<!-- IF S_DISPLAY_POST -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_ALWAYS_ADD_SIGNATURE}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="attachsig" value="1" {ALWAYS_ADD_SIGNATURE_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="attachsig" value="0" {ALWAYS_ADD_SIGNATURE_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_ALWAYS_ALLOW_BBCODE}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="allowbbcode" value="1" {ALWAYS_ALLOW_BBCODE_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="allowbbcode" value="0" {ALWAYS_ALLOW_BBCODE_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_ALWAYS_ALLOW_HTML}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="allowhtml" value="1" {ALWAYS_ALLOW_HTML_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="allowhtml" value="0" {ALWAYS_ALLOW_HTML_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_ALWAYS_ALLOW_SMILIES}:</span></td>
|
||||
<td class="row2">
|
||||
<input type="radio" name="allowsmilies" value="1" {ALWAYS_ALLOW_SMILIES_YES} />
|
||||
<span class="gen">{L_YES}</span>
|
||||
<input type="radio" name="allowsmilies" value="0" {ALWAYS_ALLOW_SMILIES_NO} />
|
||||
<span class="gen">{L_NO}</span></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<tr>
|
||||
<td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS}<input class="mainoption" type="submit" name="submit" value="{L_SUBMIT}" /> <input class="liteoption" type="reset" value="{L_RESET}" name="reset" /></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
|
||||
<!-- INCLUDE ucp_footer.html -->
|
156
phpBB/templates/subSilver/ucp_profile.html
Normal file
156
phpBB/templates/subSilver/ucp_profile.html
Normal file
|
@ -0,0 +1,156 @@
|
|||
<!-- $Id$ -->
|
||||
|
||||
<!-- INCLUDE ucp_header.html -->
|
||||
|
||||
<tr>
|
||||
<td width="20%" valign="top"><table width="100%" cellspacing="1" cellpadding="4" border="0">
|
||||
<tr>
|
||||
<th>Options</th>
|
||||
</tr>
|
||||
<!-- BEGIN ucp_subsection -->
|
||||
<tr>
|
||||
<!-- IF ucp_subsection.S_SELECTED -->
|
||||
<td class="row1" height="25" nowrap="nowrap"><span class="nav"><b>{ucp_subsection.L_TITLE}</b>
|
||||
<!-- ELSE -->
|
||||
<td class="row2" height="25" nowrap="nowrap"><a class="nav" href="{ucp_subsection.U_TITLE}">{ucp_subsection.L_TITLE}</a>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END ucp_subsection -->
|
||||
</table></td>
|
||||
<td width="80%" valign="top"><table width="100%" cellspacing="1" cellpadding="4" border="0">
|
||||
<tr>
|
||||
<th colspan="2" height="25" valign="middle">{L_TITLE}</th>
|
||||
</tr>
|
||||
|
||||
<!-- IF ERROR -->
|
||||
<tr>
|
||||
<td class="row3" colspan="2" align="center"><span class="gensmall" style="color:red">{ERROR}</span></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_DISPLAY_REG_DETAILS -->
|
||||
<tr>
|
||||
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: </span></td>
|
||||
<td class="row2"><!-- IF S_CHANGE_USERNAME --><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="40" value="{USERNAME}" /><!-- ELSE --><b class="gen">{USERNAME}</b><!-- ENDIF --></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_EMAIL_ADDRESS}: </span></td>
|
||||
<td class="row2"><input type="text" class="post" style="width:200px" name="email" size="25" maxlength="255" value="{EMAIL}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_CURRENT_PASSWORD}: </span><br />
|
||||
<span class="gensmall">{L_CURRENT_PASSWORD_EXPLAIN}</span></td>
|
||||
<td class="row2">
|
||||
<input type="password" class="post" style="width: 200px" name="cur_password" size="25" maxlength="100" value="{PASSWORD}" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_NEW_PASSWORD}: </span><br />
|
||||
<span class="gensmall">{L_NEW_PASSWORD_EXPLAIN}</span></td>
|
||||
<td class="row2">
|
||||
<input type="password" class="post" style="width: 200px" name="new_password" size="25" maxlength="100" value="{PASSWORD}" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_CONFIRM_PASSWORD}: </span><br />
|
||||
<span class="gensmall">{L_CONFIRM_PASSWORD_EXPLAIN}</span></td>
|
||||
<td class="row2">
|
||||
<input type="password" class="post" style="width: 200px" name="password_confirm" size="25" maxlength="100" value="{PASSWORD_CONFIRM}" />
|
||||
</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_DISPLAY_PROFILE -->
|
||||
<tr>
|
||||
<td class="row2" colspan="2"><span class="gensmall">{L_PROFILE_INFO_NOTICE}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_ICQ}:</span></td>
|
||||
<td class="row2"><input type="text" name="icq" class="post"style="width: 100px" size="10" maxlength="15" value="{ICQ}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_AIM}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 150px" name="aim" size="20" maxlength="255" value="{AIM}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_MSNM}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 150px" name="msn" size="20" maxlength="255" value="{MSN}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_YIM}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 150px" name="yim" size="20" maxlength="255" value="{YIM}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_WEBSITE}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 200px" name="website" size="25" maxlength="255" value="{WEBSITE}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_LOCATION}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 200px" name="location" size="25" maxlength="100" value="{LOCATION}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_OCCUPATION}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 200px" name="occupation" size="25" maxlength="100" value="{OCCUPATION}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_INTERESTS}:</span></td>
|
||||
<td class="row2"><input type="text" class="post"style="width: 200px" name="interests" size="35" maxlength="150" value="{INTERESTS}" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_DISPLAY_SIGNATURE -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_SIGNATURE}:</span><br /><span class="gensmall">{L_SIGNATURE_EXPLAIN}<br /><br />{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
|
||||
<td class="row2"><textarea name="signature"style="width: 300px" rows="6" cols="30" class="post">{SIGNATURE}</textarea></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_DISPLAY_AVATAR -->
|
||||
<tr>
|
||||
<td colspan="2" height="28"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2" height="12" valign="middle">{L_AVATAR_PANEL}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" colspan="2"><table width="70%" cellspacing="2" cellpadding="0" border="0" align="center">
|
||||
<tr>
|
||||
<td width="65%"><span class="gensmall">{L_AVATAR_EXPLAIN}</span></td>
|
||||
<td align="center"><span class="gensmall">{L_CURRENT_IMAGE}</span><br />{AVATAR}<br /><input type="checkbox" name="avatardel" /> <span class="gensmall">{L_DELETE_AVATAR}</span></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
<!-- BEGIN switch_avatar_local_upload -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_UPLOAD_AVATAR_FILE}:</span></td>
|
||||
<td class="row2"><input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_SIZE}" /><input type="file" name="avatar" class="post" style="width:200px" /></td>
|
||||
</tr>
|
||||
<!-- END switch_avatar_local_upload -->
|
||||
<!-- BEGIN switch_avatar_remote_upload -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_UPLOAD_AVATAR_URL}:</span><br /><span class="gensmall">{L_UPLOAD_AVATAR_URL_EXPLAIN}</span></td>
|
||||
<td class="row2"><input type="text" name="avatarurl" size="40" class="post" style="width:200px" /></td>
|
||||
</tr>
|
||||
<!-- END switch_avatar_remote_upload -->
|
||||
<!-- BEGIN switch_avatar_remote_link -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_LINK_REMOTE_AVATAR}:</span><br /><span class="gensmall">{L_LINK_REMOTE_AVATAR_EXPLAIN}</span></td>
|
||||
<td class="row2"><input type="text" name="avatarremoteurl" size="40" class="post" style="width:200px" /></td>
|
||||
</tr>
|
||||
<!-- END switch_avatar_remote_link -->
|
||||
<!-- BEGIN switch_avatar_local_gallery -->
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_AVATAR_GALLERY}:</span></td>
|
||||
<td class="row2"><input type="submit" name="avatargallery" value="{L_SHOW_GALLERY}" class="liteoption" /></td>
|
||||
</tr>
|
||||
<!-- END switch_avatar_local_gallery -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<tr>
|
||||
<td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS}<input class="mainoption" type="submit" name="submit" value="{L_SUBMIT}" /> <input class="liteoption" type="reset" value="{L_RESET}" name="reset" /></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
</tr>
|
||||
|
||||
<!-- INCLUDE ucp_footer.html -->
|
87
phpBB/templates/subSilver/ucp_register.html
Normal file
87
phpBB/templates/subSilver/ucp_register.html
Normal file
|
@ -0,0 +1,87 @@
|
|||
<!-- $Id$ -->
|
||||
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<form method="post" action="{S_UCP_ACTION}"><table width="80%" cellspacing="2" cellpadding="2" border="0" align="center">
|
||||
<tr>
|
||||
<td class="nav"><a href="{U_INDEX}">{L_INDEX}</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="tablebg" width="80%" cellspacing="1" cellpadding="4" border="0" align="center">
|
||||
<tr>
|
||||
<th colspan="2" height="25" valign="middle">{L_REGISTRATION}</th>
|
||||
</tr>
|
||||
|
||||
<!-- IF ERROR -->
|
||||
<tr>
|
||||
<td class="row3" colspan="2" align="center"><span class="gensmall" style="color:red">{ERROR}</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF L_ITEMS_REQUIRED -->
|
||||
<tr>
|
||||
<td class="row2" colspan="2"><span class="gensmall">{L_ITEMS_REQUIRED}</span></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<tr>
|
||||
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: </span></td>
|
||||
<td class="row2"><input type="text" class="post" name="username" size="25" maxlength="40" value="{USERNAME}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_EMAIL_ADDRESS}: </span></td>
|
||||
<td class="row2"><input type="text" class="post" name="email" size="25" maxlength="255" value="{EMAIL}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_CONFIRM_EMAIL}: </span></td>
|
||||
<td class="row2"><input type="text" class="post" name="email_confirm" size="25" maxlength="255" value="{EMAIL_CONFIRM}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_PASSWORD}: </span></td>
|
||||
<td class="row2"><input type="password" class="post" name="new_password" size="25" maxlength="100" value="{PASSWORD}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_CONFIRM_PASSWORD}: </span></td>
|
||||
<td class="row2"><input type="password" class="post" name="password_confirm" size="25" maxlength="100" value="{PASSWORD_CONFIRM}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_LANGUAGE}: </span></td>
|
||||
<td class="row2"><select name="lang">{S_LANG_OPTIONS}</select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_TIMEZONE}: </span></td>
|
||||
<td class="row2"><select name="tz">{S_TZ_OPTIONS}</select></td>
|
||||
</tr>
|
||||
|
||||
<!-- IF S_CONFIRM_CODE -->
|
||||
<tr>
|
||||
<th colspan="2" height="25" valign="middle">{L_CONFIRMATION}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3" colspan="2"><span class="gensmall">{L_CONFIRM_EXPLAIN}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" colspan="2" align="center">{CONFIRM_IMG}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><span class="gen">{L_CONFIRM_CODE}: </span><br /><span class="gensmall">{L_CONFIRM_CODE_EXPLAIN}</span></td>
|
||||
<td class="row2"><input type="text" class="post" name="confirm_code" size="6" maxlength="6" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_COPPA -->
|
||||
<tr>
|
||||
<th colspan="2" height="25" valign="middle">{L_COPPA_COMPLIANCE}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row3" colspan="2"><span class="gensmall">{L_COPPA_EXPLAIN}</span></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<tr>
|
||||
<td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS}<input class="mainoption" type="submit" name="submit" value="{L_SUBMIT}" /> <input class="liteoption" type="reset" value="{L_RESET}" name="reset" /></td>
|
||||
</tr>
|
||||
</table></form>
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
117
phpBB/ucp.php
117
phpBB/ucp.php
|
@ -23,7 +23,6 @@
|
|||
// TODO for 2.2:
|
||||
//
|
||||
// * Registration
|
||||
// * Admin defineable use of COPPA
|
||||
// * Link to (additional?) registration conditions
|
||||
// * Form based click through rather than links
|
||||
// * Inform user of registration method i.e. if a valid email is required
|
||||
|
@ -89,7 +88,9 @@ if (!empty($_REQUEST['mode']))
|
|||
{
|
||||
redirect("index.$phpEx$SID");
|
||||
}
|
||||
include($phpbb_root_path . 'ucp/usercp_register.'.$phpEx);
|
||||
|
||||
include($phpbb_root_path . 'ucp/ucp_register.'.$phpEx);
|
||||
ucp_register::main();
|
||||
break;
|
||||
|
||||
case 'login':
|
||||
|
@ -127,34 +128,49 @@ $censors = array();
|
|||
obtain_word_list($censors);
|
||||
|
||||
|
||||
$selected_module = (!empty($_REQUEST['module_id'])) ? $_REQUEST['module_id'] : '';
|
||||
|
||||
// "Home" module
|
||||
$template->assign_block_vars('ucp_sections', array(
|
||||
'U_SECTION' => "ucp.$phpEx$SID",
|
||||
'SECTION' => $user->lang['UCP_Main'])
|
||||
'SECTION' => $user->lang['UCP_Main'],
|
||||
'S_IS_TAB' => (!$selected_module) ? true : false)
|
||||
);
|
||||
|
||||
|
||||
|
||||
// Grab the other enabled UCP modules
|
||||
$selected_module = (!empty($_REQUEST['module_id'])) ? $_REQUEST['module_id'] : '';
|
||||
$sql = "SELECT module_id, module_name, module_filename
|
||||
FROM " . UCP_MODULES_TABLE . "
|
||||
ORDER BY module_order";
|
||||
ORDER BY module_order ASC";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$selected_module_name = '';
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$template->assign_block_vars('ucp_sections', array(
|
||||
'SECTION' => $user->lang['UCP_' . $row['module_name']],
|
||||
|
||||
'U_SECTION' => "ucp.$phpEx$SID&module_id=" . $row['module_id'],
|
||||
'SECTION' => $row['module_name'])
|
||||
|
||||
'S_IS_TAB' => ($row['module_id'] == $selected_module) ? true : false)
|
||||
);
|
||||
|
||||
if ($row['module_id'] == $selected_module)
|
||||
{
|
||||
$module_to_include = $row['module_filename'] . '.' . $phpEx;
|
||||
include($phpbb_root_path . $module_to_include);
|
||||
$selected_module_name = $row['module_filename'];
|
||||
$selected_module_id = $row['module_id'];
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($selected_module_name)
|
||||
{
|
||||
include($phpbb_root_path . 'ucp/' . $selected_module_name . '.' . $phpEx);
|
||||
eval($selected_module_name . '::main(' . $selected_module_id . ');');
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Subscribed Topics
|
||||
$sql = "SELECT tw.topic_id, t.topic_title, t.topic_last_post_time, t.poll_start, t.topic_replies, t.topic_type, t.forum_id
|
||||
|
@ -210,19 +226,21 @@ while ($row = $db->sql_fetchrow($result))
|
|||
$unread_topic = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$newest_post_img = ($unread_topic) ? '<a href="viewtopic.' . $phpEx . $SID . '&t=' . $topic_id . '&view=newest#newest">' . $user->img('goto_post_newest', 'View_newest_post') . '</a> ' : '';
|
||||
$folder_img = ($unread_topic) ? $folder_new : $folder;
|
||||
$folder_alt = ($unread_topic) ? 'New_posts' : (($row['topic_status'] == ITEM_LOCKED) ? 'Topic_locked' : 'No_new_posts');
|
||||
|
||||
$view_topic_url = 'viewtopic.' . $phpEx . $SID . '&f=' . $forum_id . '&t=' . $topic_id;
|
||||
|
||||
// Needs to be handled within this code rather than going out of UCP
|
||||
$unsubscribe_img = '<a href="viewtopic.' . $phpEx . $SID . '&t=' . $topic_id . '&unwatch=topic">' . $user->img('icon_delete', 'Stop_watching_topic', FALSE) . '</a>';
|
||||
|
||||
$template->assign_block_vars('subscribed_topics', array(
|
||||
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
|
||||
'NEWEST_POST_IMG' => $newest_post_img,
|
||||
'UNSUBSCRIBE_IMG' => $unsubscribe_img,
|
||||
|
||||
'TOPIC_TITLE' => (!empty($censors)) ? preg_replace($censors['match'], $censors['replace'], $row['topic_title']) : $row['topic_title'],
|
||||
|
||||
|
@ -268,13 +286,10 @@ while ($row = $db->sql_fetchrow($result))
|
|||
|
||||
$last_post = '<a href="viewtopic.' . $phpEx . $SID . '&f=' . $row['forum_id'] . '&p=' . $row['forum_last_post_id'] . '#' . $row['forum_last_post_id'] . '">' . $user->img('goto_post_latest', 'View_latest_post') . '</a>';
|
||||
|
||||
// Needs to be handled within this code rather than going out of UCP
|
||||
$unsubscribe_img = '<a href="viewforum.' . $phpEx . $SID . '&f=' . $forum_id . '&unwatch=forum">' . $user->img('icon_delete', 'Stop_watching_forum', FALSE) . '</a>';
|
||||
|
||||
$template->assign_block_vars('subscribed_forums', array(
|
||||
'FORUM_FOLDER_IMG' => $user->img($folder_image, $folder_alt),
|
||||
'NEWEST_FORUM_POST_IMG' => $last_post,
|
||||
'UNSUBSCRIBE_IMG' => $unsubscribe_img,
|
||||
|
||||
'FORUM_NAME' => $row['forum_name'],
|
||||
|
||||
|
@ -299,9 +314,79 @@ $db->sql_freeresult($result);
|
|||
page_header($user->lang['UCP'] . ' - ' . $this_section);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'usercp_main.html')
|
||||
'body' => 'ucp_main.html')
|
||||
);
|
||||
make_jumpbox('viewforum.'.$phpEx);
|
||||
|
||||
page_footer();
|
||||
|
||||
|
||||
// A wrapper class for ucp modules?
|
||||
class ucp
|
||||
{
|
||||
function main($module_id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
function extra_fields($page)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
function gen_rand_string($num_chars)
|
||||
{
|
||||
$chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
|
||||
|
||||
list($usec, $sec) = explode(' ', microtime());
|
||||
mt_srand($sec * $usec);
|
||||
|
||||
$max_chars = count($chars) - 1;
|
||||
$rand_str = '';
|
||||
for ($i = 0; $i < $num_chars; $i++)
|
||||
{
|
||||
$rand_str .= $chars[mt_rand(0, $max_chars)];
|
||||
}
|
||||
|
||||
return $rand_str;
|
||||
}
|
||||
|
||||
function load($filename)
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
require($phpbb_root_path . $filename . '.' . $phpEx);
|
||||
}
|
||||
|
||||
function subsection(&$module_ary, &$selected_module)
|
||||
{
|
||||
global $template, $user, $phpEx, $SID;
|
||||
|
||||
foreach($module_ary as $section_title => $module_link)
|
||||
{
|
||||
$template->assign_block_vars('ucp_subsection', array(
|
||||
'L_TITLE' => $user->lang['UCP_' . $section_title],
|
||||
|
||||
'S_SELECTED'=> ($section_title == strtoupper($selected_module)) ? true : false,
|
||||
|
||||
'U_TITLE' => "ucp.$phpEx$SID&$module_link")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function output(&$page_title, $tpl_name)
|
||||
{
|
||||
global $config, $db, $template, $phpEx;
|
||||
|
||||
page_header($page_title);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => $tpl_name)
|
||||
);
|
||||
make_jumpbox('viewforum.'.$phpEx);
|
||||
|
||||
page_footer();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
70
phpBB/ucp/ucp_prefs.php
Normal file
70
phpBB/ucp/ucp_prefs.php
Normal file
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
/***************************************************************************
|
||||
* usercp_profile.php
|
||||
* -------------------
|
||||
* begin : Saturday, Feb 21, 2003
|
||||
* copyright : (C) 2001 The phpBB Group
|
||||
* email : support@phpbb.com
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
class ucp_prefs extends ucp
|
||||
{
|
||||
function main($module_id)
|
||||
{
|
||||
global $config, $db, $user, $SID, $template, $phpEx;
|
||||
|
||||
$submode = ($_REQUEST['mode']) ? htmlspecialchars($_REQUEST['mode']) : 'personal';
|
||||
|
||||
// Setup internal subsection display
|
||||
$submodules['PERSONAL'] = "module_id=$module_id&mode=personal";
|
||||
$submodules['VIEW'] = "module_id=$module_id&mode=view";
|
||||
$submodules['POST'] = "module_id=$module_id&mode=post";
|
||||
|
||||
$user->lang = array_merge($user->lang, array(
|
||||
'UCP_PERSONAL' => 'Personal Settings',
|
||||
'UCP_VIEW' => 'Viewing Posts',
|
||||
'UCP_POST' => 'Posting Messages')
|
||||
);
|
||||
|
||||
ucp::subsection($submodules, $submode);
|
||||
unset($submodules);
|
||||
|
||||
switch($submode)
|
||||
{
|
||||
case 'view':
|
||||
break;
|
||||
|
||||
case 'post':
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_TITLE' => $user->lang['UCP_' . strtoupper($submode)],
|
||||
|
||||
'S_DISPLAY_' . strtoupper($submode) => true,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_UCP_ACTION' => "ucp.$phpEx$SID&module_id=$module_id&mode=$submode")
|
||||
);
|
||||
|
||||
ucp::output($user->lang['UCP_PROFILE'], 'ucp_prefs.html');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
86
phpBB/ucp/ucp_profile.php
Normal file
86
phpBB/ucp/ucp_profile.php
Normal file
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
/***************************************************************************
|
||||
* usercp_profile.php
|
||||
* -------------------
|
||||
* begin : Saturday, Feb 21, 2003
|
||||
* copyright : (C) 2001 The phpBB Group
|
||||
* email : support@phpbb.com
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
class ucp_profile extends ucp
|
||||
{
|
||||
function main($module_id)
|
||||
{
|
||||
global $config, $db, $user, $auth, $SID, $template, $phpEx;
|
||||
|
||||
$submode = ($_REQUEST['mode']) ? htmlspecialchars($_REQUEST['mode']) : 'reg_details';
|
||||
|
||||
$submodules['REG_DETAILS'] = "module_id=$module_id&mode=reg_details";
|
||||
$submodules['PROFILE'] = "module_id=$module_id&mode=profile";
|
||||
$submodules['SIGNATURE'] = "module_id=$module_id&mode=signature";
|
||||
$submodules['AVATAR'] = "module_id=$module_id&mode=avatar";
|
||||
|
||||
$user->lang = array_merge($user->lang, array(
|
||||
'UCP_REG_DETAILS' => 'Registration details',
|
||||
'UCP_PROFILE' => 'Your Profile',
|
||||
'UCP_SIGNATURE' => 'Your signature',
|
||||
'UCP_AVATAR' => 'Your avatar')
|
||||
);
|
||||
|
||||
ucp::subsection($submodules, $submode);
|
||||
unset($submodules);
|
||||
|
||||
switch ($submode)
|
||||
{
|
||||
case 'reg_details':
|
||||
$template->assign_vars(array(
|
||||
'USERNAME' => $user->data['username'],
|
||||
|
||||
'S_CHANGE_USERNAME' => $auth->acl_get('u_chgname'), )
|
||||
);
|
||||
break;
|
||||
|
||||
case 'profile':
|
||||
break;
|
||||
|
||||
case 'signature':
|
||||
$template->assign_vars(array(
|
||||
'SIGNATURE' => $user->data['signature'])
|
||||
);
|
||||
break;
|
||||
|
||||
case 'avatar':
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_TITLE' => $user->lang['UCP_' . strtoupper($submode)],
|
||||
|
||||
'S_DISPLAY_' . strtoupper($submode) => true,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_UCP_ACTION' => "ucp.$phpEx$SID&module_id=$module_id&mode=$submode")
|
||||
);
|
||||
|
||||
ucp::output($user->lang['UCP_PROFILE'], 'ucp_profile.html');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -19,59 +19,129 @@
|
|||
*
|
||||
***************************************************************************/
|
||||
|
||||
if (!defined('IN_PHPBB'))
|
||||
class ucp_register extends ucp
|
||||
{
|
||||
die('Hacking attempt');
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
if ($mode == 'register' && $config['require_activation'] == USER_ACTIVATION_DISABLE)
|
||||
{
|
||||
trigger_error($user->lang['UCP_REGISTER_DISABLE']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
|
||||
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
|
||||
$lang = (isset($_POST['lang'])) ? htmlspecialchars($_POST['lang']) : '';
|
||||
$tz = (isset($_POST['tz'])) ? intval($_POST['tz']) : $config['board_timezone'];
|
||||
|
||||
$error = array();
|
||||
|
||||
|
||||
|
||||
|
||||
if (!$agreed)
|
||||
{
|
||||
if ($coppa === false && $config['coppa_enable'])
|
||||
function main()
|
||||
{
|
||||
$now = getdate();
|
||||
$coppa_birthday = $user->format_date(mktime($now['hours'] + $user->data['user_dst'], $now['minutes'], $now['seconds'], $now['mon'], $now['mday'] - 1, $now['year'] - 13), $user->lang['DATE_FORMAT']);
|
||||
unset($now);
|
||||
global $config, $db, $user, $SID, $template, $phpEx;
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_COPPA_NO' => sprintf($user->lang['UCP_COPPA_BEFORE'], $coppa_birthday),
|
||||
'L_COPPA_YES' => sprintf($user->lang['UCP_COPPA_ON_AFTER'], $coppa_birthday),
|
||||
//
|
||||
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
|
||||
{
|
||||
trigger_error($user->lang['UCP_REGISTER_DISABLE']);
|
||||
}
|
||||
|
||||
'U_COPPA_NO' => "ucp.$phpEx$SID&mode=register&coppa=0",
|
||||
'U_COPPA_YES' => "ucp.$phpEx$SID&mode=register&coppa=1",
|
||||
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
|
||||
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
|
||||
|
||||
'S_SHOW_COPPA' => true,
|
||||
'S_REGISTER_ACTION' => "ucp.$phpEx$SID&mode=register")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
if (!$agreed)
|
||||
{
|
||||
if ($coppa === false && $config['coppa_enable'])
|
||||
{
|
||||
$now = getdate();
|
||||
$coppa_birthday = $user->format_date(mktime($now['hours'] + $user->data['user_dst'], $now['minutes'], $now['seconds'], $now['mon'], $now['mday'] - 1, $now['year'] - 13), $user->lang['DATE_FORMAT']);
|
||||
unset($now);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_COPPA_NO' => sprintf($user->lang['UCP_COPPA_BEFORE'], $coppa_birthday),
|
||||
'L_COPPA_YES' => sprintf($user->lang['UCP_COPPA_ON_AFTER'], $coppa_birthday),
|
||||
|
||||
'U_COPPA_NO' => "ucp.$phpEx$SID&mode=register&coppa=0",
|
||||
'U_COPPA_YES' => "ucp.$phpEx$SID&mode=register&coppa=1",
|
||||
|
||||
'S_SHOW_COPPA' => true,
|
||||
'S_REGISTER_ACTION' => "ucp.$phpEx$SID&mode=register")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_AGREEMENT' => $user->lang['UCP_AGREEMENT'],
|
||||
|
||||
'S_SHOW_COPPA' => false,
|
||||
'S_REGISTER_ACTION' => "ucp.$phpEx$SID&mode=register")
|
||||
);
|
||||
}
|
||||
|
||||
ucp::output($user->lang['REGISTER'], 'ucp_agreement.html');
|
||||
}
|
||||
|
||||
// Check and initialize some variables if needed
|
||||
$error = array();
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
// Load the userdata manipulation methods
|
||||
ucp::load('includes/functions_user');
|
||||
$userdata = new userdata();
|
||||
|
||||
if ($message = $userdata->add_user($coppa))
|
||||
{
|
||||
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], "<a href=\"index.$phpEx$SID\">", '</a>');
|
||||
trigger_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
// If an error occured we need to stripslashes on returned data
|
||||
$username = (isset($_POST['username'])) ? stripslashes(htmlspecialchars($_POST['username'])) : '';
|
||||
$password = (isset($_POST['new_password'])) ? stripslashes(htmlspecialchars($_POST['new_password'])) : '';
|
||||
$password_confirm = (isset($_POST['password_confirm'])) ? stripslashes(htmlspecialchars($_POST['password_confirm'])) : '';
|
||||
$email = (isset($_POST['email'])) ? stripslashes(htmlspecialchars($_POST['email'])) : '';
|
||||
$email_confirm = (isset($_POST['email_confirm'])) ? stripslashes(htmlspecialchars($_POST['email_confirm'])) : '';
|
||||
$lang = (isset($_POST['lang'])) ? htmlspecialchars($_POST['lang']) : '';
|
||||
$tz = (isset($_POST['tz'])) ? intval($_POST['tz']) : $config['board_timezone'];
|
||||
|
||||
$s_hidden_fields = '<input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
|
||||
|
||||
// Visual Confirmation - Show images
|
||||
$confirm_image = '';
|
||||
if (!empty($config['enable_confirm']))
|
||||
{
|
||||
$sql = "SELECT session_id
|
||||
FROM " . SESSIONS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$confirm_sql = '';
|
||||
do
|
||||
{
|
||||
$confirm_sql .= (($confirm_sql != '') ? ', ' : '') . "'" . $row['session_id'] . "'";
|
||||
}
|
||||
while ($row = $db->sql_fetchrow($result));
|
||||
|
||||
$sql = "DELETE FROM " . CONFIRM_TABLE . "
|
||||
WHERE session_id NOT IN ($confirm_sql)";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "SELECT COUNT(session_id) AS attempts
|
||||
FROM " . CONFIRM_TABLE . "
|
||||
WHERE session_id = '" . $userdata['session_id'] . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if ($row['attempts'] > 5)
|
||||
{
|
||||
trigger_error($user->lang['Too_many_registers']);
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$code = ucp::gen_rand_string(6);
|
||||
$confirm_id = md5(uniqid($user_ip));
|
||||
|
||||
$sql = "INSERT INTO " . CONFIRM_TABLE . " (confirm_id, session_id, code)
|
||||
VALUES ('$confirm_id', '" . $user->data['session_id'] . "', '$code')";
|
||||
$db->sql_query($sql);
|
||||
|
||||
$confirm_image = (@extension_loaded('zlib')) ? "<img src=\"ucp/usercp_confirm.$phpEx$SID&id=$confirm_id\" alt=\"\" title=\"\" />" : '<img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=1" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=2" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=3" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=4" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=5" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=6" alt="" title="" />';
|
||||
$s_hidden_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';
|
||||
}
|
||||
|
||||
//
|
||||
$l_reg_cond = '';
|
||||
switch ($config['require_activation'])
|
||||
{
|
||||
|
@ -84,170 +154,30 @@ if (!$agreed)
|
|||
break;
|
||||
}
|
||||
|
||||
//
|
||||
$template->assign_vars(array(
|
||||
'L_AGREEMENT' => $user->lang['UCP_AGREEMENT'],
|
||||
'L_REG_CONDITIONS' => $l_reg_cond,
|
||||
'USERNAME' => $username,
|
||||
'PASSWORD' => $password,
|
||||
'PASSWORD_CONFIRM' => $password_confirm,
|
||||
'EMAIL' => $email,
|
||||
'EMAIL_CONFIRM' => $email,
|
||||
'CONFIRM_IMG' => $confirm_image,
|
||||
'ERROR' => (sizeof($userdata->error)) ? implode('<br />', $userdata->error) : '',
|
||||
|
||||
'S_SHOW_COPPA' => false,
|
||||
'S_REGISTER_ACTION' => "ucp.$phpEx$SID&mode=register")
|
||||
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlentities($config['board_contact']) . '">', '</a>'),
|
||||
'L_ITEMS_REQUIRED' => $l_reg_cond,
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($lang),
|
||||
'S_TZ_OPTIONS' => tz_select($tz),
|
||||
'S_CONFIRM_CODE' => ($config['enable_confirm']) ? true : false,
|
||||
'S_COPPA' => $coppa,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_UCP_ACTION' => "ucp.$phpEx$SID&mode=register")
|
||||
);
|
||||
}
|
||||
|
||||
page_header($user->lang['REGISTER']);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'ucp_agreement.html')
|
||||
);
|
||||
make_jumpbox('viewforum.'.$phpEx);
|
||||
|
||||
page_footer();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$agreed = TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Check and initialize some variables if needed
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
// Load the userdata manipulation methods
|
||||
require($phpbb_root_path . 'includes/functions_user.'.$phpEx);
|
||||
$userdata = new userdata();
|
||||
|
||||
if($message = $userdata->add_new_user($coppa))
|
||||
{
|
||||
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], "<a href=\"index.$phpEx$SID\">", '</a>');
|
||||
trigger_error($message);
|
||||
//
|
||||
ucp::output($user->lang['REGISTER'], 'ucp_register.html');
|
||||
}
|
||||
}
|
||||
// End of submit
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (sizeof($userdata->error))
|
||||
{
|
||||
// If an error occured we need to stripslashes on returned data
|
||||
$username = stripslashes($username);
|
||||
$password = stripslashes($password);
|
||||
$password_confirm = stripslashes($password_confirm);
|
||||
$email = stripslashes($email);
|
||||
$email_confirm = stripslashes($email_confirm);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Visual Confirmation - Show images
|
||||
$confirm_image = '';
|
||||
if (!empty($config['enable_confirm']))
|
||||
{
|
||||
$sql = "SELECT session_id
|
||||
FROM " . SESSIONS_TABLE;
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$confirm_sql = '';
|
||||
do
|
||||
{
|
||||
$confirm_sql .= (($confirm_sql != '') ? ', ' : '') . "'" . $row['session_id'] . "'";
|
||||
}
|
||||
while ($row = $db->sql_fetchrow($result));
|
||||
|
||||
$sql = "DELETE FROM " . CONFIRM_TABLE . "
|
||||
WHERE session_id NOT IN ($confirm_sql)";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = "SELECT COUNT(session_id) AS attempts
|
||||
FROM " . CONFIRM_TABLE . "
|
||||
WHERE session_id = '" . $userdata['session_id'] . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if ($row['attempts'] > 5)
|
||||
{
|
||||
trigger_error($user->lang['Too_many_registers']);
|
||||
}
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$code = gen_png_string(6);
|
||||
$confirm_id = md5(uniqid($user_ip));
|
||||
|
||||
$sql = "INSERT INTO " . CONFIRM_TABLE . " (confirm_id, session_id, code)
|
||||
VALUES ('$confirm_id', '" . $user->data['session_id'] . "', '$code')";
|
||||
$db->sql_query($sql);
|
||||
|
||||
$confirm_image = (@extension_loaded('zlib')) ? '<img src="' . "ucp/usercp_confirm.$phpEx$SID&id=$confirm_id" . '" alt="" title="" />' : '<img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=1" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=2" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=3" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=4" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=5" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&id=$confirm_id&c=6" alt="" title="" />';
|
||||
$s_hidden_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';
|
||||
}
|
||||
// End visual confirmation
|
||||
|
||||
|
||||
$template->assign_vars(array(
|
||||
'USERNAME' => $username,
|
||||
'PASSWORD' => $password,
|
||||
'PASSWORD_CONFIRM' => $password_confirm,
|
||||
'EMAIL' => $email,
|
||||
'EMAIL_CONFIRM' => $email,
|
||||
'CONFIRM_IMG' => $confirm_image,
|
||||
'ERROR' => (sizeof($userdata->error)) ? implode('<br />', $userdata->error) : '',
|
||||
|
||||
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlentities($config['board_contact']) . '">', '</a>'),
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($lang),
|
||||
'S_TZ_OPTIONS' => tz_select($tz),
|
||||
'S_CONFIRM_CODE' => ($config['enable_confirm']) ? 1 : 0,
|
||||
'S_COPPA' => $coppa,
|
||||
'S_HIDDEN_FIELDS' => '<input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />',
|
||||
'S_FORM_ENCTYPE' => $form_enctype,
|
||||
'S_PROFILE_ACTION' => "ucp.$phpEx$SID&mode=register")
|
||||
);
|
||||
|
||||
|
||||
|
||||
//
|
||||
page_header($user->lang['REGISTER']);
|
||||
|
||||
$template->set_filenames(array(
|
||||
'body' => 'ucp_register.html')
|
||||
);
|
||||
make_jumpbox('viewforum.'.$phpEx);
|
||||
|
||||
page_footer();
|
||||
|
||||
|
||||
|
||||
|
||||
function gen_png_string($num_chars)
|
||||
{
|
||||
$chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
|
||||
|
||||
list($usec, $sec) = explode(' ', microtime());
|
||||
mt_srand($sec * $usec);
|
||||
|
||||
$max_chars = count($chars) - 1;
|
||||
$rand_str = '';
|
||||
for ($i = 0; $i < $num_chars; $i++)
|
||||
{
|
||||
$rand_str .= $chars[mt_rand(0, $max_chars)];
|
||||
}
|
||||
|
||||
return $rand_str;
|
||||
}
|
||||
|
||||
|
||||
?>
|
33
phpBB/ucp/ucp_zebra.php
Normal file
33
phpBB/ucp/ucp_zebra.php
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
/***************************************************************************
|
||||
* usercp_profile.php
|
||||
* -------------------
|
||||
* begin : Saturday, Feb 21, 2003
|
||||
* copyright : (C) 2001 The phpBB Group
|
||||
* email : support@phpbb.com
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
class ucp_zebra extends ucp
|
||||
{
|
||||
function main($module_id)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
Loading…
Add table
Reference in a new issue