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.