diff options
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r-- | phpBB/includes/session.php | 24 |
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"); } |