From 2983057ad91ccdef1fef86a85fe8e888350c3384 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sun, 16 Apr 2006 14:43:51 +0000 Subject: Fixed a few issues with using Globalization. --- framework/I18N/TI18NControl.php | 2 +- framework/I18N/TNumberFormat.php | 2 +- framework/I18N/TTranslate.php | 2 +- framework/PradoBase.php | 4 ++-- framework/TApplication.php | 5 ++++- framework/Web/THttpResponse.php | 10 +++++----- framework/Web/UI/TTemplateManager.php | 2 +- framework/Web/UI/WebControls/TDatePicker.php | 2 +- 8 files changed, 16 insertions(+), 13 deletions(-) (limited to 'framework') diff --git a/framework/I18N/TI18NControl.php b/framework/I18N/TI18NControl.php index e6aed0fa..efe3ac84 100644 --- a/framework/I18N/TI18NControl.php +++ b/framework/I18N/TI18NControl.php @@ -42,7 +42,7 @@ class TI18NControl extends TControl */ public function getCharset() { - $app = $this->getApplication()->getGlobalization(); + $app = $this->getApplication()->getGlobalization(false); //instance charset $charset = $this->getViewState('Charset',''); diff --git a/framework/I18N/TNumberFormat.php b/framework/I18N/TNumberFormat.php index 4dc1e3ee..76373a8e 100644 --- a/framework/I18N/TNumberFormat.php +++ b/framework/I18N/TNumberFormat.php @@ -166,7 +166,7 @@ class TNumberFormat extends TI18NControl */ protected function getFormattedValue() { - $app = $this->Application->getGlobalization(); + $app = $this->getApplication()->getGlobalization(); //initialized the default class wide formatter if(is_null(self::$formatter)) self::$formatter = new NumberFormat($app->getCulture()); diff --git a/framework/I18N/TTranslate.php b/framework/I18N/TTranslate.php index 0a03b506..6a30f3a6 100644 --- a/framework/I18N/TTranslate.php +++ b/framework/I18N/TTranslate.php @@ -168,7 +168,7 @@ class TTranslate extends TI18NControl */ protected function translateText($text, $subs) { - $app = $this->Application->getGlobalization(); + $app = $this->getApplication()->getGlobalization(); //no translation handler provided if(is_null($config = $app->getTranslationConfiguration())) diff --git a/framework/PradoBase.php b/framework/PradoBase.php index 329bb5da..e0c8cc52 100644 --- a/framework/PradoBase.php +++ b/framework/PradoBase.php @@ -533,14 +533,14 @@ class PradoBase public static function localize($text, $parameters=array(), $catalogue=null, $charset=null) { Prado::using('System.I18N.Translation'); - $app = Prado::getApplication()->getGlobalization(); + $app = Prado::getApplication()->getGlobalization(false); $params = array(); foreach($parameters as $key => $value) $params['{'.$key.'}'] = $value; //no translation handler provided - if(($config = $app->getTranslationConfiguration())===null) + if($app===null || ($config = $app->getTranslationConfiguration())===null) return strtr($text, $params); Translation::init(); diff --git a/framework/TApplication.php b/framework/TApplication.php index fcc77b16..aa46f39d 100644 --- a/framework/TApplication.php +++ b/framework/TApplication.php @@ -754,10 +754,13 @@ class TApplication extends TComponent } /** + * @param boolean whether to create globalization if it does not exist * @return TGlobalization globalization module */ - public function getGlobalization() + public function getGlobalization($createIfNotExists=true) { + if($this->_globalization===null && $createIfNotExists) + $this->_globalization=new TGlobalization; return $this->_globalization; } diff --git a/framework/Web/THttpResponse.php b/framework/Web/THttpResponse.php index d4a62cc6..f76218ca 100644 --- a/framework/Web/THttpResponse.php +++ b/framework/Web/THttpResponse.php @@ -69,7 +69,7 @@ class THttpResponse extends TModule implements ITextWriter /** * @var string character set, e.g. UTF-8 */ - private $_charset; + private $_charset=''; /** * Destructor. @@ -285,10 +285,10 @@ class THttpResponse extends TModule implements ITextWriter */ protected function sendContentTypeHeader() { - $charset = $this->getCharset(); - if(empty($charset) && ($globalization=$this->getApplication()->getGlobalization())!==null) - $charset = $globalization->getCharset(); - if(!empty($charset)) + $charset=$this->getCharset(); + if($charset==='' && ($globalization=$this->getApplication()->getGlobalization(false))!==null) + $charset=$globalization->getCharset(); + if($charset==='') { $header='Content-Type: '.$this->getContentType().';charset='.$charset; $this->appendHeader($header); diff --git a/framework/Web/UI/TTemplateManager.php b/framework/Web/UI/TTemplateManager.php index dd3f7af8..71b53e19 100644 --- a/framework/Web/UI/TTemplateManager.php +++ b/framework/Web/UI/TTemplateManager.php @@ -100,7 +100,7 @@ class TTemplateManager extends TModule */ protected function getLocalizedTemplate($filename) { - if(($app=$this->getApplication()->getGlobalization())===null) + if(($app=$this->getApplication()->getGlobalization(false))===null) return $filename; foreach($app->getLocalizedResource($filename) as $file) { diff --git a/framework/Web/UI/WebControls/TDatePicker.php b/framework/Web/UI/WebControls/TDatePicker.php index 9bb352d6..c6a2345b 100644 --- a/framework/Web/UI/WebControls/TDatePicker.php +++ b/framework/Web/UI/WebControls/TDatePicker.php @@ -406,7 +406,7 @@ class TDatePicker extends TTextBox */ protected function getCurrentCulture() { - $app = $this->getApplication()->getGlobalization(); + $app = $this->getApplication()->getGlobalization(false); return $this->getCulture() == '' ? ($app ? $app->getCulture() : 'en') : $this->getCulture(); } -- cgit v1.2.3