aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2002-08-07 00:02:08 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2002-08-07 00:02:08 +0000
commit3a662e24f4311a2b0518264f85c1479545c93d2c (patch)
tree97e4a9eace30adfe4d427f536ed08e769b5145e8 /phpBB/includes
parent16922e62e3538677581e73a7d7a7faa23d2b401c (diff)
downloadforums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar
forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar.gz
forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar.bz2
forums-3a662e24f4311a2b0518264f85c1479545c93d2c.tar.xz
forums-3a662e24f4311a2b0518264f85c1479545c93d2c.zip
Change connection limit to session per minute limit ... maybe more 'general' ?
git-svn-id: file:///svn/phpbb/trunk@2833 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/session.php27
1 files changed, 8 insertions, 19 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 6d6a32ce15..c621d3d807 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -138,28 +138,17 @@ class session {
$current_time = time();
//
- // Limit connections (for MySQL) or 5 minute sessions (for other DB's)
+ // Limit sessions in 1 minute period
//
- switch ( SQL_LAYER )
- {
- case 'mysql':
- case 'mysql4':
- $sql = "SHOW PROCESSLIST";
- $result = $db->sql_query($sql);
- $current_sessions = 0;
- while ( $db->sql_fetchrow($result) ) $current_sessions++;
- break;
- default:
- $sql = "SELECT COUNT(*) AS sessions
- FROM " . SESSIONS_TABLE . "
- WHERE session_time >= " . ( $current_time - 3600 );
- $result = $db->sql_query($sql);
- $row = $db->sql_fetchrow[$result];
- $current_sessions = ( isset($row['sessions']) ) ? $row['sessions'] : 0;
- }
+ $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);
- if ( intval($board_config['active_sessions']) && $current_sessions > intval($board_config['active_sessions']) )
+ if ( intval($board_config['active_sessions']) && intval($row['sessions']) > intval($board_config['active_sessions']) )
{
message_die(MESSAGE, 'Board_unavailable');
}