From c4a926b4e201380a45e0c4ebe76fba49fa6b42f1 Mon Sep 17 00:00:00 2001 From: "Paul S. Owen" Date: Sun, 14 Jul 2002 14:41:55 +0000 Subject: [PATCH] Same as last commits, updates for various changes git-svn-id: file:///svn/phpbb/trunk@2671 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/functions_validate.php | 66 +++++----- phpBB/includes/page_header.php | 175 +++++++------------------- phpBB/includes/page_tail.php | 24 ++-- 3 files changed, 82 insertions(+), 183 deletions(-) diff --git a/phpBB/includes/functions_validate.php b/phpBB/includes/functions_validate.php index 22b4c1c185..bb8182115c 100644 --- a/phpBB/includes/functions_validate.php +++ b/phpBB/includes/functions_validate.php @@ -8,7 +8,6 @@ * * $Id$ * - * ***************************************************************************/ /*************************************************************************** @@ -18,7 +17,6 @@ * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * - * ***************************************************************************/ // @@ -35,51 +33,47 @@ function validate_username($username) $sql = "SELECT username FROM " . USERS_TABLE . " WHERE LOWER(username) = '" . strtolower($username) . "'"; - if ( $result = $db->sql_query($sql) ) + $result = $db->sql_query($sql); + + if ( $row = $db->sql_fetchrow($result) ) { - if ( $row = $db->sql_fetchrow($result) ) + if ( ( $userdata['session_logged_in'] && $row['username'] != $userdata['username'] ) || !$userdata['session_logged_in'] ) { - if ( ( $userdata['session_logged_in'] && $row['username'] != $userdata['username'] ) || !$userdata['session_logged_in'] ) - { - return array('error' => true, 'error_msg' => $lang['Username_taken']); - } + return array('error' => true, 'error_msg' => $lang['Username_taken']); } } $sql = "SELECT group_name FROM " . GROUPS_TABLE . " WHERE LOWER(group_name) = '" . strtolower($username) . "'"; - if ( $result = $db->sql_query($sql) ) + $result = $db->sql_query($sql); + + if ( $row = $db->sql_fetchrow($result) ) { - if ( $row = $db->sql_fetchrow($result) ) - { - return array('error' => true, 'error_msg' => $lang['Username_taken']); - } + return array('error' => true, 'error_msg' => $lang['Username_taken']); } $sql = "SELECT disallow_username FROM " . DISALLOW_TABLE; - if ( $result = $db->sql_query($sql) ) + $result = $db->sql_query($sql); + + while( $row = $db->sql_fetchrow($result) ) { - while( $row = $db->sql_fetchrow($result) ) + if ( preg_match('#\b(' . str_replace('\*', '.*?', preg_quote($row['disallow_username'])) . ')\b#i', $username) ) { - if ( preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['disallow_username'])) . ")\b#i", $username) ) - { - return array('error' => true, 'error_msg' => $lang['Username_disallowed']); - } + return array('error' => true, 'error_msg' => $lang['Username_disallowed']); } } $sql = "SELECT word FROM " . WORDS_TABLE; - if ( $result = $db->sql_query($sql) ) + $result = $db->sql_query($sql); + + while( $row = $db->sql_fetchrow($result) ) { - while( $row = $db->sql_fetchrow($result) ) + if ( preg_match('#\b(' . str_replace('\*', '.*?', preg_quote($row['word'])) . ')\b#i', $username) ) { - if ( preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['word'])) . ")\b#i", $username) ) - { - return array('error' => true, 'error_msg' => $lang['Username_disallowed']); - } + return array('error' => true, 'error_msg' => $lang['Username_disallowed']); } } @@ -106,25 +100,21 @@ function validate_email($email) { $sql = "SELECT ban_email FROM " . BANLIST_TABLE; - if ( $result = $db->sql_query($sql) ) + $result = $db->sql_query($sql); + + while( $row = $db->sql_fetchrow($result) ) { - while( $row = $db->sql_fetchrow($result) ) + $match_email = str_replace('*', '.*?', $row['ban_email']); + if ( preg_match('/^' . $match_email . '$/is', $email) ) { - $match_email = str_replace('*', '.*?', $row['ban_email']); - if ( preg_match('/^' . $match_email . '$/is', $email) ) - { - return array('error' => true, 'error_msg' => $lang['Email_banned']); - } + return array('error' => true, 'error_msg' => $lang['Email_banned']); } } $sql = "SELECT user_email FROM " . USERS_TABLE . " WHERE user_email = '" . str_replace("\'", "''", $email) . "'"; - if ( !($result = $db->sql_query($sql)) ) - { - message_die(GENERAL_ERROR, "Couldn't obtain user email information.", "", __LINE__, __FILE__, $sql); - } + $result = $db->sql_query($sql); if ( $row = $db->sql_fetchrow($result) ) { @@ -162,7 +152,7 @@ function validate_optional_fields(&$icq, &$aim, &$msnm, &$yim, &$website, &$loca // website has to start with http://, followed by something with length at least 3 that // contains at least one dot. - if ( $website != "" ) + if ( $website != '' ) { if ( !preg_match('#^http:\/\/#i', $website) ) { @@ -178,4 +168,4 @@ function validate_optional_fields(&$icq, &$aim, &$msnm, &$yim, &$website, &$loca return; } -?> +?> \ No newline at end of file diff --git a/phpBB/includes/page_header.php b/phpBB/includes/page_header.php index c04b9f16fd..f7058698e6 100644 --- a/phpBB/includes/page_header.php +++ b/phpBB/includes/page_header.php @@ -8,7 +8,6 @@ * * $Id$ * - * ***************************************************************************/ /*************************************************************************** @@ -22,7 +21,7 @@ if ( !defined('IN_PHPBB') ) { - die("Hacking attempt"); + die('Hacking attempt'); } define('HEADER_INC', TRUE); @@ -35,7 +34,7 @@ if ( $board_config['gzip_compress'] ) { $phpver = phpversion(); - if ( $phpver >= '4.0.4pl1' ) + if ( $phpver >= '4.0.4pl1' && strstr($HTTP_USER_AGENT,'compatible') ) { if ( extension_loaded('zlib') ) { @@ -52,23 +51,16 @@ if ( $board_config['gzip_compress'] ) ob_start(); ob_implicit_flush(0); - header('Content-Encoding: gzip'); + header("Content-Encoding: gzip"); } } } } -// -// Parse and show the overall header. -// -$template->set_filenames(array( - 'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl') -); - // // Generate logged in/logged out status // -if ( $userdata['session_logged_in'] ) +if ( $userdata['user_id'] != ANONYMOUS ) { $u_login_logout = 'login.'.$phpEx.'?logout=true'; $l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]'; @@ -79,23 +71,20 @@ else $l_login_logout = $lang['Login']; } -$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone']) : ''; +$s_last_visit = ( $userdata['user_id'] != ANONYMOUS ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone']) : ''; // // Get basic (usernames + totals) online // situation // -$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = $forum_id" : ''; -$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip - FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s +$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page LIKE '%f=$forum_id%'" : ''; +$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_ip + FROM " . USERS_TABLE . " u, " . SESSIONS_TABLE ." s WHERE u.user_id = s.session_user_id AND s.session_time >= ".( time() - 300 ) . " $user_forum_sql ORDER BY u.username ASC, s.session_ip ASC"; -if( !($result = $db->sql_query($sql)) ) -{ - message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql); -} +$result = $db->sql_query($sql); $userlist_ary = array(); $userlist_visible = array(); @@ -111,31 +100,24 @@ $prev_user_ip = ''; while( $row = $db->sql_fetchrow($result) ) { // User is logged in and therefor not a guest - if ( $row['session_logged_in'] ) + if ( $row['user_id'] != ANONYMOUS ) { // Skip multiple sessions for one user if ( $row['user_id'] != $prev_user_id ) { - $style_color = ''; - if ( $row['user_level'] == ADMIN ) + if ( $row['user_colour'] ) { - $row['username'] = '' . $row['username'] . ''; - $style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; - } - else if ( $row['user_level'] == MOD ) - { - $row['username'] = '' . $row['username'] . ''; - $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; + $row['username'] = '' . $row['username'] . ''; } if ( $row['user_allow_viewonline'] ) { - $user_online_link = '' . $row['username'] . ''; + $user_online_link = '' . $row['username'] . ''; $logged_visible_online++; } else { - $user_online_link = '' . $row['username'] . ''; + $user_online_link = '' . $row['username'] . ''; $logged_hidden_online++; } @@ -175,18 +157,12 @@ if ( $total_online_users > $board_config['record_online_users']) $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '$total_online_users' WHERE config_name = 'record_online_users'"; - if ( !$db->sql_query($sql) ) - { - message_die(GENERAL_ERROR, 'Could not update online user record (nr of users)', '', __LINE__, __FILE__, $sql); - } + $db->sql_query($sql); $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '" . $board_config['record_online_date'] . "' WHERE config_name = 'record_online_date'"; - if ( !$db->sql_query($sql) ) - { - message_die(GENERAL_ERROR, 'Could not update online user record (date)', '', __LINE__, __FILE__, $sql); - } + $db->sql_query($sql); } if ( $total_online_users == 0 ) @@ -250,7 +226,7 @@ $l_online_users .= sprintf($l_g_user_s, $guests_online); // Obtain number of new private messages // if user is logged in // -if ( $userdata['session_logged_in'] ) +if ( $userdata['user_id'] != ANONYMOUS ) { if ( $userdata['user_new_privmsg'] ) { @@ -262,10 +238,7 @@ if ( $userdata['session_logged_in'] ) $sql = "UPDATE " . USERS_TABLE . " SET user_last_privmsg = " . $userdata['user_lastvisit'] . " WHERE user_id = " . $userdata['user_id']; - if ( !$db->sql_query($sql) ) - { - message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql); - } + $db->sql_query($sql); $s_privmsg_new = 1; $icon_pm = $images['pm_new_msg']; @@ -305,9 +278,10 @@ else // // Generate HTML required for Mozilla Navigation bar // +/* $nav_links_html = ''; $nav_link_proto = '' . "\n"; -while( list($nav_item, $nav_array) = @each($nav_links) ) +foreach ( $nav_links as $nav_item => $nav_array ) { if ( !empty($nav_array['url']) ) { @@ -316,13 +290,13 @@ while( list($nav_item, $nav_array) = @each($nav_links) ) else { // We have a nested array, used for items like that can occur more than once. - while( list(,$nested_array) = each($nav_array) ) + foreach ( $nav_array as $key => $nested_array ) { $nav_links_html .= sprintf($nav_link_proto, $nav_item, $nested_array['url'], $nested_array['title']); } } } - +*/ // // The following assigns all _common_ variables that may be used at any point // in a template. @@ -360,98 +334,43 @@ $template->assign_vars(array( 'L_SEARCH_NEW' => $lang['Search_new'], 'L_SEARCH_UNANSWERED' => $lang['Search_unanswered'], 'L_SEARCH_SELF' => $lang['Search_your_posts'], - 'L_WHOSONLINE_ADMIN' => sprintf($lang['Admin_online_color'], '', ''), - 'L_WHOSONLINE_MOD' => sprintf($lang['Mod_online_color'], '', ''), - 'L_WHOSONLINE_USER' => sprintf($lang['User_online_color'], '', ''), - 'L_LEGEND' => $lang['Legend'], - 'U_SEARCH_UNANSWERED' => append_sid('search.'.$phpEx.'?search_id=unanswered'), - 'U_SEARCH_SELF' => append_sid('search.'.$phpEx.'?search_id=egosearch'), - 'U_SEARCH_NEW' => append_sid('search.'.$phpEx.'?search_id=newposts'), - 'U_INDEX' => append_sid('index.'.$phpEx), - 'U_REGISTER' => append_sid('profile.'.$phpEx.'?mode=register'), - 'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile'), - 'U_PRIVATEMSGS' => append_sid('privmsg.'.$phpEx.'?folder=inbox'), - 'U_PRIVATEMSGS_POPUP' => append_sid('privmsg.'.$phpEx.'?mode=newpm'), - 'U_SEARCH' => append_sid('search.'.$phpEx), - 'U_MEMBERLIST' => append_sid('memberlist.'.$phpEx), - 'U_MODCP' => append_sid('modcp.'.$phpEx), - 'U_FAQ' => append_sid('faq.'.$phpEx), - 'U_VIEWONLINE' => append_sid('viewonline.'.$phpEx), - 'U_LOGIN_LOGOUT' => append_sid($u_login_logout), - 'U_MEMBERSLIST' => append_sid('memberlist.'.$phpEx), - 'U_GROUP_CP' => append_sid('groupcp.'.$phpEx), + 'U_SEARCH_UNANSWERED' => 'search.'.$phpEx.$SID.'&search_id=unanswered', + 'U_SEARCH_SELF' => 'search.'.$phpEx.$SID.'&search_id=egosearch', + 'U_SEARCH_NEW' => 'search.'.$phpEx.$SID.'&search_id=newposts', + 'U_INDEX' => 'index.'.$phpEx.$SID, + 'U_REGISTER' => 'profile.'.$phpEx.$SID.'&mode=register', + 'U_PROFILE' => 'profile.'.$phpEx.$SID.'&mode=editprofile', + 'U_PRIVATEMSGS' => 'privmsg.'.$phpEx.$SID.'&folder=inbox', + 'U_PRIVATEMSGS_POPUP' => 'privmsg.'.$phpEx.$SID.'&mode=newpm', + 'U_SEARCH' => 'search.'.$phpEx.$SID, + 'U_MEMBERLIST' => 'memberlist.'.$phpEx.$SID, + 'U_MODCP' => 'modcp.'.$phpEx.$SID, + 'U_FAQ' => 'faq.'.$phpEx.$SID, + 'U_VIEWONLINE' => 'viewonline.'.$phpEx.$SID, + 'U_LOGIN_LOGOUT' => $u_login_logout, + 'U_MEMBERSLIST' => 'memberlist.'.$phpEx.$SID, + 'U_GROUP_CP' => 'groupcp.'.$phpEx.$SID, + 'S_USER_LOGGED_IN' => ( $userdata['user_id'] == ANONYMOUS ) ? false : true, + 'S_USER_PM_POPUP' => ( !empty($userdata['user_popup_pm']) ) ? true : false, + 'S_USER_BROWSER' => $userdata['session_browser'], 'S_CONTENT_DIRECTION' => $lang['DIRECTION'], 'S_CONTENT_ENCODING' => $lang['ENCODING'], 'S_CONTENT_DIR_LEFT' => $lang['LEFT'], 'S_CONTENT_DIR_RIGHT' => $lang['RIGHT'], - 'S_TIMEZONE' => sprintf($lang['All_times'], $lang[number_format($board_config['board_timezone'])]), - 'S_LOGIN_ACTION' => append_sid('login.'.$phpEx), + 'S_TIMEZONE' => sprintf($lang['All_times'], $lang[$board_config['board_timezone']]), + 'S_LOGIN_ACTION' => 'login.'.$phpEx.$SID, + + 'T_STYLESHEET_DATA' => $theme['css_data'], + 'T_STYLESHEET_LINK' => 'templates/' . $theme['css_external'], - 'T_HEAD_STYLESHEET' => $theme['head_stylesheet'], - 'T_BODY_BACKGROUND' => $theme['body_background'], - 'T_BODY_BGCOLOR' => '#'.$theme['body_bgcolor'], - 'T_BODY_TEXT' => '#'.$theme['body_text'], - 'T_BODY_LINK' => '#'.$theme['body_link'], - 'T_BODY_VLINK' => '#'.$theme['body_vlink'], - 'T_BODY_ALINK' => '#'.$theme['body_alink'], - 'T_BODY_HLINK' => '#'.$theme['body_hlink'], - 'T_TR_COLOR1' => '#'.$theme['tr_color1'], - 'T_TR_COLOR2' => '#'.$theme['tr_color2'], - 'T_TR_COLOR3' => '#'.$theme['tr_color3'], - 'T_TR_CLASS1' => $theme['tr_class1'], - 'T_TR_CLASS2' => $theme['tr_class2'], - 'T_TR_CLASS3' => $theme['tr_class3'], - 'T_TH_COLOR1' => '#'.$theme['th_color1'], - 'T_TH_COLOR2' => '#'.$theme['th_color2'], - 'T_TH_COLOR3' => '#'.$theme['th_color3'], - 'T_TH_CLASS1' => $theme['th_class1'], - 'T_TH_CLASS2' => $theme['th_class2'], - 'T_TH_CLASS3' => $theme['th_class3'], - 'T_TD_COLOR1' => '#'.$theme['td_color1'], - 'T_TD_COLOR2' => '#'.$theme['td_color2'], - 'T_TD_COLOR3' => '#'.$theme['td_color3'], - 'T_TD_CLASS1' => $theme['td_class1'], - 'T_TD_CLASS2' => $theme['td_class2'], - 'T_TD_CLASS3' => $theme['td_class3'], - 'T_FONTFACE1' => $theme['fontface1'], - 'T_FONTFACE2' => $theme['fontface2'], - 'T_FONTFACE3' => $theme['fontface3'], - 'T_FONTSIZE1' => $theme['fontsize1'], - 'T_FONTSIZE2' => $theme['fontsize2'], - 'T_FONTSIZE3' => $theme['fontsize3'], - 'T_FONTCOLOR1' => '#'.$theme['fontcolor1'], - 'T_FONTCOLOR2' => '#'.$theme['fontcolor2'], - 'T_FONTCOLOR3' => '#'.$theme['fontcolor3'], - 'T_SPAN_CLASS1' => $theme['span_class1'], - 'T_SPAN_CLASS2' => $theme['span_class2'], - 'T_SPAN_CLASS3' => $theme['span_class3'], - 'NAV_LINKS' => $nav_links_html) ); -// -// Login box? -// -if ( !$userdata['session_logged_in'] ) -{ - $template->assign_block_vars('switch_user_logged_out', array()); -} -else -{ - $template->assign_block_vars('switch_user_logged_in', array()); - - if ( !empty($userdata['user_popup_pm']) ) - { - $template->assign_block_vars('switch_enable_pm_popup', array()); - } -} - header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0'); header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT'); header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); - -$template->pparse('overall_header'); +header ('Pragma: private'); ?> \ No newline at end of file diff --git a/phpBB/includes/page_tail.php b/phpBB/includes/page_tail.php index c2507bac8b..6c87ecdcb1 100644 --- a/phpBB/includes/page_tail.php +++ b/phpBB/includes/page_tail.php @@ -8,7 +8,6 @@ * * $Id$ * - * ***************************************************************************/ /*************************************************************************** @@ -25,34 +24,25 @@ if ( !defined('IN_PHPBB') ) die('Hacking attempt'); } -// -// Show the overall footer. -// -$admin_link = ( $userdata['user_level'] == ADMIN ) ? '' . $lang['Admin_panel'] . '

