From ffe17117af1a66b20de1541d85d6267dff7cd31b Mon Sep 17 00:00:00 2001 From: resurtm Date: Sat, 25 Aug 2012 13:13:06 +0600 Subject: [PATCH] Code optimizations. --- framework/utils/CDateTimeParser.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/framework/utils/CDateTimeParser.php b/framework/utils/CDateTimeParser.php index 3a60c4973b..5d0ae5a87d 100644 --- a/framework/utils/CDateTimeParser.php +++ b/framework/utils/CDateTimeParser.php @@ -305,8 +305,7 @@ protected static function parseAmPm($value, $offset) */ protected static function parseMonth($value, $offset, $width, &$monthName) { - $valueLength=mb_strlen($value); - for($len=1; ; $len++) + for($len=1; $offset+$len<=mb_strlen($value); $len++) { $monthName=mb_substr($value, $offset, $len); if(!preg_match('/^\p{L}+$/u', $monthName)) // unicode aware replacement for ctype_alpha($monthName) @@ -314,18 +313,16 @@ protected static function parseMonth($value, $offset, $width, &$monthName) $monthName=mb_substr($monthName, 0, -1); break; } - if($offset+$len==$valueLength) - break; } $monthName=mb_strtolower($monthName); $monthNames=Yii::app()->getLocale()->getMonthNames($width, false); foreach($monthNames as $k=>$v) - $monthNames[$k]=trim(mb_strtolower($v), '.'); + $monthNames[$k]=rtrim(mb_strtolower($v), '.'); $monthNamesStandAlone=Yii::app()->getLocale()->getMonthNames($width, true); foreach($monthNamesStandAlone as $k=>$v) - $monthNamesStandAlone[$k]=trim(mb_strtolower($v), '.'); + $monthNamesStandAlone[$k]=rtrim(mb_strtolower($v), '.'); if(($v=array_search($monthName, $monthNames))===false && ($v=array_search($monthName, $monthNamesStandAlone))===false) return false;