summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2013-09-13 13:45:53 +0200
committerAndrey Andreev <narf@devilix.net>2013-09-13 13:45:53 +0200
commit5932a7354bf46fb0a86794af37da42f715c355bf (patch)
tree550d77b948a23c6ff06f0bd74e1dedb887898d8f
parent838c9a96f645aac24daa31285efa1051535c4219 (diff)
Improvements to safe_mode detection (it doesn't exist in PHP 5.4)
-rw-r--r--system/core/CodeIgniter.php6
-rw-r--r--system/core/Common.php2
-rw-r--r--system/libraries/Email.php3
-rw-r--r--system/libraries/Upload.php2
4 files changed, 5 insertions, 8 deletions
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 67c94cfd1..c12116236 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -75,10 +75,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
set_error_handler('_exception_handler');
register_shutdown_function('_shutdown_handler');
- if ( ! is_php('5.4'))
- {
- @ini_set('magic_quotes_runtime', 0); // Kill magic quotes
- }
+ // Kill magic quotes
+ is_php('5.4') OR @ini_set('magic_quotes_runtime', 0);
/*
* ------------------------------------------------------
diff --git a/system/core/Common.php b/system/core/Common.php
index cf81e3fb5..286deccda 100644
--- a/system/core/Common.php
+++ b/system/core/Common.php
@@ -82,7 +82,7 @@ if ( ! function_exists('is_really_writable'))
function is_really_writable($file)
{
// If we're on a Unix server with safe_mode off we call is_writable
- if (DIRECTORY_SEPARATOR === '/' && (bool) @ini_get('safe_mode') === FALSE)
+ if (DIRECTORY_SEPARATOR === '/' && (is_php('5.4') OR (bool) @ini_get('safe_mode') === FALSE))
{
return is_writable($file);
}
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 082629a4c..efdbfd7c1 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -399,9 +399,9 @@ class CI_Email {
else
{
$this->_smtp_auth = ! ($this->smtp_user === '' && $this->smtp_pass === '');
- $this->_safe_mode = (bool) @ini_get('safe_mode');
}
+ $this->_safe_mode = ( ! is_php('5.4') && (bool) @ini_get('safe_mode'));
$this->charset = strtoupper($this->charset);
log_message('debug', 'Email Class Initialized');
@@ -451,7 +451,6 @@ class CI_Email {
$this->clear();
$this->_smtp_auth = ! ($this->smtp_user === '' && $this->smtp_pass === '');
- $this->_safe_mode = (bool) @ini_get('safe_mode');
return $this;
}
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index 15eb74bd5..060973847 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -1245,7 +1245,7 @@ class CI_Upload {
}
}
- if ( (bool) @ini_get('safe_mode') === FALSE && function_usable('shell_exec'))
+ if ((bool) @ini_get('safe_mode') === FALSE && function_usable('shell_exec'))
{
$mime = @shell_exec($cmd);
if (strlen($mime) > 0)