diff options
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/bbcode.php | 76 | ||||
-rwxr-xr-x | phpBB/includes/emailer.php | 26 | ||||
-rw-r--r-- | phpBB/includes/functions.php | 162 | ||||
-rw-r--r-- | phpBB/includes/functions_admin.php | 4 | ||||
-rw-r--r-- | phpBB/includes/functions_posting.php | 95 | ||||
-rw-r--r-- | phpBB/includes/page_header.php | 20 | ||||
-rw-r--r-- | phpBB/includes/page_tail.php | 4 | ||||
-rw-r--r-- | phpBB/includes/session.php | 61 | ||||
-rw-r--r-- | phpBB/includes/topic_review.php | 34 | ||||
-rw-r--r-- | phpBB/includes/usercp_activate.php | 18 | ||||
-rw-r--r-- | phpBB/includes/usercp_avatar.php | 44 | ||||
-rw-r--r-- | phpBB/includes/usercp_email.php | 38 | ||||
-rw-r--r-- | phpBB/includes/usercp_register.php | 486 | ||||
-rw-r--r-- | phpBB/includes/usercp_sendpasswd.php | 22 | ||||
-rw-r--r-- | phpBB/includes/usercp_viewprofile.php | 8 |
15 files changed, 539 insertions, 559 deletions
diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php index 0fc0973602..0111a4d446 100644 --- a/phpBB/includes/bbcode.php +++ b/phpBB/includes/bbcode.php @@ -26,7 +26,7 @@ if ( !defined('IN_PHPBB') ) define('BBCODE_UID_LEN', 10); -// global that holds loaded-and-prepared bbcode templates, so we only have to do +// global that holds loaded-and-prepared bbcode templates, so we only have to do // that stuff once. $bbcode_tpl = null; @@ -45,21 +45,21 @@ function load_bbcode_template() global $template; $tpl_filename = $template->make_filename('bbcode.html'); $tpl = fread(fopen($tpl_filename, 'r'), filesize($tpl_filename)); - + // replace \ with \\ and then ' with \'. $tpl = str_replace('\\', '\\\\', $tpl); $tpl = str_replace('\'', '\\\'', $tpl); - + // strip newlines. $tpl = str_replace("\n", '', $tpl); - + // Turn template blocks into PHP assignment statements for the values of $bbcode_tpls.. $tpl = preg_replace('#<!-- BEGIN (.*?) -->(.*?)<!-- END (.*?) -->#', "\n" . '$bbcode_tpls[\'\\1\'] = \'\\2\';', $tpl); - + $bbcode_tpls = array(); eval($tpl); - + return $bbcode_tpls; } @@ -68,7 +68,7 @@ function load_bbcode_template() * Prepares the loaded bbcode templates for insertion into preg_replace() * or str_replace() calls in the bbencode_second_pass functions. This * means replacing template placeholders with the appropriate preg backrefs - * or with language vars. NOTE: If you change how the regexps work in + * or with language vars. NOTE: If you change how the regexps work in * bbencode_second_pass(), you MUST change this function. * * Nathan Codding, Sept 26 2001 @@ -77,52 +77,52 @@ function load_bbcode_template() function prepare_bbcode_template($bbcode_tpl) { global $lang; - + $bbcode_tpl['olist_open'] = str_replace('{LIST_TYPE}', '\\1', $bbcode_tpl['olist_open']); - + $bbcode_tpl['color_open'] = str_replace('{COLOR}', '\\1', $bbcode_tpl['color_open']); - + $bbcode_tpl['size_open'] = str_replace('{SIZE}', '\\1', $bbcode_tpl['size_open']); - + $bbcode_tpl['quote_open'] = str_replace('{L_QUOTE}', $lang['Quote'], $bbcode_tpl['quote_open']); - + $bbcode_tpl['quote_username_open'] = str_replace('{L_QUOTE}', $lang['Quote'], $bbcode_tpl['quote_username_open']); $bbcode_tpl['quote_username_open'] = str_replace('{L_WROTE}', $lang['wrote'], $bbcode_tpl['quote_username_open']); $bbcode_tpl['quote_username_open'] = str_replace('{USERNAME}', '\\1', $bbcode_tpl['quote_username_open']); - + $bbcode_tpl['code_open'] = str_replace('{L_CODE}', $lang['Code'], $bbcode_tpl['code_open']); $bbcode_tpl['img'] = str_replace('{URL}', '\\1', $bbcode_tpl['img']); - + // We do URLs in several different ways.. $bbcode_tpl['url1'] = str_replace('{URL}', '\\1\\2', $bbcode_tpl['url']); $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1\\2', $bbcode_tpl['url1']); - + $bbcode_tpl['url2'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']); $bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url2']); - + $bbcode_tpl['url3'] = str_replace('{URL}', '\\1\\2', $bbcode_tpl['url']); $bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url3']); - + $bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']); $bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\2', $bbcode_tpl['url4']); $bbcode_tpl['email'] = str_replace('{EMAIL}', '\\1', $bbcode_tpl['email']); - + define('BBCODE_TPL_READY', true); - + return $bbcode_tpl; } /** * Does second-pass bbencoding. This should be used before displaying the message in - * a thread. Assumes the message is already first-pass encoded, and we are given the + * a thread. Assumes the message is already first-pass encoded, and we are given the * correct UID as used in first-pass encoding. */ function bbencode_second_pass($text, $uid, $enable_img = true) { - global $acl, $board_config, $lang, $bbcode_tpl; + global $acl, $config, $lang, $bbcode_tpl; // pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0). // This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it. @@ -135,13 +135,13 @@ function bbencode_second_pass($text, $uid, $enable_img = true) $text = substr($text, 1); return $text; } - + // Only load the templates ONCE.. if (!defined('BBCODE_TPL_READY')) { // load templates from file into array. $bbcode_tpl = load_bbcode_template(); - + // prepare array for use in regexps. $bbcode_tpl = prepare_bbcode_template($bbcode_tpl); } @@ -171,7 +171,7 @@ function bbencode_second_pass($text, $uid, $enable_img = true) // [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff. $text = str_replace("[quote:$uid]", $bbcode_tpl['quote_open'], $text); $text = str_replace("[/quote:$uid]", $bbcode_tpl['quote_close'], $text); - + // New one liner to deal with opening quotes with usernames... // replaces the two line version that I had here before.. $text = preg_replace("/\[quote:$uid=(?:\"?([^\"]*)\"?)\]/si", $bbcode_tpl['quote_username_open'], $text); @@ -199,7 +199,7 @@ function bbencode_second_pass($text, $uid, $enable_img = true) $patterns[0] = "#\[img:$uid\](.*?)\[/img:$uid\]#si"; $replacements[0] = $bbcode_tpl['img']; } - + // [url]xxxx://www.phpbb.com[/url] code.. $patterns[1] = "#\[url\]([a-z]+?://){1}([a-z0-9\-\.,\?!%\*_\#:;~\\&$@\/=\+]+)\[/url\]#si"; $replacements[1] = $bbcode_tpl['url1']; @@ -253,7 +253,7 @@ function bbencode_first_pass($text, $uid) // [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff. $text = bbencode_first_pass_pda($text, $uid, '[quote]', '[/quote]', '', false, ''); - + $text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\\"[^"]*?\\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]"); // [list] and [list=x] for (un)ordered lists. @@ -351,9 +351,9 @@ function bbencode_first_pass_pda($text, $uid, $open_tag, $close_tag, $close_tag_ $open_tag[0] = $open_tag_temp; $open_tag_count = 1; } - + $open_is_regexp = false; - + if ($open_regexp_replace) { $open_is_regexp = true; @@ -364,12 +364,12 @@ function bbencode_first_pass_pda($text, $uid, $open_tag, $close_tag, $close_tag_ $open_regexp_replace[0] = $open_regexp_temp; } } - + if ($mark_lowest_level && $open_is_regexp) { message_die(GENERAL_ERROR, "Unsupported operation for bbcode_first_pass_pda()."); } - + // Start at the 2nd char of the string, looking for opening tags. $curr_pos = 1; @@ -398,12 +398,12 @@ function bbencode_first_pass_pda($text, $uid, $open_tag, $close_tag, $close_tag_ // // OK we are in a quote tag that probably contains a ] bracket. // Grab a bit more of the string to hopefully get all of it.. - // + // $possible_start = substr($text, $curr_pos, strpos($text, "\"]", $curr_pos + 1) - $curr_pos + 2); } // // Now compare, either using regexp or not. - + if ($open_is_regexp) { $match_result = array(); @@ -441,7 +441,7 @@ function bbencode_first_pass_pda($text, $uid, $open_tag, $close_tag, $close_tag_ // Keeps error in nested tag from breaking out // of table structure.. // - $curr_pos = $curr_pos + strlen($possible_start); + $curr_pos = $curr_pos + strlen($possible_start); } else { @@ -574,12 +574,12 @@ function bbencode_second_pass_code($text, $uid, $bbcode_tpl) { $before_replace = $matches[1][$i]; $after_replace = $matches[1][$i]; - + // Replace 2 spaces with " " so non-tabbed code indents without making huge long lines. $after_replace = str_replace(" ", " ", $after_replace); // now Replace 2 spaces with " " to catch odd #s of spaces. $after_replace = str_replace(" ", " ", $after_replace); - + // Replace tabs with " " so tabbed code indents sorta right without making huge long lines. $after_replace = str_replace("\t", " ", $after_replace); @@ -740,7 +740,7 @@ function bbcode_array_pop(&$stack) // function smilies_pass($message) { - global $db, $board_config; + global $db, $config; static $smilies; if ( empty($smilies) ) @@ -749,7 +749,7 @@ function smilies_pass($message) FROM " . SMILIES_TABLE; $result = $db->sql_query($sql); - if ( !($smilies = $db->sql_fetchrowset($result)) ) + if ( !($smilies = $db->sql_fetchrowset($result)) ) { return $message; } @@ -760,7 +760,7 @@ function smilies_pass($message) for($i = 0; $i < count($smilies); $i++) { $orig[] = '/(?<=.\\W|\\W.|^\\W)' . preg_quote($smilies[$i]['code'], '/') . '(?=.\\W|\\W.|\\W$)/'; - $repl[] = '<img src="'. $board_config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" width="' . $smilies[$i]['smile_width'] . '" height="' . $smilies[$i]['smile_height'] . '" alt="' . $smilies[$i]['smile_url'] . '" title="' . $smilies[$i]['smile_url'] . '" border="0" />'; + $repl[] = '<img src="'. $config['smilies_path'] . '/' . $smilies[$i]['smile_url'] . '" width="' . $smilies[$i]['smile_width'] . '" height="' . $smilies[$i]['smile_height'] . '" alt="' . $smilies[$i]['smile_url'] . '" title="' . $smilies[$i]['smile_url'] . '" border="0" />'; } if ( $i > 0 ) diff --git a/phpBB/includes/emailer.php b/phpBB/includes/emailer.php index cabe89b944..f8a06cc91b 100755 --- a/phpBB/includes/emailer.php +++ b/phpBB/includes/emailer.php @@ -81,11 +81,11 @@ class emailer function use_template($template_file, $template_lang = '') { - global $board_config, $phpbb_root_path; + global $config, $phpbb_root_path; if ( $template_lang == '' ) { - $template_lang = $board_config['default_lang']; + $template_lang = $config['default_lang']; } $this->tpl_file = $phpbb_root_path . 'language/lang_' . $template_lang . '/email/' . $template_file . '.txt'; @@ -324,10 +324,10 @@ function server_parse($socket, $response) function smtpmail($mail_to, $subject, $message, $headers = '') { // For now I'm using an array based $smtp_vars to hold the smtp server - // info, but it should probably change to $board_config... - // then the relevant info would be $board_config['smtp_host'] and - // $board_config['smtp_port']. - global $board_config; + // info, but it should probably change to $config... + // then the relevant info would be $config['smtp_host'] and + // $config['smtp_port']. + global $config; // // Fix any bare linefeeds in the message to make it RFC821 Compliant. @@ -396,37 +396,37 @@ function smtpmail($mail_to, $subject, $message, $headers = '') // Ok we have error checked as much as we can to this point let's get on // it already. // - if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) ) + if( !$socket = fsockopen($config['smtp_host'], 25, $errno, $errstr, 20) ) { message_die(ERROR, "Could not connect to smtp host : $errno : $errstr"); } server_parse($socket, "220"); - if( !empty($board_config['smtp_username']) && !empty($board_config['smtp_password']) ) + if( !empty($config['smtp_username']) && !empty($config['smtp_password']) ) { // Send the RFC2554 specified EHLO. // This improved as provided by SirSir to accomodate // both SMTP AND ESMTP capable servers - fputs($socket, "EHLO " . $board_config['smtp_host'] . "\r\n"); + fputs($socket, "EHLO " . $config['smtp_host'] . "\r\n"); server_parse($socket, "250"); fputs($socket, "AUTH LOGIN\r\n"); server_parse($socket, "334"); - fputs($socket, base64_encode($board_config['smtp_username']) . "\r\n"); + fputs($socket, base64_encode($config['smtp_username']) . "\r\n"); server_parse($socket, "334"); - fputs($socket, base64_encode($board_config['smtp_password']) . "\r\n"); + fputs($socket, base64_encode($config['smtp_password']) . "\r\n"); server_parse($socket, "235"); } else { // Send the RFC821 specified HELO. - fputs($socket, "HELO " . $board_config['smtp_host'] . "\r\n"); + fputs($socket, "HELO " . $config['smtp_host'] . "\r\n"); server_parse($socket, "250"); } // From this point onward most server response codes should be 250 // Specify who the mail is from.... - fputs($socket, "MAIL FROM: <" . $board_config['board_email'] . ">\r\n"); + fputs($socket, "MAIL FROM: <" . $config['board_email'] . ">\r\n"); server_parse($socket, "250"); // Specify each user to send to and build to header. diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 5a38c4f9e7..6cfbd9db8f 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -37,7 +37,7 @@ function get_userdata($user) return ( $row = $db->sql_fetchrow($result) ) ? $row : false; } -function get_forum_branch($forum_id, $type='all', $order='descending', $include_forum=TRUE) +function get_forum_branch($forum_id, $type = 'all', $order = 'descending', $include_forum = TRUE) { global $db; @@ -216,7 +216,7 @@ function get_moderators(&$forum_moderators, $forum_id = false) // function get_forum_rules($mode, &$rules, &$forum_id) { - global $SID, $auth, $user, $phpEx; + global $SID, $auth, $user; $rules .= ( ( $auth->acl_get('f_post', $forum_id) ) ? $user->lang['Rules_post_can'] : $user->lang['Rules_post_cannot'] ) . '<br />'; $rules .= ( ( $auth->acl_get('f_reply', $forum_id) ) ? $user->lang['Rules_reply_can'] : $user->lang['Rules_reply_cannot'] ) . '<br />'; @@ -326,7 +326,7 @@ function language_select($default, $select_name = "language", $dirname="language { global $phpEx; - $dir = opendir($dirname); + $dir = @opendir($dirname); $user = array(); while ( $file = readdir($dir) ) @@ -338,10 +338,10 @@ function language_select($default, $select_name = "language", $dirname="language } } - closedir($dir); + @closedir($dir); - @asort($user); - @reset($user); + @asort($lang); + @reset($lang); $user_select = '<select name="' . $select_name . '">'; foreach ( $lang as $displayname => $filename ) @@ -431,7 +431,7 @@ function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $mat ); $message = $user->lang['No_longer_watching_' . $mode] . '<br /><br />' . sprintf($user->lang['Click_return_' . $mode], '<a href="' . "view$mode.$phpEx$SID&" . $u_url . "=$match_id&start=$start" . '">', '</a>'); - message_die(MESSAGE, $message); + trigger_error($message); } else { @@ -465,7 +465,7 @@ function watch_topic_forum($mode, &$s_watching, &$s_watching_img, $user_id, $mat ); $message = $user->lang['You_are_watching_' . $mode] . '<br /><br />' . sprintf($user->lang['Click_return_' . $mode], '<a href="' . "view$mode.$phpEx$SID&" . $u_url . "=$match_id&start=$start" . '">', '</a>'); - message_die(MESSAGE, $message); + trigger_error($message); } else { @@ -594,6 +594,146 @@ function redirect($location) exit; } +// 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 +function validate_username($username) +{ + global $db, $user; + + $username = sql_quote($username); + + $sql = "SELECT username + FROM " . USERS_TABLE . " + WHERE LOWER(username) = '" . strtolower($username) . "'"; + $result = $db->sql_query($sql); + + if (($row = $db->sql_fetchrow($result)) && $row['username'] != $user->data['username']) + { + return $user->lang['Username_taken']; + } + + $sql = "SELECT group_name + FROM " . GROUPS_TABLE . " + WHERE LOWER(group_name) = '" . strtolower($username) . "'"; + $result = $db->sql_query($sql); + + if ($row = $db->sql_fetchrow($result)) + { + return $user->lang['Username_taken']; + } + + $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)) + { + return $user->lang['Username_disallowed']; + } + } + + $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)) + { + return $user->lang['Username_disallowed']; + } + } + + // Don't allow " in username. + if (strstr($username, '"')) + { + return $user->lang['Username_invalid']; + } + + return false; +} + +// Check to see if email address is banned or already present in the DB +function validate_email($email) +{ + global $db, $user; + + if ($email != '') + { + if (preg_match('/^[a-z0-9\.\-_\+]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is', $email)) + { + $sql = "SELECT ban_email + FROM " . BANLIST_TABLE; + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + if (preg_match('/^' . str_replace('*', '.*?', $row['ban_email']) . '$/is', $email)) + { + return $user->lang['Email_banned']; + } + } + + $sql = "SELECT user_email + FROM " . USERS_TABLE . " + WHERE user_email = '" . sql_quote($email) . "'"; + $result = $db->sql_query($sql); + + if ($row = $db->sql_fetchrow($result)) + { + return $user->lang['Email_taken']; + } + + return false; + } + } + + return $user->lang['Email_invalid']; +} + +// Does supplementary validation of optional profile fields. This +// expects common stuff like trim() and strip_tags() to have already +// been run. Params are passed by-ref, so we can set them to the empty +// string if they fail. +function validate_optional_fields(&$icq, &$aim, &$msnm, &$yim, &$website, &$location, &$occupation, &$interests, &$sig) +{ + $check_var_length = array('aim', 'msnm', 'yim', 'location', 'occupation', 'interests', 'sig'); + + for($i = 0; $i < count($check_var_length); $i++) + { + if ( strlen($$check_var_length[$i]) < 2 ) + { + $$check_var_length[$i] = ''; + } + } + + // ICQ number has to be only numbers. + if ( !preg_match('/^[0-9]+$/', $icq) ) + { + $icq = ''; + } + + // website has to start with http://, followed by something with length at least 3 that + // contains at least one dot. + if ( $website != '' ) + { + if ( !preg_match('#^http:\/\/#i', $website) ) + { + $website = 'http://' . $website; + } + + if ( !preg_match('#^http\\:\\/\\/[a-z0-9\-]+\.([a-z0-9\-]+\.)?[a-z]+#i', $website) ) + { + $website = ''; + } + } + + return; +} + // This is general replacement for die(), allows templated output in users (or default) // language, etc. $msg_code can be one of these constants: // @@ -602,7 +742,7 @@ function redirect($location) // -> ERROR : Use for any error, a simple page will be output function message_die($msg_code, $msg_text = '', $msg_title = '') { - global $db, $auth, $template, $board_config, $user, $nav_links; + global $db, $auth, $template, $config, $user, $nav_links; global $phpEx, $phpbb_root_path, $starttime; switch ( $msg_code ) @@ -667,7 +807,7 @@ function message_die($msg_code, $msg_text = '', $msg_title = '') // Error and message handler, call with trigger_error if reqd function msg_handler($errno, $msg_text, $errfile, $errline) { - global $db, $auth, $template, $board_config, $user, $nav_links; + global $db, $auth, $template, $config, $user, $nav_links; global $phpEx, $phpbb_root_path, $starttime; switch ( $errno ) @@ -696,7 +836,7 @@ function msg_handler($errno, $msg_text, $errfile, $errline) echo 'th { background-image: url(\'' . $phpbb_root_path . 'admin/images/cellpic3.gif\') }' . "\n"; echo 'td.cat { background-image: url(\'' . $phpbb_root_path . 'admin/images/cellpic1.gif\') }' . "\n"; echo '</style><title>' . $msg_title . '</title></head><body>'; - echo '<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td><img src="' . $phpbb_root_path . 'admin/images/header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td><td width="100%" background="' . $phpbb_root_path . 'admin/images/header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">General Error</span> </td></tr></table><br clear="all" /><table width="85%" cellspacing="0" cellpadding="0" border="0" align="center"><tr><td><br clear="all" />' . $msg_text . '<hr />Please notify the board administrator or webmaster : <a href="mailto:' . $board_config['board_email'] . '">' . $board_config['board_email'] . '</a></td></tr></table><br clear="all" /></body></html>'; + echo '<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td><img src="' . $phpbb_root_path . 'admin/images/header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td><td width="100%" background="' . $phpbb_root_path . 'admin/images/header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">General Error</span> </td></tr></table><br clear="all" /><table width="85%" cellspacing="0" cellpadding="0" border="0" align="center"><tr><td><br clear="all" />' . $msg_text . '<hr />Please notify the board administrator or webmaster : <a href="mailto:' . $config['board_email'] . '">' . $config['board_email'] . '</a></td></tr></table><br clear="all" /></body></html>'; exit; break; diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index 97e65c25a1..b55fe6fcbd 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -413,14 +413,14 @@ function config_config($config = false) } } - $cache_str = "\$board_config = array(\n"; + $cache_str = "\$config = array(\n"; foreach ($config as $config_name => $config_value) { $cache_str .= "\t'$config_name' => " . ( ( is_numeric($config_value) ) ? $config_value : '"' . addslashes($config_value) . '"' ) . ",\n"; } $cache_str .= ");"; - config_cache_write('\$board_config = array\(.*?\);', $cache_str); + config_cache_write('\$config = array\(.*?\);', $cache_str); return $config; } diff --git a/phpBB/includes/functions_posting.php b/phpBB/includes/functions_posting.php index 74bb58eb0e..f78a1a431f 100644 --- a/phpBB/includes/functions_posting.php +++ b/phpBB/includes/functions_posting.php @@ -27,7 +27,7 @@ class parse_message function parse(&$message, $html, $bbcode, $uid, $url, $smilies) { - global $board_config, $db, $lang; + global $config, $db, $lang; $warn_msg = ''; @@ -44,13 +44,13 @@ class parse_message $message = preg_replace($match, $replace, $message); // Message length check - if ( !strlen($message) || ( $board_config['max_post_chars'] && strlen($message) > $board_config['max_post_chars'] ) ) + if ( !strlen($message) || ( $config['max_post_chars'] && strlen($message) > $config['max_post_chars'] ) ) { $warn_msg .= ( !strlen($message) ) ? $lang['Too_few_chars'] . '<br />' : $lang['Too_many_chars'] . '<br />'; } // Smiley check - if ( $board_config['max_post_smilies'] && $smilies ) + if ( $config['max_post_smilies'] && $smilies ) { $sql = "SELECT code FROM " . SMILIES_TABLE; @@ -64,7 +64,7 @@ class parse_message $match++; } - if ( $match > $board_config['max_post_smilies'] ) + if ( $match > $config['max_post_smilies'] ) { $warn_msg .= $lang['Too_many_smilies'] . '<br />'; break; @@ -92,13 +92,13 @@ class parse_message function html(&$message, $html) { - global $board_config, $lang; + global $config, $lang; if ( $html ) { // If $html is true then "allowed_tags" are converted back from entity // form, others remain - $allowed_tags = split(',', str_replace(' ', '', $board_config['allow_html_tags'])); + $allowed_tags = split(',', str_replace(' ', '', $config['allow_html_tags'])); $match = array(); $replace = array(); @@ -117,7 +117,7 @@ class parse_message function bbcode(&$message, $bbcode, $uid) { - global $board_config; + global $config; } @@ -126,18 +126,18 @@ class parse_message // into relative versions when the server/script path matches the link function magic_url(&$message, $url) { - global $board_config; + global $config; if ( $url ) { - $server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://'; - $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; + $server_protocol = ( $config['cookie_secure'] ) ? 'https://' : 'http://'; + $server_port = ( $config['server_port'] <> 80 ) ? ':' . trim($config['server_port']) . '/' : '/'; $match = array(); $replace = array(); // relative urls for this board - $match[] = '#' . $server_protocol . trim($board_config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '\1', trim($board_config['script_path'])) . '/([^\t <\n\r\"]+)#i'; + $match[] = '#' . $server_protocol . trim($config['server_name']) . $server_port . preg_replace('/^\/?(.*?)(\/)?$/', '\1', trim($config['script_path'])) . '/([^\t <\n\r\"]+)#i'; $replace[] = '<a href="\1" target="_blank">\1</a>'; // matches a xxxx://aaaaa.bbb.cccc. ... @@ -159,19 +159,9 @@ class parse_message // Based off of Acyd Burns Mod function attach($file_ary) { - global $board_config; - - $allowed_ext = explode(',', $board_config['attach_ext']); - } -} - -// Will parse poll info ... probably -class parse_poll extends parse_message -{ - function parse_poll() - { - global $board_config; + global $config; + $allowed_ext = explode(',', $config['attach_ext']); } } @@ -182,7 +172,7 @@ class fulltext_search { function split_words(&$text) { - global $user, $board_config; + global $user, $config; static $drop_char_match = array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!', '*'); static $drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ', ' ', ' ', ' '); @@ -202,7 +192,7 @@ class fulltext_search $match[] = '#\[\/?url(=.*?)?\]#'; $match[] = '#\[\/?[a-z\*=\+\-]+(\:?[0-9a-z]+)?:[a-z0-9]{10,}(\:[a-z0-9]+)?=?.*?\]#'; // Sequences < min_search_chars & < max_search_chars - $match[] = '#\b([a-z0-9]{1,' . $board_config['min_search_chars'] . '}|[a-z0-9]{' . $board_config['max_search_chars'] . ',})\b#'; + $match[] = '#\b([a-z0-9]{1,' . $config['min_search_chars'] . '}|[a-z0-9]{' . $config['max_search_chars'] . ',})\b#'; $text = preg_replace($match, ' ', ' ' . strtolower($text) . ' '); @@ -237,33 +227,48 @@ class fulltext_search return array_unique($split_entries[1]); } - function add(&$post_id, &$new_msg, &$new_title, $old_msg = '', $old_title = '') + function add(&$mode, &$post_id, &$message, &$subject) { - global $board_config, $db; + global $config, $db; $mtime = explode(' ', microtime()); $starttime = $mtime[1] + $mtime[0]; - // // Split old and new post/subject to obtain array of 'words' - // - $split_text_new = $this->split_words($new_msg); - $split_text_old = $this->split_words(addslashes($old_msg)); - $split_title_new = ( $new_title ) ? $this->split_words($new_title) : array(); - $split_title_old = ( $old_title ) ? $this->split_words(addslashes($old_title)) : array(); + $split_text = $this->split_words($message); + $split_title = ($subject) ? $this->split_words($subject) : array(); - // - // Define new words to be added and old words to be removed - // $words = array(); - $words['add']['text'] = array_diff($split_text_new, $split_text_old); - $words['del']['text'] = array_diff($split_text_old, $split_text_new); - $words['add']['title'] = array_diff($split_title_new, $split_title_old); - $words['del']['title'] = array_diff($split_title_old, $split_title_new); + if ($mode == 'edit') + { + $sql = "SELECT w.word_id, w.word_text, m.title_match + FROM " . SEARCH_WORD_TABLE . " w, " . SEARCH_MATCH_TABLE . " m + WHERE m.post_id = " . intval($post_id) . " + AND w.word_id = m.word_id"; + $result = $db->sql_query($result); + + $cur_words = array(); + while ($row = $db->sql_fetchrow($result)) + { + $which = ($row['title_match']) ? 'title' : 'post'; + $cur_words[$which][$row['word_id']] = $row['word_text']; + } + $db->sql_freeresult($result); + + $words['add']['post'] = array_diff($split_text, $cur_words['post']); + $words['add']['title'] = array_diff($split_title, $cur_words['title']); + $words['del']['post'] = array_diff($cur_words['post'], $split_text); + $words['del']['title'] = array_diff($cur_words['title'], $split_title); + } + else + { + $words['add']['post'] = $split_text; + $words['add']['title'] = $split_title; + } + unset($split_text); + unset($split_title); - // // Get unique words from the above arrays - // $unique_add_words = array_unique(array_merge($words['add']['text'], $words['add']['title'])); // @@ -391,7 +396,7 @@ class fulltext_search echo "<br /><br />"; // Run the cleanup infrequently, once per session cleanup - if ( $board_config['session_last_gc'] < time - ( $board_config['session_gc'] / 2 ) ) + if ( $config['session_last_gc'] < time - ( $config['session_gc'] / 2 ) ) { $this->search_tidy(); } @@ -471,7 +476,7 @@ class fulltext_search // function generate_smilies($mode) { - global $SID, $auth, $db, $session, $board_config, $template, $theme, $lang; + global $SID, $auth, $db, $session, $config, $template, $theme, $lang; global $user_ip, $starttime; global $phpEx, $phpbb_root_path; global $user, $userdata; @@ -505,7 +510,7 @@ function generate_smilies($mode) { $template->assign_block_vars('emoticon', array( 'SMILEY_CODE' => $row['code'], - 'SMILEY_IMG' => $board_config['smilies_path'] . '/' . $row['smile_url'], + 'SMILEY_IMG' => $config['smilies_path'] . '/' . $row['smile_url'], 'SMILEY_WIDTH' => $row['smile_width'], 'SMILEY_HEIGHT' => $row['smile_height'], 'SMILEY_DESC' => $row['emoticon']) diff --git a/phpBB/includes/page_header.php b/phpBB/includes/page_header.php index b43c863f7c..88806b28b6 100644 --- a/phpBB/includes/page_header.php +++ b/phpBB/includes/page_header.php @@ -27,7 +27,7 @@ if ( !defined('IN_PHPBB') ) define('HEADER_INC', TRUE); // gzip_compression -if ( $board_config['gzip_compress'] ) +if ( $config['gzip_compress'] ) { if ( extension_loaded('zlib') && strstr($HTTP_USER_AGENT,'compatible') && !headers_sent() ) { @@ -137,10 +137,10 @@ else $total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online; -if ( $total_online_users > $board_config['record_online_users']) +if ( $total_online_users > $config['record_online_users']) { - $board_config['record_online_users'] = $total_online_users; - $board_config['record_online_date'] = time(); + $config['record_online_users'] = $total_online_users; + $config['record_online_date'] = time(); $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '$total_online_users' @@ -148,7 +148,7 @@ if ( $total_online_users > $board_config['record_online_users']) $db->sql_query($sql); $sql = "UPDATE " . CONFIG_TABLE . " - SET config_value = '" . $board_config['record_online_date'] . "' + SET config_value = '" . $config['record_online_date'] . "' WHERE config_name = 'record_online_date'"; $db->sql_query($sql); } @@ -279,14 +279,14 @@ foreach ( $nav_links as $nav_item => $nav_array ) // The following assigns all _common_ variables that may be used at any point // in a template. $template->assign_vars(array( - 'SITENAME' => $board_config['sitename'], - 'SITE_DESCRIPTION' => $board_config['site_desc'], + 'SITENAME' => $config['sitename'], + 'SITE_DESCRIPTION' => $config['site_desc'], 'PAGE_TITLE' => $page_title, 'LAST_VISIT_DATE' => sprintf($user->lang['You_last_visit'], $s_last_visit), 'CURRENT_TIME' => sprintf($user->lang['Current_time'], $user->format_date(time())), 'TOTAL_USERS_ONLINE' => $l_online_users, 'LOGGED_IN_USER_LIST' => $online_userlist, - 'RECORD_USERS' => sprintf($user->lang['Record_online_users'], $board_config['record_online_users'], $user->format_date($board_config['record_online_date'])), + 'RECORD_USERS' => sprintf($user->lang['Record_online_users'], $config['record_online_users'], $user->format_date($config['record_online_date'])), 'PRIVATE_MESSAGE_INFO' => $l_privmsgs_text, 'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new, 'PRIVATE_MESSAGE_INFO_UNREAD' => $l_privmsgs_text_unread, @@ -335,7 +335,7 @@ $template->assign_vars(array( 'S_CONTENT_DIR_LEFT' => $user->lang['LEFT'], 'S_CONTENT_DIR_RIGHT' => $user->lang['RIGHT'], 'S_LOGIN_ACTION' => 'login.'.$phpEx.$SID, - 'S_TIMEZONE' => ( $user->data['user_dst'] ) ? sprintf($user->lang['All_times'], $user->lang[floatval($board_config['board_timezone'])], $user->lang['tz']['dst']) : sprintf($user->lang['All_times'], $user->lang[floatval($board_config['board_timezone'])], ''), + 'S_TIMEZONE' => ( $user->data['user_dst'] ) ? sprintf($user->lang['All_times'], $user->lang[floatval($config['board_timezone'])], $user->lang['tz']['dst']) : sprintf($user->lang['All_times'], $user->lang[floatval($config['board_timezone'])], ''), 'T_STYLESHEET_DATA' => $user->theme['css_data'], 'T_STYLESHEET_LINK' => 'templates/' . $user->theme['css_external'], @@ -343,7 +343,7 @@ $template->assign_vars(array( 'NAV_LINKS' => $nav_links_html) ); -/*if ( $board_config['send_encoding'] ) +/*if ( $config['send_encoding'] ) { header ('Content-type: text/html; charset: ' . $user->lang['ENCODING']); }*/ diff --git a/phpBB/includes/page_tail.php b/phpBB/includes/page_tail.php index 67c99e3ed7..b39f540210 100644 --- a/phpBB/includes/page_tail.php +++ b/phpBB/includes/page_tail.php @@ -36,7 +36,7 @@ if (defined('DEBUG')) exit; } - $debug_output = sprintf('<br /><br />[ Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . ( ( $board_config['gzip_compress'] ) ? 'On' : 'Off' ) . ' | Load : ' . (($session->load) ? $session->load : 'N/A'), $totaltime); + $debug_output = sprintf('<br /><br />[ Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . ( ( $config['gzip_compress'] ) ? 'On' : 'Off' ) . ' | Load : ' . (($session->load) ? $session->load : 'N/A'), $totaltime); if ($auth->acl_get('a_')) { @@ -46,7 +46,7 @@ if (defined('DEBUG')) } $template->assign_vars(array( - 'PHPBB_VERSION' => $board_config['version'], + 'PHPBB_VERSION' => $config['version'], 'ADMIN_LINK' => ( $auth->acl_get('a_') ) ? '<a href="' . "admin/index.$phpEx?sid=" . $user->data['session_id'] . '">' . $user->lang['Admin_panel'] . '</a><br /><br />' : '', 'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '' )); diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 0a17b59a55..710432e162 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -31,17 +31,17 @@ class session // Called at each page start ... checks for, updates and/or creates a session function start($update = true) { - global $SID, $db, $board_config; + global $SID, $db, $config; $current_time = time(); $this->browser = ( !empty($_SERVER['HTTP_USER_AGENT']) ) ? $_SERVER['HTTP_USER_AGENT'] : $_ENV['HTTP_USER_AGENT']; $this->page = ( !empty($_SERVER['PHP_SELF']) ) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this->page .= '&' . ( ( !empty($_SERVER['QUERY_STRING']) ) ? $_SERVER['QUERY_STRING'] : $_ENV['QUERY_STRING'] ); - if ( isset($_COOKIE[$board_config['cookie_name'] . '_sid']) || isset($_COOKIE[$board_config['cookie_name'] . '_data']) ) + if ( isset($_COOKIE[$config['cookie_name'] . '_sid']) || isset($_COOKIE[$config['cookie_name'] . '_data']) ) { - $sessiondata = ( isset($_COOKIE[$board_config['cookie_name'] . '_data']) ) ? unserialize(stripslashes($_COOKIE[$board_config['cookie_name'] . '_data'])) : ''; - $this->session_id = ( isset($_COOKIE[$board_config['cookie_name'] . '_sid']) ) ? $_COOKIE[$board_config['cookie_name'] . '_sid'] : ''; + $sessiondata = ( isset($_COOKIE[$config['cookie_name'] . '_data']) ) ? unserialize(stripslashes($_COOKIE[$config['cookie_name'] . '_data'])) : ''; + $this->session_id = ( isset($_COOKIE[$config['cookie_name'] . '_sid']) ) ? $_COOKIE[$config['cookie_name'] . '_sid'] : ''; $SID = (defined('IN_ADMIN')) ? '?sid=' . $this->session_id : '?sid='; } else @@ -64,13 +64,13 @@ class session } // Load limit check (if applicable) - if ( intval($board_config['limit_load']) && file_exists('/proc/loadavg') ) + if ( intval($config['limit_load']) && file_exists('/proc/loadavg') ) { if ( $load = @file('/proc/loadavg') ) { list($this->load) = explode(' ', $load[0]); - if ( $this->load > intval($board_config['limit_load']) ) + if ( $this->load > intval($config['limit_load']) ) { trigger_error('Board_unavailable'); } @@ -93,8 +93,8 @@ class session if ( isset($this->data['user_id']) ) { // Validate IP length according to admin ... has no effect on IPv6 - $s_ip = implode('.', array_slice(explode('.', $this->data['session_ip']), 0, $board_config['ip_check'])); - $u_ip = implode('.', array_slice(explode('.', $this->ip), 0, $board_config['ip_check'])); + $s_ip = implode('.', array_slice(explode('.', $this->data['session_ip']), 0, $config['ip_check'])); + $u_ip = implode('.', array_slice(explode('.', $this->ip), 0, $config['ip_check'])); if ( $u_ip == $s_ip ) { @@ -123,12 +123,12 @@ class session // Create a new session function create(&$user_id, &$autologin) { - global $SID, $db, $board_config; + global $SID, $db, $config; $sessiondata = array(); $current_time = time(); - if ( intval($board_config['active_sessions']) ) + if ( intval($config['active_sessions']) ) { // Limit sessions in 1 minute period $sql = "SELECT COUNT(*) AS sessions @@ -139,7 +139,7 @@ class session $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); - if ( intval($row['sessions']) > intval($board_config['active_sessions']) ) + if ( intval($row['sessions']) > intval($config['active_sessions']) ) { trigger_error('Board_unavailable'); } @@ -147,7 +147,7 @@ class session // Garbage collection ... remove old sessions updating user information // if necessary. It means (potentially) 22 queries but only infrequently - if ( $current_time - $board_config['session_gc'] > $board_config['session_last_gc'] ) + if ( $current_time - $config['session_gc'] > $config['session_last_gc'] ) { $this->gc($current_time); } @@ -236,7 +236,7 @@ class session // Destroy a session function destroy() { - global $SID, $db, $board_config; + global $SID, $db, $config; $current_time = time(); @@ -263,12 +263,12 @@ class session // Garbage collection function gc(&$current_time) { - global $db, $board_config; + global $db, $config; // Get expired sessions, only most recent for each user $sql = "SELECT session_user_id, MAX(session_time) AS recent_time FROM " . SESSIONS_TABLE . " - WHERE session_time < " . ( $current_time - $board_config['session_length'] ) . " + WHERE session_time < " . ( $current_time - $config['session_length'] ) . " GROUP BY session_user_id LIMIT 5"; $result = $db->sql_query($sql); @@ -294,7 +294,7 @@ class session // Delete expired sessions $sql = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id IN ($del_user_id) - AND session_time < " . ( $current_time - $board_config['session_length'] ); + AND session_time < " . ( $current_time - $config['session_length'] ); $db->sql_query($sql); } @@ -314,9 +314,9 @@ class session // Set a cookie function set_cookie($name, $cookiedata, $cookietime) { - global $board_config; + global $config; - setcookie($board_config['cookie_name'] . '_' . $name, $cookiedata, $cookietime, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']); + setcookie($config['cookie_name'] . '_' . $name, $cookiedata, $cookietime, $config['cookie_path'], $config['cookie_domain'], $config['cookie_secure']); } } @@ -336,11 +336,11 @@ class user extends session function setup($lang_set = false, $style = false) { - global $db, $template, $board_config, $phpEx, $phpbb_root_path; + global $db, $template, $config, $phpEx, $phpbb_root_path; if ( $this->data['user_id'] != ANONYMOUS ) { - $this->lang_name = ( file_exists($phpbb_root_path . 'language/' . $this->data['user_lang']) ) ? $this->data['user_lang'] : $board_config['default_lang']; + $this->lang_name = ( file_exists($phpbb_root_path . 'language/' . $this->data['user_lang']) ) ? $this->data['user_lang'] : $config['default_lang']; $this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/'; $this->date_format = $this->data['user_dateformat']; @@ -349,10 +349,10 @@ class user extends session } else { - $this->lang_name = $board_config['default_lang']; + $this->lang_name = $config['default_lang']; $this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/'; - $this->date_format = $board_config['default_dateformat']; - $this->timezone = $board_config['board_timezone'] * 3600; + $this->date_format = $config['default_dateformat']; + $this->timezone = $config['board_timezone'] * 3600; $this->dst = 0; if ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) @@ -409,7 +409,7 @@ class user extends session } */ // Set up style - $style = ( $style ) ? $style : ( ( !$board_config['override_user_style'] && $this->data['user_id'] ) ? $this->data['user_style'] : $board_config['default_style'] ); + $style = ( $style ) ? $style : ( ( !$config['override_user_style'] && $this->data['user_id'] ) ? $this->data['user_style'] : $config['default_style'] ); $sql = "SELECT t.template_path, t.poll_length, t.pm_box_length, c.css_data, c.css_external, i.* FROM " . STYLES_TABLE . " s, " . STYLES_TPL_TABLE . " t, " . STYLES_CSS_TABLE . " c, " . STYLES_IMAGE_TABLE . " i @@ -426,7 +426,7 @@ class user extends session $template->set_template($this->theme['template_path']); - $this->img_lang = ( file_exists($phpbb_root_path . 'imagesets/' . $this->theme['imageset_path'] . '/' . $this->lang_name) ) ? $this->lang_name : $board_config['default_lang']; + $this->img_lang = ( file_exists($phpbb_root_path . 'imagesets/' . $this->theme['imageset_path'] . '/' . $this->lang_name) ) ? $this->lang_name : $config['default_lang']; return; } @@ -447,13 +447,14 @@ class user extends session return strtr(@gmdate($format, $gmepoch + $this->timezone + $this->dst), $lang_dates); } - function img($img, $alt = '', $tag = false) + function img($img, $alt = '', $width = false, $no_cache = false) { static $imgs; - if (empty($imgs[$img])) + if (empty($imgs[$img]) || $no_cache) { - $imgs[$img] = '<img src=' . str_replace('{LANG}', $this->img_lang, $this->theme[$img]) . '" alt="' . $this->lang[$alt] . '" title="' . $this->lang[$alt] . '" />'; + $width = ( $width ) ? 'width="' . $width . '" ' : ''; + $imgs[$img] = '<img src=' . str_replace('{LANG}', $this->img_lang, $this->theme[$img]) . '" ' . $width . 'alt="' . $this->lang[$alt] . '" title="' . $this->lang[$alt] . '" />'; } return $imgs[$img]; @@ -657,9 +658,9 @@ class auth // Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him. function login($username, $password, $autologin = false) { - global $board_config, $user, $phpEx; + global $config, $user, $phpEx; - $method = trim($board_config['auth_method']); + $method = trim($config['auth_method']); if ( file_exists('includes/auth/auth_' . $method . '.' . $phpEx) ) { diff --git a/phpBB/includes/topic_review.php b/phpBB/includes/topic_review.php index 6fc0a79592..e9c8ccc88b 100644 --- a/phpBB/includes/topic_review.php +++ b/phpBB/includes/topic_review.php @@ -23,7 +23,7 @@ function topic_review($topic_id, $is_inline_review) { - global $SID, $session, $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; + global $SID, $session, $db, $config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; global $userdata, $user_ip; global $orig_word, $replacement_word; global $starttime; @@ -38,8 +38,8 @@ function topic_review($topic_id, $is_inline_review) // // Get topic info ... // - $sql = "SELECT t.topic_title, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments - FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f + $sql = "SELECT t.topic_title, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments + FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f WHERE t.topic_id = $topic_id AND f.forum_id = t.forum_id"; if ( !($result = $db->sql_query($sql)) ) @@ -54,7 +54,7 @@ function topic_review($topic_id, $is_inline_review) $forum_id = $forum_row['forum_id']; $topic_title = $forum_row['topic_title']; - + // // Start session management // @@ -105,7 +105,7 @@ function topic_review($topic_id, $is_inline_review) AND p.poster_id = u.user_id AND p.post_id = pt.post_id ORDER BY p.post_time DESC - LIMIT " . $board_config['posts_per_page']; + LIMIT " . $config['posts_per_page']; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain post/user information', '', __LINE__, __FILE__, $sql); @@ -126,7 +126,7 @@ function topic_review($topic_id, $is_inline_review) $poster_id = $row['user_id']; $poster = $row['username']; - $post_date = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']); + $post_date = create_date($config['default_dateformat'], $row['post_time'], $config['board_timezone']); // // Handle anon users posting with usernames @@ -146,14 +146,14 @@ function topic_review($topic_id, $is_inline_review) // If the board has HTML off but the post has HTML // on then we process it, else leave it alone // - if ( !$board_config['allow_html'] && $row['enable_html'] ) + if ( !$config['allow_html'] && $row['enable_html'] ) { $message = preg_replace('#(<)([\/]?.*?)(>)#is', '<\2>', $message); } if ( $bbcode_uid != '' ) { - $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); + $message = ( $config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); } $message = make_clickable($message); @@ -164,7 +164,7 @@ function topic_review($topic_id, $is_inline_review) $message = preg_replace($orig_word, $replacement_word, $message); } - if ( $board_config['allow_smilies'] && $row['enable_smilies'] ) + if ( $config['allow_smilies'] && $row['enable_smilies'] ) { $message = smilies_pass($message); } @@ -179,15 +179,15 @@ function topic_review($topic_id, $is_inline_review) $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2']; $template->assign_block_vars('postrow', array( - 'ROW_COLOR' => '#' . $row_color, - 'ROW_CLASS' => $row_class, + 'ROW_COLOR' => '#' . $row_color, + 'ROW_CLASS' => $row_class, - 'MINI_POST_IMG' => $mini_post_img, - 'POSTER_NAME' => $poster, - 'POST_DATE' => $post_date, - 'POST_SUBJECT' => $post_subject, + 'MINI_POST_IMG' => $mini_post_img, + 'POSTER_NAME' => $poster, + 'POST_DATE' => $post_date, + 'POST_SUBJECT' => $post_subject, 'MESSAGE' => $message, - + 'L_MINI_POST_ALT' => $mini_post_alt) ); @@ -204,7 +204,7 @@ function topic_review($topic_id, $is_inline_review) 'L_AUTHOR' => $lang['Author'], 'L_MESSAGE' => $lang['Message'], 'L_POSTED' => $lang['Posted'], - 'L_POST_SUBJECT' => $lang['Post_subject'], + 'L_POST_SUBJECT' => $lang['Post_subject'], 'L_TOPIC_REVIEW' => $lang['Topic_review']) ); diff --git a/phpBB/includes/usercp_activate.php b/phpBB/includes/usercp_activate.php index cb2a38b2ac..e823e4d211 100644 --- a/phpBB/includes/usercp_activate.php +++ b/phpBB/includes/usercp_activate.php @@ -26,7 +26,7 @@ if ( !defined('IN_PHPBB') ) exit; } -$sql = "SELECT user_active, user_id, user_email, user_newpasswd, user_lang, user_actkey +$sql = "SELECT user_active, user_id, user_email, user_newpasswd, user_lang, user_actkey FROM " . USERS_TABLE . " WHERE user_id = " . intval($HTTP_GET_VARS[POST_USERS_URL]); if ( !($result = $db->sql_query($sql)) ) @@ -49,19 +49,19 @@ if ( $row = $db->sql_fetchrow($result) ) $sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . str_replace("\'", "''", $row['user_newpasswd']) . "', user_newpasswd = ''" : ''; $sql = "UPDATE " . USERS_TABLE . " - SET user_active = 1, user_actkey = ''" . $sql_update_pass . " - WHERE user_id = " . $row['user_id']; + SET user_active = 1, user_actkey = ''" . $sql_update_pass . " + WHERE user_id = " . $row['user_id']; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql_update); } - if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN && $sql_update_pass == '' ) + if ( $config['require_activation'] == USER_ACTIVATION_ADMIN && $sql_update_pass == '' ) { include($phpbb_root_path . 'includes/emailer.'.$phpEx); - $emailer = new emailer($board_config['smtp_delivery']); + $emailer = new emailer($config['smtp_delivery']); - $email_headers = 'From: ' . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\n"; + $email_headers = 'From: ' . $config['board_email'] . "\nReturn-Path: " . $config['board_email'] . "\n"; $emailer->use_template('admin_welcome_activated', $row['user_lang']); $emailer->email_address($row['user_email']); @@ -69,10 +69,10 @@ if ( $row = $db->sql_fetchrow($result) ) $emailer->extra_headers($email_headers); $emailer->assign_vars(array( - 'SITENAME' => $board_config['sitename'], + 'SITENAME' => $config['sitename'], 'USERNAME' => $username, 'PASSWORD' => $password_confirm, - 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig'])) + 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig'])) ); $emailer->send(); $emailer->reset(); @@ -89,7 +89,7 @@ if ( $row = $db->sql_fetchrow($result) ) 'META' => '<meta http-equiv="refresh" content="10;url=' . append_sid("index.$phpEx") . '">') ); - $message = ( $sql_update_pass == '' ) ? $lang['Account_active'] : $lang['Password_activated']; + $message = ( $sql_update_pass == '' ) ? $lang['Account_active'] : $lang['Password_activated']; message_die(GENERAL_MESSAGE, $message); } } diff --git a/phpBB/includes/usercp_avatar.php b/phpBB/includes/usercp_avatar.php index f8042dc62f..c7321d758c 100644 --- a/phpBB/includes/usercp_avatar.php +++ b/phpBB/includes/usercp_avatar.php @@ -49,13 +49,13 @@ function check_image_type(&$type, &$error, &$error_msg) function user_avatar_delete($avatar_type, $avatar_file) { - global $board_config, $userdata; + global $config, $userdata; if ( $avatar_type == USER_AVATAR_UPLOAD && $avatar_file != '' ) { - if ( @file_exists('./' . $board_config['avatar_path'] . '/' . $avatar_file) ) + if ( @file_exists('./' . $config['avatar_path'] . '/' . $avatar_file) ) { - @unlink('./' . $board_config['avatar_path'] . '/' . $avatar_file); + @unlink('./' . $config['avatar_path'] . '/' . $avatar_file); } } @@ -87,7 +87,7 @@ function user_avatar_url($mode, &$error, &$error_msg, $avatar_filename) function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$error, &$error_msg, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype) { - global $board_config, $user_ip, $db, $lang; + global $config, $user_ip, $db, $lang; $ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var'; @@ -117,7 +117,7 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ unset($avatar_data); while( !@feof($fsock) ) { - $avatar_data .= @fread($fsock, $board_config['avatar_filesize']); + $avatar_data .= @fread($fsock, $config['avatar_filesize']); } @fclose($fsock); @@ -131,11 +131,11 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ $avatar_filesize = $file_data1[1]; $avatar_filetype = $file_data2[1]; - if ( !$error && $avatar_filesize > 0 && $avatar_filesize < $board_config['avatar_filesize'] ) + if ( !$error && $avatar_filesize > 0 && $avatar_filesize < $config['avatar_filesize'] ) { $avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize); - $tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $board_config['avatar_path'] . '/tmp'; + $tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $config['avatar_path'] . '/tmp'; $tmp_filename = tempnam($tmp_path, uniqid($user_ip) . '-'); $fptr = @fopen($tmp_filename, 'wb'); @@ -152,7 +152,7 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ } else { - $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['avatar_filesize'] / 1024)); + $l_avatar_size = sprintf($lang['Avatar_filesize'], round($config['avatar_filesize'] / 1024)); $error = true; $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; @@ -160,14 +160,14 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ } else if ( $avatar_mode == 'local' && file_exists($avatar_filename) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) ) { - if ( $avatar_filesize <= $board_config['avatar_filesize'] && $avatar_filesize > 0 ) + if ( $avatar_filesize <= $config['avatar_filesize'] && $avatar_filesize > 0 ) { preg_match('#image\/[x\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype); $avatar_filetype = $avatar_filetype[1]; } else { - $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['avatar_filesize'] / 1024)); + $l_avatar_size = sprintf($lang['Avatar_filesize'], round($config['avatar_filesize'] / 1024)); $error = true; $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; @@ -182,21 +182,21 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ return; } - if ( $width <= $board_config['avatar_max_width'] && $height <= $board_config['avatar_max_height'] ) + if ( $width <= $config['avatar_max_width'] && $height <= $config['avatar_max_height'] ) { $new_filename = uniqid() . $imgtype; if ( $mode == 'editprofile' && $current_type == USER_AVATAR_UPLOAD && $current_avatar != '' ) { - if ( file_exists('./' . $board_config['avatar_path'] . '/' . $current_avatar) ) + if ( file_exists('./' . $config['avatar_path'] . '/' . $current_avatar) ) { - @unlink('./' . $board_config['avatar_path'] . '/' . $current_avatar); + @unlink('./' . $config['avatar_path'] . '/' . $current_avatar); } } if( $avatar_mode == 'remote' ) { - @copy($tmp_filename, './' . $board_config['avatar_path'] . "/$new_filename"); + @copy($tmp_filename, './' . $config['avatar_path'] . "/$new_filename"); @unlink($tmp_filename); } else @@ -215,16 +215,16 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ $move_file = 'copy'; } - $move_file($avatar_filename, './' . $board_config['avatar_path'] . "/$new_filename"); + $move_file($avatar_filename, './' . $config['avatar_path'] . "/$new_filename"); } - @chmod('./' . $board_config['avatar_path'] . "/$new_filename", 0777); + @chmod('./' . $config['avatar_path'] . "/$new_filename", 0777); $avatar_sql = ( $mode == 'editprofile' ) ? ", user_avatar = '$new_filename', user_avatar_type = " . USER_AVATAR_UPLOAD : "'$new_filename', " . USER_AVATAR_UPLOAD; } else { - $l_avatar_size = sprintf($lang['Avatar_imagesize'], $board_config['avatar_max_width'], $board_config['avatar_max_height']); + $l_avatar_size = sprintf($lang['Avatar_imagesize'], $config['avatar_max_width'], $config['avatar_max_height']); $error = true; $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size; @@ -235,17 +235,17 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$dateformat) { - global $board_config, $db, $template, $lang, $images, $theme; + global $config, $db, $template, $lang, $images, $theme; global $phpbb_root_path, $phpEx; - $dir = @opendir($board_config['avatar_gallery_path']); + $dir = @opendir($config['avatar_gallery_path']); $avatar_images = array(); while( $file = @readdir($dir) ) { - if( $file != '.' && $file != '..' && !is_file($board_config['avatar_gallery_path'] . '/' . $file) && !is_link($board_config['avatar_gallery_path'] . '/' . $file) ) + if( $file != '.' && $file != '..' && !is_file($config['avatar_gallery_path'] . '/' . $file) && !is_link($config['avatar_gallery_path'] . '/' . $file) ) { - $sub_dir = @opendir($board_config['avatar_gallery_path'] . '/' . $file); + $sub_dir = @opendir($config['avatar_gallery_path'] . '/' . $file); $avatar_row_count = 0; $avatar_col_count = 0; @@ -299,7 +299,7 @@ function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current for($j = 0; $j < count($avatar_images[$category][$i]); $j++) { $template->assign_block_vars('avatar_row.avatar_column', array( - "AVATAR_IMAGE" => $board_config['avatar_gallery_path'] . '/' . $avatar_images[$category][$i][$j], + "AVATAR_IMAGE" => $config['avatar_gallery_path'] . '/' . $avatar_images[$category][$i][$j], "AVATAR_NAME" => $avatar_name[$category][$i][$j]) ); diff --git a/phpBB/includes/usercp_email.php b/phpBB/includes/usercp_email.php index 5038a9024d..64f750c09c 100644 --- a/phpBB/includes/usercp_email.php +++ b/phpBB/includes/usercp_email.php @@ -1,6 +1,6 @@ <?php /*************************************************************************** - * usercp_email.php + * usercp_email.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group @@ -40,20 +40,20 @@ if ( $userdata['user_id'] == ANONYMOUS ) exit; } -$sql = "SELECT username, user_email, user_viewemail, user_lang - FROM " . USERS_TABLE . " +$sql = "SELECT username, user_email, user_viewemail, user_lang + FROM " . USERS_TABLE . " WHERE user_id = $user_id"; $result = $db->sql_query($sql); if ( $row = $db->sql_fetchrow($result) ) { $username = $row['username']; - $user_email = $row['user_email']; + $user_email = $row['user_email']; $user_lang = $row['user_lang']; if ( $row['user_viewemail'] || $userdata['user_level'] == ADMIN ) { - if ( time() - $userdata['user_emailtime'] < $board_config['flood_interval'] ) + if ( time() - $userdata['user_emailtime'] < $config['flood_interval'] ) { message_die(MESSAGE, $lang['Flood_email_limit']); } @@ -84,13 +84,13 @@ if ( $row = $db->sql_fetchrow($result) ) if ( !$error ) { - $sql = "UPDATE " . USERS_TABLE . " - SET user_emailtime = " . time() . " + $sql = "UPDATE " . USERS_TABLE . " + SET user_emailtime = " . time() . " WHERE user_id = " . $userdata['user_id']; $result = $db->sql_query($sql); - + include($phpbb_root_path . 'includes/emailer.'.$phpEx); - $emailer = new emailer($board_config['smtp_delivery']); + $emailer = new emailer($config['smtp_delivery']); $email_headers = 'From: ' . $userdata['user_email'] . "\n"; if ( !empty($HTTP_POST_VARS['cc_email']) ) @@ -109,10 +109,10 @@ if ( $row = $db->sql_fetchrow($result) ) $emailer->extra_headers($email_headers); $emailer->assign_vars(array( - 'SITENAME' => $board_config['sitename'], - 'BOARD_EMAIL' => $board_config['board_email'], - 'FROM_USERNAME' => $userdata['username'], - 'TO_USERNAME' => $username, + 'SITENAME' => $config['sitename'], + 'BOARD_EMAIL' => $config['board_email'], + 'FROM_USERNAME' => $userdata['username'], + 'TO_USERNAME' => $username, 'MESSAGE' => $message) ); $emailer->send(); @@ -149,17 +149,17 @@ if ( $row = $db->sql_fetchrow($result) ) $template->assign_vars(array( 'USERNAME' => $username, - 'S_POST_ACTION' => "profile.$phpEx$SID&mode=email&u=$user_id", + 'S_POST_ACTION' => "profile.$phpEx$SID&mode=email&u=$user_id", - 'L_SEND_EMAIL_MSG' => $lang['Send_email_msg'], - 'L_RECIPIENT' => $lang['Recipient'], + 'L_SEND_EMAIL_MSG' => $lang['Send_email_msg'], + 'L_RECIPIENT' => $lang['Recipient'], 'L_SUBJECT' => $lang['Subject'], - 'L_MESSAGE_BODY' => $lang['Message_body'], - 'L_MESSAGE_BODY_DESC' => $lang['Email_message_desc'], + 'L_MESSAGE_BODY' => $lang['Message_body'], + 'L_MESSAGE_BODY_DESC' => $lang['Email_message_desc'], 'L_EMPTY_SUBJECT_EMAIL' => $lang['Empty_subject_email'], 'L_EMPTY_MESSAGE_EMAIL' => $lang['Empty_message_email'], 'L_OPTIONS' => $lang['Options'], - 'L_CC_EMAIL' => $lang['CC_email'], + 'L_CC_EMAIL' => $lang['CC_email'], 'L_SPELLCHECK' => $lang['Spellcheck'], 'L_SEND_EMAIL' => $lang['Send_email']) ); diff --git a/phpBB/includes/usercp_register.php b/phpBB/includes/usercp_register.php index ac241695e7..e443f37e59 100644 --- a/phpBB/includes/usercp_register.php +++ b/phpBB/includes/usercp_register.php @@ -50,18 +50,26 @@ function show_coppa() "U_AGREE_UNDER13" => "profile.$phpEx$SID&mode=register&agreed=true&coppa=true") ); } +// +// --------------------------------------- -function update_user($mode) -{ -} // -// --------------------------------------- +// +// +if ($mode == 'register' && $config['require_activation'] == USER_ACTIVATION_DISABLE) +{ + trigger_error($user->lang['Cannot_register']); +} + +// +// +// $error = FALSE; -$page_title = ( $mode == 'editprofile' ) ? $user->lang['Edit_profile'] : $user->lang['Register']; +$page_title = ($mode == 'editprofile') ? $user->lang['Edit_profile'] : $user->lang['Register']; -if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) ) +if ($mode == 'register' && !isset($_POST['agreed']) && !isset($_GET['agreed']) && $config['enable_coppa']) { include($phpbb_root_path . 'includes/page_header.'.$phpEx); @@ -70,45 +78,36 @@ if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GE include($phpbb_root_path . 'includes/page_tail.'.$phpEx); } -$coppa = ( empty($HTTP_POST_VARS['coppa']) && empty($HTTP_GET_VARS['coppa']) ) ? 0 : TRUE; +$coppa = ( empty($_POST['coppa']) && empty($_GET['coppa']) ) ? 0 : TRUE; // // Check and initialize some variables if needed // -if ( - isset($HTTP_POST_VARS['submit']) || - isset($HTTP_POST_VARS['avatargallery']) || - isset($HTTP_POST_VARS['submitavatar']) || - isset($HTTP_POST_VARS['cancelavatar']) || - $mode == 'register' ) +if (isset($_POST['submit']) || $mode == 'register') { - include($phpbb_root_path . 'includes/functions_validate.'.$phpEx); - include($phpbb_root_path . 'includes/bbcode.'.$phpEx); - include($phpbb_root_path . 'includes/functions_posting.'.$phpEx); - - if ( $mode == 'editprofile' ) + if ($mode == 'editprofile') { - $user_id = intval($HTTP_POST_VARS['user_id']); - $current_email = trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['current_email']))); + $user_id = intval($_POST['user_id']); + $current_email = trim(strip_tags(htmlspecialchars($_POST['current_email']))); } $strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests'); - while( list($var, $param) = @each($strip_var_list) ) + foreach ($strip_var_list as $var => $param) { - if ( !empty($HTTP_POST_VARS[$param]) ) + if ( !empty($_POST[$param]) ) { - $$var = trim(strip_tags($HTTP_POST_VARS[$param])); + $$var = trim(strip_tags($_POST[$param])); } } $trim_var_list = array('password_current' => 'cur_password', 'password' => 'new_password', 'password_confirm' => 'password_confirm', 'signature' => 'signature'); - while( list($var, $param) = @each($trim_var_list) ) + foreach ($strip_var_list as $var => $param) { - if ( !empty($HTTP_POST_VARS[$param]) ) + if ( !empty($_POST[$param]) ) { - $$var = trim($HTTP_POST_VARS[$param]); + $$var = trim($_POST[$param]); } } @@ -120,36 +119,36 @@ if ( // empty strings if they fail. validate_optional_fields($icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature); - $viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : 0; - $allowviewonline = ( isset($HTTP_POST_VARS['hideonline']) ) ? ( ($HTTP_POST_VARS['hideonline']) ? 0 : TRUE ) : TRUE; - $notifyreply = ( isset($HTTP_POST_VARS['notifyreply']) ) ? ( ($HTTP_POST_VARS['notifyreply']) ? TRUE : 0 ) : 0; - $notifypm = ( isset($HTTP_POST_VARS['notifypm']) ) ? ( ($HTTP_POST_VARS['notifypm']) ? TRUE : 0 ) : TRUE; - $popuppm = ( isset($HTTP_POST_VARS['popup_pm']) ) ? ( ($HTTP_POST_VARS['popup_pm']) ? TRUE : 0 ) : TRUE; + $viewemail = ( isset($_POST['viewemail']) ) ? ( ($_POST['viewemail']) ? TRUE : 0 ) : 0; + $allowviewonline = ( isset($_POST['hideonline']) ) ? ( ($_POST['hideonline']) ? 0 : TRUE ) : TRUE; + $notifyreply = ( isset($_POST['notifyreply']) ) ? ( ($_POST['notifyreply']) ? TRUE : 0 ) : 0; + $notifypm = ( isset($_POST['notifypm']) ) ? ( ($_POST['notifypm']) ? TRUE : 0 ) : TRUE; + $popuppm = ( isset($_POST['popup_pm']) ) ? ( ($_POST['popup_pm']) ? TRUE : 0 ) : TRUE; if ( $mode == 'register' ) { - $attachsig = ( isset($HTTP_POST_VARS['attachsig']) ) ? ( ($HTTP_POST_VARS['attachsig']) ? TRUE : 0 ) : $board_config['allow_sig']; + $attachsig = ( isset($_POST['attachsig']) ) ? ( ($_POST['attachsig']) ? TRUE : 0 ) : $config['allow_sig']; - $allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $board_config['allow_html']; - $allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( ($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $board_config['allow_bbcode']; - $allowsmilies = ( isset($HTTP_POST_VARS['allowsmilies']) ) ? ( ($HTTP_POST_VARS['allowsmilies']) ? TRUE : 0 ) : $board_config['allow_smilies']; + $allowhtml = ( isset($_POST['allowhtml']) ) ? ( ($_POST['allowhtml']) ? TRUE : 0 ) : $config['allow_html']; + $allowbbcode = ( isset($_POST['allowbbcode']) ) ? ( ($_POST['allowbbcode']) ? TRUE : 0 ) : $config['allow_bbcode']; + $allowsmilies = ( isset($_POST['allowsmilies']) ) ? ( ($_POST['allowsmilies']) ? TRUE : 0 ) : $config['allow_smilies']; } else { - $attachsig = ( isset($HTTP_POST_VARS['attachsig']) ) ? ( ($HTTP_POST_VARS['attachsig']) ? TRUE : 0 ) : 0; + $attachsig = ( isset($_POST['attachsig']) ) ? ( ($_POST['attachsig']) ? TRUE : 0 ) : 0; - $allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $userdata['user_allowhtml']; - $allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( ($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $userdata['user_allowbbcode']; - $allowsmilies = ( isset($HTTP_POST_VARS['allowsmilies']) ) ? ( ($HTTP_POST_VARS['allowsmilies']) ? TRUE : 0 ) : $userdata['user_allowsmiles']; + $allowhtml = ( isset($_POST['allowhtml']) ) ? ( ($_POST['allowhtml']) ? TRUE : 0 ) : $user->data['user_allowhtml']; + $allowbbcode = ( isset($_POST['allowbbcode']) ) ? ( ($_POST['allowbbcode']) ? TRUE : 0 ) : $user->data['user_allowbbcode']; + $allowsmilies = ( isset($_POST['allowsmilies']) ) ? ( ($_POST['allowsmilies']) ? TRUE : 0 ) : $user->data['user_allowsmiles']; } - $user_style = ( isset($HTTP_POST_VARS['style']) ) ? intval($HTTP_POST_VARS['style']) : $board_config['default_style']; + $user_style = ( isset($_POST['style']) ) ? intval($_POST['style']) : $config['default_style']; - if ( !empty($HTTP_POST_VARS['language']) ) + if ( !empty($_POST['language']) ) { - if ( preg_match('/^[a-z_]+$/i', $HTTP_POST_VARS['language']) ) + if ( preg_match('/^[a-z_]+$/i', $_POST['language']) ) { - $user_lang = $HTTP_POST_VARS['language']; + $user_lang = $_POST['language']; } else { @@ -159,63 +158,23 @@ if ( } else { - $user_lang = $board_config['default_lang']; + $user_lang = $config['default_lang']; } - $user_timezone = ( isset($HTTP_POST_VARS['timezone']) ) ? doubleval($HTTP_POST_VARS['timezone']) : $board_config['board_timezone']; - $user_dateformat = ( !empty($HTTP_POST_VARS['dateformat']) ) ? trim($HTTP_POST_VARS['dateformat']) : $board_config['default_dateformat']; - - $user_avatar_local = ( isset($HTTP_POST_VARS['avatarselect']) && !empty($HTTP_POST_VARS['submitavatar']) && $board_config['allow_avatar_local'] ) ? $HTTP_POST_VARS['avatarselect'] : ( ( isset($HTTP_POST_VARS['avatarlocal']) ) ? $HTTP_POST_VARS['avatarlocal'] : '' ); - - $user_avatar_remoteurl = ( !empty($HTTP_POST_VARS['avatarremoteurl']) ) ? trim($HTTP_POST_VARS['avatarremoteurl']) : ''; - $user_avatar_upload = ( !empty($HTTP_POST_VARS['avatarurl']) ) ? trim($HTTP_POST_VARS['avatarurl']) : ( ( $HTTP_POST_FILES['avatar']['tmp_name'] != "none") ? $HTTP_POST_FILES['avatar']['tmp_name'] : '' ); - $user_avatar_name = ( !empty($HTTP_POST_FILES['avatar']['name']) ) ? $HTTP_POST_FILES['avatar']['name'] : ''; - $user_avatar_size = ( !empty($HTTP_POST_FILES['avatar']['size']) ) ? $HTTP_POST_FILES['avatar']['size'] : 0; - $user_avatar_filetype = ( !empty($HTTP_POST_FILES['avatar']['type']) ) ? $HTTP_POST_FILES['avatar']['type'] : ''; - - $user_avatar = ( empty($user_avatar_loc) && $mode == 'editprofile' ) ? $userdata['user_avatar'] : ''; - $user_avatar_type = ( empty($user_avatar_loc) && $mode == 'editprofile' ) ? $userdata['user_avatar_type'] : ''; + $user_timezone = ( isset($_POST['timezone']) ) ? doubleval($_POST['timezone']) : $config['board_timezone']; + $user_dateformat = ( !empty($_POST['dateformat']) ) ? trim($_POST['dateformat']) : $config['default_dateformat']; - if ( isset($HTTP_POST_VARS['avatargallery']) || isset($HTTP_POST_VARS['submitavatar']) || isset($HTTP_POST_VARS['cancelavatar']) ) - { - $username = stripslashes($username); - $email = stripslashes($email); - $password = ''; - $password_confirm = ''; - - $icq = stripslashes($icq); - $aim = stripslashes($aim); - $msn = stripslashes($msn); - $yim = stripslashes($yim); - - $website = stripslashes($website); - $location = stripslashes($location); - $occupation = stripslashes($occupation); - $interests = stripslashes($interests); - $signature = stripslashes($signature); - - $user_lang = stripslashes($user_lang); - $user_dateformat = stripslashes($user_dateformat); - - if ( !isset($HTTP_POST_VARS['cancelavatar'])) - { - $user_avatar = $user_avatar_local; - $user_avatar_type = USER_AVATAR_GALLERY; - } - } } // // Did the user submit? In this case build a query to update the users profile in the DB // -if ( isset($HTTP_POST_VARS['submit']) ) +if (isset($_POST['submit'])) { - include($phpbb_root_path . 'includes/usercp_avatar.'.$phpEx); - $passwd_sql = ''; if ( $mode == 'editprofile' ) { - if ( $user_id != $userdata['user_id'] ) + if ( $user_id != $user->data['user_id'] ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $user->lang['Wrong_Profile']; @@ -251,10 +210,7 @@ if ( isset($HTTP_POST_VARS['submit']) ) $sql = "SELECT user_password FROM " . USERS_TABLE . " WHERE user_id = $user_id"; - if ( !($result = $db->sql_query($sql)) ) - { - message_die(GENERAL_ERROR, 'Could not obtain user_password information', '', __LINE__, __FILE__, $sql); - } + $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); @@ -279,21 +235,20 @@ if ( isset($HTTP_POST_VARS['submit']) ) } else { - $password = $userdata['user_password']; + $password = $user->data['user_password']; } // // Do a ban check on this email address // - if ( $email != $userdata['user_email'] || $mode == 'register' ) + if ( $email != $user->data['user_email'] || $mode == 'register' ) { - $result = validate_email($email); - if ( $result['error'] ) + if (($result = validate_email($email)) != false) { - $email = $userdata['user_email']; + $email = $user->data['user_email']; $error = TRUE; - $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result['error_msg']; + $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result; } if ( $mode == 'editprofile' ) @@ -301,16 +256,13 @@ if ( isset($HTTP_POST_VARS['submit']) ) $sql = "SELECT user_password FROM " . USERS_TABLE . " WHERE user_id = $user_id"; - if ( !($result = $db->sql_query($sql)) ) - { - message_die(GENERAL_ERROR, 'Could not obtain user_password information', '', __LINE__, __FILE__, $sql); - } + $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); if ( $row['user_password'] != md5($password_current) ) { - $email = $userdata['user_email']; + $email = $user->data['user_email']; $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $user->lang['Current_password_mismatch']; @@ -319,31 +271,30 @@ if ( isset($HTTP_POST_VARS['submit']) ) } $username_sql = ''; - if ( $board_config['allow_namechange'] || $mode == 'register' ) + if ( $config['allow_namechange'] || $mode == 'register' ) { if ( empty($username) ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $user->lang['Username_disallowed']; } - else if ( $username != $userdata['username'] || $mode == 'register' ) + else if ( $username != $user->data['username'] || $mode == 'register' ) { - $result = validate_username($username); - if ( $result['error'] ) + if (($result = validate_username($username)) != false) { $error = TRUE; - $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result['error_msg']; + $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result; } else { - $username_sql = "username = '" . str_replace("\'", "''", $username) . "', "; + $username_sql = "username = '" . sql_quote($username) . "', "; } } } if ( $signature != '' ) { - if ( strlen($signature) > $board_config['max_sig_chars'] ) + if ( strlen($signature) > $config['max_sig_chars'] ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $user->lang['Signature_too_long']; @@ -351,46 +302,14 @@ if ( isset($HTTP_POST_VARS['submit']) ) if ( $signature_bbcode_uid == '' ) { - $signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : ''; +// $signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : ''; } - $signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid); - } - - if ( isset($HTTP_POST_VARS['avatardel']) && $mode == 'editprofile' ) - { - $avatar_sql = user_avatar_delete($userdata['avatar_type'], $userdata['avatar_file']); - } - else if ( ( !empty($user_avatar_upload) || !empty($user_avatar_name) ) && $board_config['allow_avatar_upload'] ) - { - if ( !empty($user_avatar_upload) ) - { - $avatar_mode = ( !empty($user_avatar_name) ) ? 'local' : 'remote'; - $avatar_sql = user_avatar_upload($mode, $avatar_mode, $userdata['user_avatar'], $userdata['user_avatar_type'], $error, $error_msg, $user_avatar_upload, $user_avatar_name, $user_avatar_size, $user_avatar_filetype); - } - else if ( !empty($user_avatar_name) ) - { - $l_avatar_size = sprintf($user->lang['Avatar_filesize'], round($board_config['avatar_filesize'] / 1024)); - - $error = true; - $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $l_avatar_size; - } - } - else if ( $user_avatar_remoteurl != '' && $board_config['allow_avatar_remote'] ) - { - $avatar_sql = user_avatar_url($mode, $error, $error_msg, $user_avatar_remoteurl); - } - else if ( $user_avatar_local != '' && $board_config['allow_avatar_local'] ) - { - $avatar_sql = user_avatar_gallery($mode, $error, $error_msg, $user_avatar_local); - } - else - { - $avatar_sql = array('data' => '', 'type' => USER_AVATAR_NONE); +// $signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid); } if ( !$error ) { - if ( ( ( $mode == 'editprofile' && $userdata['user_level'] != ADMIN && $email != $current_email ) || ( $mode == 'register' || $coppa ) ) && ( $board_config['require_activation'] == USER_ACTIVATION_SELF || $board_config['require_activation'] == USER_ACTIVATION_ADMIN ) ) + if ( ( ( $mode == 'editprofile' && $auth->acl_get('a_') && $email != $current_email ) || ( $mode == 'register' || $coppa ) ) && ( $config['require_activation'] == USER_ACTIVATION_SELF || $config['require_activation'] == USER_ACTIVATION_ADMIN ) ) { $user_actkey = gen_rand_string(true); $key_len = 54 - (strlen($server_url)); @@ -399,9 +318,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) $user_actkey = substr($user_actkey, 0, $key_len); $user_active = 0; - if ( $userdata['user_id'] != ANONYMOUS ) + if ( $user->data['user_id'] != ANONYMOUS ) { - session_end($userdata['session_id'], $userdata['user_id']); + $user->destroy(); } } else @@ -446,12 +365,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) 'user_actkey' => $user_actkey ); - if ( $mode == 'editprofile' ) + if ($mode == 'editprofile') { - if ( !($result = $db->sql_query_array('UPDATE ' . USERS_TABLE . ' SET WHERE user_id = ' . $user_id, &$sql_ary, BEGIN_TRANSACTION)) ) - { - message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql); - } + $db->sql_query_array('UPDATE ' . USERS_TABLE . ' SET WHERE user_id = ' . $user_id, &$sql_ary); if ( !$user_active ) { @@ -459,9 +375,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) // The users account has been deactivated, send them an email with a new activation key // include($phpbb_root_path . 'includes/emailer.'.$phpEx); - $emailer = new emailer($board_config['smtp_delivery']); + $emailer = new emailer($config['smtp_delivery']); - $email_headers = "From: " . $board_config['board_email'] . "\r\nReturn-Path: " . $board_config['board_email'] . "\r\n"; + $email_headers = "From: " . $config['board_email'] . "\r\nReturn-Path: " . $config['board_email'] . "\r\n"; $emailer->use_template('user_activate', stripslashes($user_lang)); $emailer->email_address($email); @@ -469,9 +385,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) $emailer->extra_headers($email_headers); $emailer->assign_vars(array( - 'SITENAME' => $board_config['sitename'], + 'SITENAME' => $config['sitename'], 'USERNAME' => $username, - 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']), + 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']), 'U_ACTIVATE' => $server_url . '?mode=activate&act_key=' . $user_actkey) ); @@ -488,61 +404,51 @@ if ( isset($HTTP_POST_VARS['submit']) ) $template->assign_vars(array( "META" => '<meta http-equiv="refresh" content="5;url=' . "index.$phpEx$SID" . '">') ); - - message_die(GENERAL_MESSAGE, $message); + trigger_error($message); } else { - if ( !($result = $db->sql_query_array('INSERT INTO ' . USERS_TABLE, &$sql_ary, BEGIN_TRANSACTION)) ) - { - message_die(GENERAL_ERROR, 'Could not insert data into users table', '', __LINE__, __FILE__, $sql); - } + $db->sql_transaction(); - $user_id = $db->sql_nextid(); + $db->sql_query_array('INSERT INTO ' . USERS_TABLE, &$sql_ary); - $sql = "INSERT INTO " . GROUPS_TABLE . " (group_name, group_description, group_single_user, group_moderator) - VALUES ('', 'Personal User', 1, 0)"; - if ( !($result = $db->sql_query($sql)) ) - { - message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql); - } + $user_id = $db->sql_nextid(); - $group_id = $db->sql_nextid(); + // Place into appropriate group, either REGISTERED or INACTIVE depending on config + $group_name = ( $config['require_activation'] == USER_ACTIVATION_NONE ) ? 'REGISTERED' : 'REGISTERED_INACTIVE'; + $sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) SELECT $user_id, group_id, 0 FROM " . GROUPS_TABLE . " WHERE group_name = '$group_name'"; + $result = $db->sql_query($sql); - $sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) - VALUES ($user_id, $group_id, 0)"; - if( !($result = $db->sql_query($sql)) ) + if ($config['require_activation'] == USER_ACTIVATION_NONE) { - message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql); + // Sync config + $sql = "UPDATE " . CONFIG_TABLE . " + SET config_value = $user_id + WHERE config_name = 'newest_user_id'"; + $db->sql_query($sql); + $sql = "UPDATE " . CONFIG_TABLE . " + SET config_value = '$username' + WHERE config_name = 'newest_username'"; + $db->sql_query($sql); + $sql = "UPDATE " . CONFIG_TABLE . " + SET config_value = " . ($config['num_users'] + 1) . " + WHERE config_name = 'num_users'"; + $db->sql_query($sql); } - $user_update_id = "UPDATE " . CONFIG_TABLE . " - SET config_value = $user_id - WHERE config_name = 'newest_user_id'"; - $user_update_name = "UPDATE " . CONFIG_TABLE . " - SET config_value = '$username' - WHERE config_name = 'newest_username'"; - $user_update_count = "UPDATE " . CONFIG_TABLE . " - SET config_value = " . ($board_config['num_users'] + 1) . " - WHERE config_name = 'num_users'"; - if( !$db->sql_query($user_update_id) || - !$db->sql_query($user_update_name) || - !$db->sql_query($user_update_count, END_TRANSACTION) ) - { - message_die(GENERAL_ERROR, 'Could not update user count information!', '', __LINE__, __FILE__); - } + $db->sql_transaction('commit'); if ( $coppa ) { $message = $user->lang['COPPA']; $email_template = 'coppa_welcome_inactive'; } - else if ( $board_config['require_activation'] == USER_ACTIVATION_SELF ) + else if ( $config['require_activation'] == USER_ACTIVATION_SELF ) { $message = $user->lang['Account_inactive']; $email_template = 'user_welcome_inactive'; } - else if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN ) + else if ( $config['require_activation'] == USER_ACTIVATION_ADMIN ) { $message = $user->lang['Account_inactive_admin']; $email_template = 'admin_welcome_inactive'; @@ -554,28 +460,28 @@ if ( isset($HTTP_POST_VARS['submit']) ) } include($phpbb_root_path . 'includes/emailer.'.$phpEx); - $emailer = new emailer($board_config['smtp_delivery']); + $emailer = new emailer($config['smtp_delivery']); - $email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n"; + $email_headers = "From: " . $config['board_email'] . "\nReturn-Path: " . $config['board_email'] . "\r\n"; $emailer->use_template($email_template, stripslashes($user_lang)); $emailer->email_address($email); - $emailer->set_subject();//sprintf($user->lang['Welcome_subject'], $board_config['sitename']) + $emailer->set_subject();//sprintf($user->lang['Welcome_subject'], $config['sitename']) $emailer->extra_headers($email_headers); - if( $coppa ) + if ($coppa) { $emailer->assign_vars(array( - 'SITENAME' => $board_config['sitename'], - 'WELCOME_MSG' => sprintf($user->lang['Welcome_subject'], $board_config['sitename']), + 'SITENAME' => $config['sitename'], + 'WELCOME_MSG' => sprintf($user->lang['Welcome_subject'], $config['sitename']), 'USERNAME' => $username, 'PASSWORD' => $password_confirm, - 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']), + 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']), 'U_ACTIVATE' => $server_url . '?mode=activate&act_key=' . $user_actkey, - 'FAX_INFO' => $board_config['coppa_fax'], - 'MAIL_INFO' => $board_config['coppa_mail'], + 'FAX_INFO' => $config['coppa_fax'], + 'MAIL_INFO' => $config['coppa_mail'], 'EMAIL_ADDRESS' => $email, 'ICQ' => $icq, 'AIM' => $aim, @@ -585,16 +491,16 @@ if ( isset($HTTP_POST_VARS['submit']) ) 'FROM' => $location, 'OCC' => $occupation, 'INTERESTS' => $interests, - 'SITENAME' => $board_config['sitename'])); + 'SITENAME' => $config['sitename'])); } else { $emailer->assign_vars(array( - 'SITENAME' => $board_config['sitename'], - 'WELCOME_MSG' => sprintf($user->lang['Welcome_subject'], $board_config['sitename']), + 'SITENAME' => $config['sitename'], + 'WELCOME_MSG' => sprintf($user->lang['Welcome_subject'], $config['sitename']), 'USERNAME' => $username, 'PASSWORD' => $password_confirm, - 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']), + 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']), 'U_ACTIVATE' => $server_url . '?mode=activate&act_key=' . $user_actkey) ); @@ -603,16 +509,16 @@ if ( isset($HTTP_POST_VARS['submit']) ) $emailer->send(); $emailer->reset(); - if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN ) + if ( $config['require_activation'] == USER_ACTIVATION_ADMIN ) { $emailer->use_template("admin_activate", stripslashes($user_lang)); - $emailer->email_address($board_config['board_email']); + $emailer->email_address($config['board_email']); $emailer->set_subject(); //$user->lang['New_account_subject'] $emailer->extra_headers($email_headers); $emailer->assign_vars(array( 'USERNAME' => $username, - 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']), + 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']), 'U_ACTIVATE' => $server_url . '?mode=activate&act_key=' . $user_actkey) ); @@ -651,79 +557,57 @@ if ( $error ) $user_lang = stripslashes($user_lang); $user_dateformat = stripslashes($user_dateformat); - } -else if ( $mode == 'editprofile' && !isset($HTTP_POST_VARS['avatargallery']) && !isset($HTTP_POST_VARS['submitavatar']) && !isset($HTTP_POST_VARS['cancelavatar']) ) +else if ( $mode == 'editprofile' ) { - $user_id = $userdata['user_id']; - $username = htmlspecialchars($userdata['username']); - $email = $userdata['user_email']; + $user_id = $user->data['user_id']; + $username = htmlspecialchars($user->data['username']); + $email = $user->data['user_email']; $password = ''; $password_confirm = ''; - $icq = $userdata['user_icq']; - $aim = htmlspecialchars(str_replace('+', ' ', $userdata['user_aim'])); - $msn = htmlspecialchars($userdata['user_msnm']); - $yim = htmlspecialchars($userdata['user_yim']); - - $website = htmlspecialchars($userdata['user_website']); - $location = htmlspecialchars($userdata['user_from']); - $occupation = htmlspecialchars($userdata['user_occ']); - $interests = htmlspecialchars($userdata['user_interests']); - $signature_bbcode_uid = $userdata['user_sig_bbcode_uid']; - $signature = ( $signature_bbcode_uid != '' ) ? preg_replace("/\:(([a-z0-9]:)?)$signature_bbcode_uid/si", '', $userdata['user_sig']) : $userdata['user_sig']; - - $viewemail = $userdata['user_viewemail']; - $notifypm = $userdata['user_notify_pm']; - $popuppm = $userdata['user_popup_pm']; - $notifyreply = $userdata['user_notify']; - $attachsig = $userdata['user_attachsig']; - $allowhtml = $userdata['user_allowhtml']; - $allowbbcode = $userdata['user_allowbbcode']; - $allowsmilies = $userdata['user_allowsmile']; - $allowviewonline = $userdata['user_allow_viewonline']; - - $user_avatar = ( $userdata['user_allowavatar'] ) ? $userdata['user_avatar'] : ''; - $user_avatar_type = ( $userdata['user_allowavatar'] ) ? $userdata['user_avatar_type'] : USER_AVATAR_NONE; - - $user_style = $userdata['user_style']; - $user_lang = $userdata['user_lang']; - $user_timezone = $userdata['user_timezone']; - $user_dateformat = $userdata['user_dateformat']; + $icq = $user->data['user_icq']; + $aim = htmlspecialchars(str_replace('+', ' ', $user->data['user_aim'])); + $msn = htmlspecialchars($user->data['user_msnm']); + $yim = htmlspecialchars($user->data['user_yim']); + + $website = htmlspecialchars($user->data['user_website']); + $location = htmlspecialchars($user->data['user_from']); + $occupation = htmlspecialchars($user->data['user_occ']); + $interests = htmlspecialchars($user->data['user_interests']); + $signature_bbcode_uid = $user->data['user_sig_bbcode_uid']; + $signature = ( $signature_bbcode_uid != '' ) ? preg_replace("/\:(([a-z0-9]:)?)$signature_bbcode_uid/si", '', $user->data['user_sig']) : $user->data['user_sig']; + + $viewemail = $user->data['user_viewemail']; + $notifypm = $user->data['user_notify_pm']; + $popuppm = $user->data['user_popup_pm']; + $notifyreply = $user->data['user_notify']; + $attachsig = $user->data['user_attachsig']; + $allowhtml = $user->data['user_allowhtml']; + $allowbbcode = $user->data['user_allowbbcode']; + $allowsmilies = $user->data['user_allowsmile']; + $allowviewonline = $user->data['user_allow_viewonline']; + + $user_style = $user->data['user_style']; + $user_lang = $user->data['user_lang']; + $user_timezone = $user->data['user_timezone']; + $user_dateformat = $user->data['user_dateformat']; } // // Default pages // -include($phpbb_root_path . 'includes/page_header.'.$phpEx); - -make_jumpbox('viewforum.'.$phpEx); if ( $mode == 'editprofile' ) { - if ( $user_id != $userdata['user_id'] ) + if ( $user_id != $user->data['user_id'] ) { $error = TRUE; $error_msg = $user->lang['Wrong_Profile']; } } -if( isset($HTTP_POST_VARS['avatargallery']) && !$error ) -{ - include($phpbb_root_path . 'includes/usercp_avatar.'.$phpEx); - - $avatar_category = ( !empty($HTTP_POST_VARS['avatarcategory']) ) ? $HTTP_POST_VARS['avatarcategory'] : ''; - $template->set_filenames(array( - 'body' => 'profile_avatar_gallery.html') - ); - - $allowviewonline = !$allowviewonline; - - display_avatar_gallery($mode, $avatar_category, $user_id, $email, $current_email, $coppa, $username, $email, $icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature, $viewemail, $notifypm, $popuppm, $notifyreply, $attachsig, $allowhtml, $allowbbcode, $allowsmilies, $allowviewonline, $user_style, $user_lang, $user_timezone, $user_dateformat); -} -else -{ if ( !isset($coppa) ) { $coppa = FALSE; @@ -731,37 +615,20 @@ else if ( !isset($user_template) ) { - $selected_template = $board_config['system_template']; + $selected_template = $config['system_template']; } $signature = preg_replace('/\:[0-9a-z\:]*?\]/si', ']', $signature); - $avatar_img = ''; - if ( $user_avatar_type ) - { - switch( $user_avatar_type ) - { - case USER_AVATAR_UPLOAD: - $avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $user_avatar . '" alt="" />' : ''; - break; - case USER_AVATAR_REMOTE: - $avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $user_avatar . '" alt="" />' : ''; - break; - case USER_AVATAR_GALLERY: - $avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $user_avatar . '" alt="" />' : ''; - break; - } - } - $s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />'; if( $mode == 'editprofile' ) { - $s_hidden_fields .= '<input type="hidden" name="user_id" value="' . $userdata['user_id'] . '" />'; + $s_hidden_fields .= '<input type="hidden" name="user_id" value="' . $user->data['user_id'] . '" />'; // // Send the users current email address. If they change it, and account activation is turned on // the user account will be disabled and the user will have to reactivate their account. // - $s_hidden_fields .= '<input type="hidden" name="current_email" value="' . $userdata['user_email'] . '" />'; + $s_hidden_fields .= '<input type="hidden" name="current_email" value="' . $user->data['user_email'] . '" />'; } if ( !empty($user_avatar_local) ) @@ -769,30 +636,15 @@ else $s_hidden_fields .= '<input type="hidden" name="avatarlocal" value="' . $user_avatar_local . '" />'; } - $html_status = ( $userdata['user_allowhtml'] && $board_config['allow_html'] ) ? $user->lang['HTML_is_ON'] : $user->lang['HTML_is_OFF']; - $bbcode_status = ( $userdata['user_allowbbcode'] && $board_config['allow_bbcode'] ) ? $user->lang['BBCode_is_ON'] : $user->lang['BBCode_is_OFF']; - $smilies_status = ( $userdata['user_allowsmile'] && $board_config['allow_smilies'] ) ? $user->lang['Smilies_are_ON'] : $user->lang['Smilies_are_OFF']; - - if ( $error ) - { - $template->set_filenames(array( - 'reg_header' => 'error_body.html') - ); - $template->assign_vars(array( - 'ERROR_MESSAGE' => $error_msg) - ); - $template->assign_var_from_handle('ERROR_BOX', 'reg_header'); - } - - $template->set_filenames(array( - 'body' => 'profile_add_body.html') - ); + $html_status = ( $user->data['user_allowhtml'] && $config['allow_html'] ) ? $user->lang['HTML_is_ON'] : $user->lang['HTML_is_OFF']; + $bbcode_status = ( $user->data['user_allowbbcode'] && $config['allow_bbcode'] ) ? $user->lang['BBCode_is_ON'] : $user->lang['BBCode_is_OFF']; + $smilies_status = ( $user->data['user_allowsmile'] && $config['allow_smilies'] ) ? $user->lang['Smilies_are_ON'] : $user->lang['Smilies_are_OFF']; // // Let's do an overall check for settings/versions which would prevent // us from doing file uploads.... // - $form_enctype = ( @ini_get('file_uploads') == '0' || strtolower(@ini_get('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @ini_get('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"'; + $form_enctype = (@ini_get('file_uploads') == '0' || strtolower(@ini_get('file_uploads')) == 'off'|| !$config['allow_avatar_upload']) ? '' : 'enctype="multipart/form-data"'; $template->assign_vars(array( 'USERNAME' => $username, @@ -824,9 +676,6 @@ else 'ALWAYS_ALLOW_HTML_NO' => ( !$allowhtml ) ? 'checked="checked"' : '', 'ALWAYS_ALLOW_SMILIES_YES' => ( $allowsmilies ) ? 'checked="checked"' : '', 'ALWAYS_ALLOW_SMILIES_NO' => ( !$allowsmilies ) ? 'checked="checked"' : '', - 'ALLOW_AVATAR' => $board_config['allow_avatar_upload'], - 'AVATAR' => $avatar_img, - 'AVATAR_SIZE' => $board_config['avatar_filesize'], 'LANGUAGE_SELECT' => language_select($user_lang, 'language'), 'STYLE_SELECT' => style_select($user_style, 'style'), 'TIMEZONE_SELECT' => tz_select($user_timezone, 'timezone'), @@ -864,20 +713,8 @@ else 'L_HIDE_USER' => $user->lang['Hide_user'], 'L_ALWAYS_ADD_SIGNATURE' => $user->lang['Always_add_sig'], - 'L_AVATAR_PANEL' => $user->lang['Avatar_panel'], - 'L_AVATAR_EXPLAIN' => sprintf($user->lang['Avatar_explain'], $board_config['avatar_max_width'], $board_config['avatar_max_height'], (round($board_config['avatar_filesize'] / 1024))), - 'L_UPLOAD_AVATAR_FILE' => $user->lang['Upload_Avatar_file'], - 'L_UPLOAD_AVATAR_URL' => $user->lang['Upload_Avatar_URL'], - 'L_UPLOAD_AVATAR_URL_EXPLAIN' => $user->lang['Upload_Avatar_URL_explain'], - 'L_AVATAR_GALLERY' => $user->lang['Select_from_gallery'], - 'L_SHOW_GALLERY' => $user->lang['View_avatar_gallery'], - 'L_LINK_REMOTE_AVATAR' => $user->lang['Link_remote_Avatar'], - 'L_LINK_REMOTE_AVATAR_EXPLAIN' => $user->lang['Link_remote_Avatar_explain'], - 'L_DELETE_AVATAR' => $user->lang['Delete_Image'], - 'L_CURRENT_IMAGE' => $user->lang['Current_Image'], - 'L_SIGNATURE' => $user->lang['Signature'], - 'L_SIGNATURE_EXPLAIN' => sprintf($user->lang['Signature_explain'], $board_config['max_sig_chars']), + 'L_SIGNATURE_EXPLAIN' => sprintf($user->lang['Signature_explain'], $config['max_sig_chars']), 'L_NOTIFY_ON_REPLY' => $user->lang['Always_notify'], 'L_NOTIFY_ON_REPLY_EXPLAIN' => $user->lang['Always_notify_explain'], 'L_NOTIFY_ON_PRIVMSG' => $user->lang['Notify_on_privmsg'], @@ -892,22 +729,19 @@ else 'L_EMAIL_ADDRESS' => $user->lang['Email_address'], 'S_PROFILE_EDIT' => ( $mode == 'editprofile' ) ? true : false, - 'S_DISPLAY_AVATAR_BLOCK' => ( $userdata['user_allowavatar'] && ( $board_config['allow_avatar_upload'] || $board_config['allow_avatar_local'] || $board_config['allow_avatar_remote'] ) ) ? true : false, - 'S_DISPLAY_AVATAR_UPLOAD' => ( $board_config['allow_avatar_upload'] && file_exists('./' . $board_config['avatar_path']) && $form_enctype != '' ) ? true : false, - 'S_DISPLAY_AVATAR_URL' => ( $board_config['allow_avatar_upload'] && file_exists('./' . $board_config['avatar_path']) ) ? true : false, - 'S_DISPLAY_AVATAR_REMOTE' => ( $board_config['allow_avatar_remote'] ) ? true : false, - 'S_DISPLAY_AVATAR_GALLERY' => ( $board_config['allow_avatar_local'] && file_exists('./' . $board_config['avatar_gallery_path']) ) ? true : false, 'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_FORM_ENCTYPE' => $form_enctype, 'S_PROFILE_ACTION' => "profile.$phpEx$SID") ); - // - // This is another cheat using the block_var capability - // of the templates to 'fake' an IF...ELSE...ENDIF solution - // it works well :) - // -} +// +// +include($phpbb_root_path . 'includes/page_header.'.$phpEx); + +$template->set_filenames(array( + 'body' => 'profile_add_body.html') +); +make_jumpbox('viewforum.'.$phpEx); include($phpbb_root_path . 'includes/page_tail.'.$phpEx); diff --git a/phpBB/includes/usercp_sendpasswd.php b/phpBB/includes/usercp_sendpasswd.php index b060f75fcf..a59590ad97 100644 --- a/phpBB/includes/usercp_sendpasswd.php +++ b/phpBB/includes/usercp_sendpasswd.php @@ -32,9 +32,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) $username = ( !empty($HTTP_POST_VARS['username']) ) ? trim(strip_tags($HTTP_POST_VARS['username'])) : ''; $email = ( !empty($HTTP_POST_VARS['email']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['email']))) : ''; - $sql = "SELECT user_id, username, user_email, user_active, user_lang - FROM " . USERS_TABLE . " - WHERE user_email = '" . str_replace("\'", "''", $email) . "' + $sql = "SELECT user_id, username, user_email, user_active, user_lang + FROM " . USERS_TABLE . " + WHERE user_email = '" . str_replace("\'", "''", $email) . "' AND username = '" . str_replace("\'", "''", $username) . "'"; if ( $result = $db->sql_query($sql) ) { @@ -52,9 +52,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) $key_len = ( $str_len > 6 ) ? $key_len : 6; $user_actkey = substr($user_actkey, 0, $key_len); $user_password = gen_rand_string(false); - - $sql = "UPDATE " . USERS_TABLE . " - SET user_newpasswd = '" .md5($user_password) . "', user_actkey = '$user_actkey' + + $sql = "UPDATE " . USERS_TABLE . " + SET user_newpasswd = '" .md5($user_password) . "', user_actkey = '$user_actkey' WHERE user_id = " . $row['user_id']; if ( !$db->sql_query($sql) ) { @@ -62,9 +62,9 @@ if ( isset($HTTP_POST_VARS['submit']) ) } include($phpbb_root_path . 'includes/emailer.'.$phpEx); - $emailer = new emailer($board_config['smtp_delivery']); + $emailer = new emailer($config['smtp_delivery']); - $email_headers = 'From: ' . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n"; + $email_headers = 'From: ' . $config['board_email'] . "\nReturn-Path: " . $config['board_email'] . "\r\n"; $emailer->use_template('user_activate_passwd', $row['user_lang']); $emailer->email_address($row['user_email']); @@ -72,10 +72,10 @@ if ( isset($HTTP_POST_VARS['submit']) ) $emailer->extra_headers($email_headers); $emailer->assign_vars(array( - 'SITENAME' => $board_config['sitename'], + 'SITENAME' => $config['sitename'], 'USERNAME' => $username, 'PASSWORD' => $user_password, - 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']), + 'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']), 'U_ACTIVATE' => $server_url . "?mode=activate&act_key=$user_actkey") ); @@ -120,7 +120,7 @@ $template->assign_vars(array( 'USERNAME' => $username, 'EMAIL' => $email, - 'L_SEND_PASSWORD' => $lang['Send_password'], + 'L_SEND_PASSWORD' => $lang['Send_password'], 'L_ITEMS_REQUIRED' => $lang['Items_required'], 'L_EMAIL_ADDRESS' => $lang['Email_address'], 'L_SUBMIT' => $lang['Submit'], diff --git a/phpBB/includes/usercp_viewprofile.php b/phpBB/includes/usercp_viewprofile.php index 4acb24d03d..348ce42ed9 100644 --- a/phpBB/includes/usercp_viewprofile.php +++ b/phpBB/includes/usercp_viewprofile.php @@ -83,13 +83,13 @@ if ( $profiledata['user_avatar_type'] && $profiledata['user_allowavatar'] ) switch( $profiledata['user_avatar_type'] ) { case USER_AVATAR_UPLOAD: - $avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : ''; + $avatar_img = ( $config['allow_avatar_upload'] ) ? '<img src="' . $config['avatar_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : ''; break; case USER_AVATAR_REMOTE: - $avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $profiledata['user_avatar'] . '" alt="" border="0" />' : ''; + $avatar_img = ( $config['allow_avatar_remote'] ) ? '<img src="' . $profiledata['user_avatar'] . '" alt="" border="0" />' : ''; break; case USER_AVATAR_GALLERY: - $avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : ''; + $avatar_img = ( $config['allow_avatar_local'] ) ? '<img src="' . $config['avatar_gallery_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : ''; break; } } @@ -121,7 +121,7 @@ else if ( $profiledata['user_viewemail'] || $auth->acl_get('a_') ) { - $email_uri = ( $board_config['board_email_form'] ) ? "profile.$phpEx$SID&mode=email&u=" . $profiledata['user_id'] : 'mailto:' . $profiledata['user_email']; + $email_uri = ( $config['board_email_form'] ) ? "profile.$phpEx$SID&mode=email&u=" . $profiledata['user_id'] : 'mailto:' . $profiledata['user_email']; $email_img = '<a href="' . $email_uri . '">' . $user->img('icon_email', $user->lang['Send_email']) . '</a>'; $email = '<a href="' . $email_uri . '">' . $user->lang['Send_email'] . '</a>'; |