Change connection limit to session per minute limit ... maybe more 'general' ?

git-svn-id: file:///svn/phpbb/trunk@2833 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2002-08-07 00:02:08 +00:00
parent 16922e62e3
commit 3a662e24f4

View file

@ -138,28 +138,17 @@ class session {
$current_time = time(); $current_time = time();
// //
// Limit connections (for MySQL) or 5 minute sessions (for other DB's) // Limit sessions in 1 minute period
// //
switch ( SQL_LAYER ) $sql = "SELECT COUNT(*) AS sessions
{ FROM " . SESSIONS_TABLE . "
case 'mysql': WHERE session_time >= " . ( $current_time - 60 );
case 'mysql4': $result = $db->sql_query($sql);
$sql = "SHOW PROCESSLIST";
$result = $db->sql_query($sql); $row = $db->sql_fetchrow[$result];
$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;
}
$db->sql_freeresult($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'); message_die(MESSAGE, 'Board_unavailable');
} }