From 7ca846467da923a2bd39ef3f554e26e1f589c85e Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 26 Jul 2007 01:21:43 +0000 Subject: Fixed #678. --- HISTORY | 3 ++- framework/I18N/core/CultureInfo.php | 12 ++++++++++++ framework/I18N/core/DateTimeFormatInfo.php | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index 23a57104..33dbc7b5 100644 --- a/HISTORY +++ b/HISTORY @@ -6,8 +6,9 @@ BUG: Ticket#662 - Ensure TForm to properly encode the ampersand in action URL (Q BUG: Ticket#666 - TActiveRecord::deleteAll() method always requires a criteria or null parameter (Qiang) BUG: Ticket#670 - TDatePicker: Year Issue (Christophe) BUG: Ticket#648 - Validation: onClick and onBlur events order (Christophe) -ENH: Ticket#667 - Added TFeedService.ContentType property (Qiang) ENH: Ticket#577 - Added image button support for TPager (Qiang) +ENH: Ticket#667 - Added TFeedService.ContentType property (Qiang) +ENH: Ticket#678 - Improved DateTimeFormatInfo performance (Stever) ENH: Added THead requirement check (Qiang) CHG: GeSHi is replaced with Text_Highlighter (Christophe) NEW: Added TTabPanel (Qiang) diff --git a/framework/I18N/core/CultureInfo.php b/framework/I18N/core/CultureInfo.php index 404c81fe..15370ebe 100644 --- a/framework/I18N/core/CultureInfo.php +++ b/framework/I18N/core/CultureInfo.php @@ -200,6 +200,18 @@ class CultureInfo return '.dat'; } + /** + * Gets the CultureInfo that for this culture string + * @return CultureInfo invariant culture info is "en". + */ + public static function getInstance($culture) + { + static $instances = array(); + if(!isset($instances[$culture])) + $instances[$culture] = new CultureInfo($culture); + return $instances[$culture]; + } + /** * Determine if a given culture is valid. Simply checks that the * culture data exists. diff --git a/framework/I18N/core/DateTimeFormatInfo.php b/framework/I18N/core/DateTimeFormatInfo.php index 685a95c1..04ed0e73 100644 --- a/framework/I18N/core/DateTimeFormatInfo.php +++ b/framework/I18N/core/DateTimeFormatInfo.php @@ -173,7 +173,7 @@ class DateTimeFormatInfo return $culture->getDateTimeFormat(); else if(is_string($culture)) { - $cultureInfo = new CultureInfo($culture); + $cultureInfo = CultureInfo::getInstance($culture); return $cultureInfo->getDateTimeFormat(); } else -- cgit v1.2.3