diff options
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r-- | phpBB/includes/session.php | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 0712b4b902..9e8ea85e4c 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -40,7 +40,7 @@ class session { { $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'] : ''; - $SID = '?sid='; + $SID = (defined('IN_ADMIN')) ? '?sid=' . $this->session_id : '?sid='; } else { @@ -114,18 +114,21 @@ class session { $sessiondata = array(); $current_time = time(); - // Limit sessions in 1 minute period - $sql = "SELECT COUNT(*) AS sessions - FROM " . SESSIONS_TABLE . " - WHERE session_time >= " . ( $current_time - 60 ); - $result = $db->sql_query($sql); + if ( intval($board_config['active_sessions']) ) + { + // Limit sessions in 1 minute period + $sql = "SELECT COUNT(*) AS sessions + FROM " . SESSIONS_TABLE . " + WHERE session_time >= " . ( $current_time - 60 ); + $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); - if ( intval($board_config['active_sessions']) && intval($row['sessions']) > intval($board_config['active_sessions']) ) - { - message_die(MESSAGE, 'Board_unavailable'); + if ( intval($row['sessions']) > intval($board_config['active_sessions']) ) + { + message_die(MESSAGE, 'Board_unavailable'); + } } // Garbage collection ... remove old sessions updating user information |