aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/session.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r--phpBB/includes/session.php24
1 files changed, 18 insertions, 6 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 88a7c6563c..3ea20541ab 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -139,17 +139,29 @@ class session
$this->ip = (!empty($_SERVER['REMOTE_ADDR'])) ? htmlspecialchars($_SERVER['REMOTE_ADDR']) : '';
// Load limit check (if applicable)
- if (@file_exists('/proc/loadavg') && @is_readable('/proc/loadavg'))
+ if ($config['limit_load'])
{
- if ($load = @file_get_contents('/proc/loadavg'))
+ if (@file_exists('/proc/loadavg') && @is_readable('/proc/loadavg'))
{
- $this->load = floatval(array_slice(explode(' ', $load), 0, 1));
+ if ($load = @file_get_contents('/proc/loadavg'))
+ {
+ $this->load = array_slice(explode(' ', $load), 0, 1);
+ $this->load = floatval($this->load[0]);
- if ($config['limit_load'] && $this->load > floatval($config['limit_load']))
+ if ($config['limit_load'] && $this->load > floatval($config['limit_load']))
+ {
+ trigger_error('BOARD_UNAVAILABLE');
+ }
+ }
+ else
{
- trigger_error('BOARD_UNAVAILABLE');
+ set_config('limit_load', '0');
}
}
+ else
+ {
+ set_config('limit_load', '0');
+ }
}
// Is session_id is set or session_id is set and matches the url param if required
@@ -1075,7 +1087,7 @@ class user extends session
{
global $SID;
- if (strpos($this->page['page_query'], 'mode=reg_details') !== false && $this->page['page_name'] == "ucp.$phpEx")
+ if (strpos($this->page['query_string'], 'mode=reg_details') !== false && $this->page['page_name'] == "ucp.$phpEx")
{
redirect("ucp.$phpEx$SID&i=profile&mode=reg_details");
}