summaryrefslogtreecommitdiff
path: root/framework/I18N
diff options
context:
space:
mode:
authorxue <>2006-02-08 23:18:20 +0000
committerxue <>2006-02-08 23:18:20 +0000
commitaa46c9ab78abdd23c273c5e49b402a87a2aefcdb (patch)
tree9bb054b662ff59d86736d6cee6eb0f4b1b57ba59 /framework/I18N
parent682d48577ae6e0118a11e5e6134fdbbb6048456d (diff)
Changed accessibility of a few render-related methods (needed by adapters).
Diffstat (limited to 'framework/I18N')
-rw-r--r--framework/I18N/TDateFormat.php74
-rw-r--r--framework/I18N/TNumberFormat.php80
-rw-r--r--framework/I18N/TTranslate.php2
3 files changed, 78 insertions, 78 deletions
diff --git a/framework/I18N/TDateFormat.php b/framework/I18N/TDateFormat.php
index 985f5115..711dd563 100644
--- a/framework/I18N/TDateFormat.php
+++ b/framework/I18N/TDateFormat.php
@@ -2,11 +2,11 @@
/**
* TDateFromat formatting component.
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the BSD License.
*
- * Copyright(c) 2004 by Xiang Wei Zhuo.
+ * Copyright(c) 2004 by Xiang Wei Zhuo.
*
* To contact the author write to {@link mailto:qiang.xue@gmail.com Qiang Xue}
* The latest version of PRADO can be obtained from:
@@ -16,20 +16,20 @@
* @version $Revision: 1.11 $ $Date: 2005/12/16 04:33:02 $
* @package System.I18N
*/
-
+
/**
* Get the DateFormat class.
*/
Prado::using('System.I18N.core.DateFormat');
/**
- * To format dates and/or time according to the current locale use
+ * To format dates and/or time according to the current locale use
* <code>
* <com:TDateFormat Pattern="dd:MMM:yyyy" Value="01/01/2001" />
- *</code>
- * The date will be formatted according to the current locale (or culture)
+ *</code>
+ * The date will be formatted according to the current locale (or culture)
* using the format specified by 'Pattern' attribute.
- *
+ *
* To format date and/or time for a locale (e.g. de_DE) include a Culture
* attribute, for example:
* <code>
@@ -37,15 +37,15 @@ Prado::using('System.I18N.core.DateFormat');
* </code>
* The date will be formatted according to this format.
*
- * If no Pattern was specified then the date will be formatted with the
+ * If no Pattern was specified then the date will be formatted with the
* default format (both date and time). If no value for the date is specified
- * then the current date will be used. E.g.: <code><com:TDateFormat /></code>
+ * then the current date will be used. E.g.: <code><com:TDateFormat /></code>
* will result in the current date, formatted with default localized pattern.
*
* Namespace: System.I18N
*
* Properties
- * - <b>Value</b>, date,
+ * - <b>Value</b>, date,
* <br>Gets or sets the date to format. The tag content is used as Value
* if the Value property is not specified.
* - <b>Pattern</b>, string,
@@ -54,7 +54,7 @@ Prado::using('System.I18N.core.DateFormat');
* 'long time', 'medium time', and 'short time'. Custom patterns can
* specified when the Pattern property does not match the predefined
* patterns.
- *
+ *
* @author Xiang Wei Zhuo <weizhuo[at]gmail[dot]com>
* @version v1.0, last update on Sat Dec 11 15:25:11 EST 2004
* @package System.I18N
@@ -63,13 +63,13 @@ class TDateFormat extends TI18NControl
{
/**
* Default DateFormat, set to the application culture.
- * @var DateFormat
+ * @var DateFormat
*/
protected static $formatter;
-
+
/**
* A set of pattern presets and their respective formatting shorthand.
- * @var array
+ * @var array
*/
protected $patternPresets = array(
'fulldate'=>'P','full'=>'P',
@@ -78,7 +78,7 @@ class TDateFormat extends TI18NControl
'shortdate'=>'d','short'=>'d',
'fulltime'=>'Q', 'longtime'=>'T',
'mediumtime'=>'q', 'shorttime'=>'t');
-
+
/**
* Sets the date time formatting pattern.
* @param string format pattern.
@@ -87,15 +87,15 @@ class TDateFormat extends TI18NControl
{
$this->setViewState('Pattern',$value,'');
}
-
+
/**
* Gets the date time format pattern.
* @return string format pattern.
*/
function getPattern()
- {
+ {
$string = $this->getViewState('Pattern','');
-
+
$pattern = null;
//try the subpattern of "date time" presets
@@ -106,9 +106,9 @@ class TDateFormat extends TI18NControl
$datetime[] = $this->getPreset($subpatterns[0]);
$datetime[] = $this->getPreset($subpatterns[1]);
}
-
+
//we have a good subpattern
- if(count($datetime) == 2
+ if(count($datetime) == 2
&& strlen($datetime[0]) == 1
&& strlen($datetime[1]) == 1)
{
@@ -116,20 +116,20 @@ class TDateFormat extends TI18NControl
}
else //no subpattern, try the presets
$pattern = $this->getPreset($string);
-
+
//no presets found, use the string as the pattern
//and let the DateFormat handle it.
if(is_null($pattern))
$pattern = $string;
- if (!is_array($pattern) && strlen($pattern) == 0)
+ if (!is_array($pattern) && strlen($pattern) == 0)
$pattern = null;
return $pattern;
}
-
+
/**
* For a given string, try and find a preset pattern.
* @param string the preset pattern name
- * @return string a preset pattern if found, null otherwise.
+ * @return string a preset pattern if found, null otherwise.
*/
protected function getPreset($string)
{
@@ -140,10 +140,10 @@ class TDateFormat extends TI18NControl
return $preset;
}
}
-
+
/**
* Get the date-time value for this control.
- * @return string date time value.
+ * @return string date time value.
*/
function getValue()
{
@@ -152,7 +152,7 @@ class TDateFormat extends TI18NControl
return time();
return $value;
}
-
+
/**
* Set the date-time value for this control.
* @param string the date-time value.
@@ -161,42 +161,42 @@ class TDateFormat extends TI18NControl
{
$this->setViewState('Value',$value,'');
}
-
+
/**
* Renders the localized version of the date-time value.
* If the culture is not specified, the default application
* culture will be used.
* This method overrides parent's implementation.
- */
+ */
protected function getFormattedDate()
{
$app = $this->Application->getGlobalization();
-
+
//initialized the default class wide formatter
if(is_null(self::$formatter))
self::$formatter = new DateFormat($app->getCulture());
-
+
$culture = $this->getCulture();
//return the specific cultural formatted date time
if(strlen($culture) && $app->getCulture() !== $culture)
{
$formatter = new DateFormat($culture);
- return $formatter->format($this->getValue(),
- $this->getPattern(),
+ return $formatter->format($this->getValue(),
+ $this->getPattern(),
$this->getCharset());
}
//return the application wide culture formatted date time.
- $result = self::$formatter->format($this->getValue(),
- $this->getPattern(),
+ $result = self::$formatter->format($this->getValue(),
+ $this->getPattern(),
$this->getCharset());
return $result;
}
- protected function render($writer)
+ public function render($writer)
{
$writer->write($this->getFormattedDate());
}
-
+
}
?> \ No newline at end of file
diff --git a/framework/I18N/TNumberFormat.php b/framework/I18N/TNumberFormat.php
index 9f2de233..e50a0de3 100644
--- a/framework/I18N/TNumberFormat.php
+++ b/framework/I18N/TNumberFormat.php
@@ -1,11 +1,11 @@
<?php
/**
* TNumberFromat component.
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the BSD License.
*
- * Copyright(c) 2004 by Xiang Wei Zhuo.
+ * Copyright(c) 2004 by Xiang Wei Zhuo.
*
* To contact the author write to {@link mailto:qiang.xue@gmail.com Qiang Xue}
* The latest version of PRADO can be obtained from:
@@ -23,37 +23,37 @@ Prado::using('System.I18N.core.NumberFormat');
/**
- * To format numbers in locale sensitive manner use
+ * To format numbers in locale sensitive manner use
* <code>
* <com:TNumberFormat Pattern="0.##" value="2.0" />
* </code>
- *
+ *
* Numbers can be formatted as currency, percentage, decimal or scientific
- * numbers by specifying the Type attribute. The known types are
+ * numbers by specifying the Type attribute. The known types are
* "currency", "percentage", "decimal" and "scientific".
*
- * If someone from US want to see sales figures from a store in
- * Germany (say using the EURO currency), formatted using the german
- * currency, you would need to use the attribute Culture="de_DE" to get
- * the currency right, e.g. 100,00 â‚?. The decimal and grouping separator is
- * then also from the de_DE locale. This may lead to some confusion because
+ * If someone from US want to see sales figures from a store in
+ * Germany (say using the EURO currency), formatted using the german
+ * currency, you would need to use the attribute Culture="de_DE" to get
+ * the currency right, e.g. 100,00 â‚?. The decimal and grouping separator is
+ * then also from the de_DE locale. This may lead to some confusion because
* people from US know the "," as thousand separator. Therefore a "Currency"
* attribute is available, so that the output from the following example
* results in â‚?100.00
* <code>
* <com:TNumberFormat Type="currency" Culture="en_US" Currency="EUR" Value="100" />
* </code>
- *
+ *
* Namespace: System.I18N
*
* Properties
- * - <b>Value</b>, number,
+ * - <b>Value</b>, number,
* <br>Gets or sets the number to format. The tag content is used as Value
* if the Value property is not specified.
* - <b>Type</b>, string,
- * <br>Gets or sets the formatting type. The valid types are
+ * <br>Gets or sets the formatting type. The valid types are
* 'decimal', 'currency', 'percentage' and 'scientific'.
- * - <b>Currency</b>, string,
+ * - <b>Currency</b>, string,
* <br>Gets or sets the currency symbol for the currency format.
* The default is 'USD' if the Currency property is not specified.
* - <b>Pattern</b>, string,
@@ -62,15 +62,15 @@ Prado::using('System.I18N.core.NumberFormat');
* @author Xiang Wei Zhuo <weizhuo[at]gmail[dot]com>
* @version v1.0, last update on Sat Dec 11 17:49:56 EST 2004
* @package System.I18N
- */
-class TNumberFormat extends TI18NControl
+ */
+class TNumberFormat extends TI18NControl
{
/**
* Default NumberFormat, set to the application culture.
- * @var NumberFormat
+ * @var NumberFormat
*/
protected static $formatter;
-
+
/**
* Get the number formatting pattern.
* @return string format pattern.
@@ -79,7 +79,7 @@ class TNumberFormat extends TI18NControl
{
return $this->getViewState('Pattern','');
}
-
+
/**
* Set the number format pattern.
* @param string format pattern.
@@ -88,16 +88,16 @@ class TNumberFormat extends TI18NControl
{
$this->setViewState('Pattern',$pattern,'');
}
-
+
/**
* Get the numberic value for this control.
* @return string number
*/
function getValue()
- {
+ {
return $this->getViewState('Value','');
}
-
+
/**
* Set the numberic value for this control.
* @param string the number value
@@ -106,7 +106,7 @@ class TNumberFormat extends TI18NControl
{
$this->setViewState('Value',$value,'');
}
-
+
/**
* Get the formatting type for this control.
* @return string formatting type.
@@ -118,17 +118,17 @@ class TNumberFormat extends TI18NControl
return 'd';
return $type;
}
-
+
/**
* Set the formatting type for this control.
- * @param string formatting type, either "decimal", "currency","percentage"
+ * @param string formatting type, either "decimal", "currency","percentage"
* or "scientific"
* @throws TPropertyTypeInvalidException
*/
function setType($type)
{
$type = strtolower($type);
-
+
switch($type)
{
case 'decimal':
@@ -142,13 +142,13 @@ class TNumberFormat extends TI18NControl
default:
throw new TPropertyTypeInvalidException($this,'Type',$type);
}
-
+
}
-
+
/**
* Get the currency for this control.
* @param parameter
- * @return string 3 letter currency code.
+ * @return string 3 letter currency code.
*/
function getCurrency()
{
@@ -157,33 +157,33 @@ class TNumberFormat extends TI18NControl
return 'USD';
return $currency;
}
-
+
/**
- * Set the 3-letter ISO 4217 code. For example, the code
+ * Set the 3-letter ISO 4217 code. For example, the code
* "USD" represents the US Dollar and "EUR" represents the Euro currency.
* @param string currency code.
*/
function setCurrency($currency)
{
$this->setViewState('Currency', $currency,'');
- }
-
+ }
+
/**
* Formats the localized number, be it currency or decimal, or percentage.
* If the culture is not specified, the default application
* culture will be used.
* @return string formatted number
- */
+ */
protected function getFormattedValue()
{
$app = $this->Application->getGlobalization();
//initialized the default class wide formatter
if(is_null(self::$formatter))
self::$formatter = new NumberFormat($app->getCulture());
-
- $pattern = strlen($this->getPattern()) > 0
+
+ $pattern = strlen($this->getPattern()) > 0
? $this->getPattern() : $this->getType();
-
+
$culture = $this->getCulture();
//return the specific cultural formatted number
if(!empty($culture) && $app->getCulture() != $culture)
@@ -193,14 +193,14 @@ class TNumberFormat extends TI18NControl
$this->getCurrency(),
$this->getCharset());
}
-
+
//return the application wide culture formatted number.
return self::$formatter->format($this->getValue(),$pattern,
- $this->getCurrency(),
+ $this->getCurrency(),
$this->getCharset());
}
- protected function render($writer)
+ public function render($writer)
{
$writer->write($this->getFormattedValue());
}
diff --git a/framework/I18N/TTranslate.php b/framework/I18N/TTranslate.php
index d38e3281..e013b37d 100644
--- a/framework/I18N/TTranslate.php
+++ b/framework/I18N/TTranslate.php
@@ -138,7 +138,7 @@ class TTranslate extends TI18NControl
/**
* renders the translated string.
*/
- protected function render($writer)
+ public function render($writer)
{
$textWriter=new TTextWriter;
$htmlWriter=new THtmlWriter($textWriter);