From e24eed7e4e410fabf7479a67d3a27e2596444505 Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Fri, 2 Nov 2012 23:33:45 +0200 Subject: Some micro-optimizations --- system/core/Input.php | 8 ++------ system/helpers/date_helper.php | 17 +++++------------ system/libraries/Session/Session.php | 2 +- 3 files changed, 8 insertions(+), 19 deletions(-) (limited to 'system') diff --git a/system/core/Input.php b/system/core/Input.php index c6063a280..142e2b434 100644 --- a/system/core/Input.php +++ b/system/core/Input.php @@ -356,11 +356,7 @@ class CI_Input { // Some proxies typically list the whole chain of IP // addresses through which the client has reached us. // e.g. client_ip, proxy_ip1, proxy_ip2, etc. - if (strpos($spoof, ',') !== FALSE) - { - $spoof = explode(',', $spoof, 2); - $spoof = $spoof[0]; - } + sscanf($spoof, '%[^,]', $spoof); if ( ! $this->valid_ip($spoof)) { @@ -430,7 +426,7 @@ class CI_Input { } // Split the netmask length off the network address - list($netaddr, $masklen) = explode('/', $proxy_ips[$i], 2); + sscanf($proxy_ips[$i], '%[^/]/%d', $netaddr, $masklen); // Again, an IPv6 address is most likely in a compressed form if ($separator === ':') diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php index 5f05f0701..0fa400d7e 100644 --- a/system/helpers/date_helper.php +++ b/system/helpers/date_helper.php @@ -450,20 +450,13 @@ if ( ! function_exists('human_to_unix')) return FALSE; } - $split = explode(' ', $datestr); + sscanf($datestr, '%d-%d-%d %s %s', $year, $month, $day, $time, $ampm); + sscanf($time, '%d:%d:%d', $hour, $min, $sec); + isset($sec) OR $sec = 0; - list($year, $month, $day) = explode('-', $split[0]); - - $ex = explode(':', $split['1']); - - $hour = (int) $ex[0]; - $min = (int) $ex[1]; - $sec = ( ! empty($ex[2]) && preg_match('/[0-9]{1,2}/', $ex[2])) - ? (int) $ex[2] : 0; - - if (isset($split[2])) + if (isset($ampm)) { - $ampm = strtolower($split[2]); + $ampm = strtolower($ampm); if ($ampm[0] === 'p' && $hour < 12) { diff --git a/system/libraries/Session/Session.php b/system/libraries/Session/Session.php index bb13c3376..96e65f154 100755 --- a/system/libraries/Session/Session.php +++ b/system/libraries/Session/Session.php @@ -528,7 +528,7 @@ class CI_Session extends CI_Driver_Library { foreach ($this->all_userdata() as $name => $value) { $parts = explode(self::FLASHDATA_NEW, $name); - if (is_array($parts) && count($parts) === 2) + if (count($parts) === 2) { $new_name = self::FLASHDATA_KEY.self::FLASHDATA_OLD.$parts[1]; $this->set_userdata($new_name, $value); -- cgit v1.2.3-24-g4f1b