' : ''; - -$template->set_filenames(array( - 'overall_footer' => ( empty($gen_simple_header) ) ? 'overall_footer.tpl' : 'simple_footer.tpl') -); - // // Output page creation time // -if ( DEBUG ) +if ( defined('DEBUG') ) { $mtime = microtime(); $mtime = explode(' ', $mtime); $totaltime = ( $mtime[1] + $mtime[0] ) - $starttime; - $gzip_text = ( $board_config['gzip_compress'] ) ? 'GZIP compression enabled' : 'GZIP compression disabled'; + + $debug_output = sprintf('

[ Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . ( ( $board_config['gzip_compress'] ) ? 'On' : 'Off' ) . ' | Load : ' . (( $session->load ) ? $session->load : 'N/A') . ' ]', $totaltime); } $template->assign_vars(array( - 'PHPBB_VERSION' => '2' . $board_config['version'], - 'TRANSLATION_INFO' => ( isset($lang['TRANSLATION_INFO']) ) ? $lang['TRANSLATION_INFO'] : '', - 'ADMIN_LINK' => $admin_link, - 'DEBUG_OUTPUT' => ( DEBUG ) ? sprintf('

phpBB Created this page in %f seconds : ' . $db->sql_num_queries() . ' queries executed : ' . $gzip_text, $totaltime) : '') + 'PHPBB_VERSION' => $board_config['version'], + 'ADMIN_LINK' => ( $acl->get_acl_admin() ) ? '' . $lang['Admin_panel'] . '

' : '', + 'DEBUG_OUTPUT' => ( defined('DEBUG') ) ? $debug_output : '') ); -$template->pparse('overall_footer'); +$template->display('body'); // // Close our DB connection.