[limb-svn] r6721 - in 3.x/trunk/limb/i18n: src/wact tests/cases

svn at limb-project.com svn at limb-project.com
Tue Jan 22 11:39:52 MSK 2008


Author: serega
Date: 2008-01-22 11:39:51 +0300 (Tue, 22 Jan 2008)
New Revision: 6721
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6721

Added:
   3.x/trunk/limb/i18n/src/wact/capitalize.filter.php
   3.x/trunk/limb/i18n/src/wact/clip.filter.php
   3.x/trunk/limb/i18n/src/wact/current_locale.tag.php
   3.x/trunk/limb/i18n/src/wact/date.filter.php
   3.x/trunk/limb/i18n/src/wact/i18n.filter.php
   3.x/trunk/limb/i18n/src/wact/lowercase.filter.php
   3.x/trunk/limb/i18n/src/wact/number.filter.php
   3.x/trunk/limb/i18n/src/wact/trim.filter.php
   3.x/trunk/limb/i18n/src/wact/uppercase.filter.php
   3.x/trunk/limb/i18n/tests/cases/wact/
Removed:
   3.x/trunk/limb/i18n/src/wact/tags/
   3.x/trunk/limb/i18n/tests/cases/template/
Log:
-- other WACT related folders renaming and movements in I18N package


Copied: 3.x/trunk/limb/i18n/src/wact/capitalize.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/capitalize.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/capitalize.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/capitalize.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,40 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n_capitalize
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NCapitalizeFilter extends WactCompilerFilter
+{
+  var $locale_var;
+
+  function getValue()
+  {
+    $value = $this->base->getValue();
+
+    $toolkit = lmbToolkit :: instance();
+
+    if ($this->isConstant())
+      return lmb_ucfirst($value);
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function generateExpression($code)
+  {
+    parent :: generateExpression($code);
+
+    $code->writePHP('lmb_ucfirst(');
+    $this->base->generateExpression($code);
+    $code->writePHP(')');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/src/wact/clip.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/clip.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/clip.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/clip.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,159 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n_clip
+ * @min_attributes 1
+ * @max_attributes 4
+ * @package i18n
+ * @version $Id$
+ */
+class I18NClipFilter extends WactCompilerFilter
+{
+  var $str;
+  var $strlen;
+  var $start;
+  var $len;
+  var $suffix;
+  var $match;
+
+  function getValue()
+  {
+    $suffix = '';
+
+    if ($this->isConstant())
+    {
+      $value = $this->base->getValue();
+      switch (count($this->parameters)) {
+      case 1:
+        return lmb_substr($value, 0, $this->parameters[0]->getValue());
+        break;
+      case 2:
+        return lmb_substr($value, $this->parameters[1]->getValue(), $this->parameters[0]->getValue());
+        break;
+      case 3:
+        $suffix = $this->_getSuffix($value,
+                                   $this->parameters[0]->getValue(),
+                                   $this->parameters[1]->getValue(),
+                                   $this->parameters[2]->getValue());
+        return lmb_substr($value, $this->parameters[1]->getValue(), $this->parameters[0]->getValue()) . $suffix;
+        break;
+      case 4:
+        $limit = $this->parameters[0]->getValue();
+        $offset = $this->parameters[1]->getValue();
+        $word_wrap = $this->parameters[3]->getValue();
+        $suffix = $this->_getSuffix($value, $limit, $offset, $this->parameters[2]->getValue());
+
+        if (strtoupper(substr($word_wrap,0,1)) != 'N')
+        {
+            if(lmb_preg_match('~^(.{0,'.$limit.'}(?U)\w*)\b~ism', lmb_substr($value, $offset), $match))
+              return $match[1].$suffix;
+            else
+              return '';
+        }
+        else
+          return lmb_substr($value, $offset, $limit) . $suffix;
+        break;
+      default:
+          throw new WactException('Wrong number of filter parameters(1..4)');
+      }
+    }
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function _getSuffix($value, $limit, $offset, $suffix)
+  {
+    $result = '';
+    if(lmb_strlen($value) > ($limit + $offset))
+      $result = $suffix;
+    return $result;
+  }
+
+  function generatePreStatement($code)
+  {
+    parent::generatePreStatement($code);
+
+    switch (count($this->parameters))
+    {
+      case 1:
+        $this->_generateBaseVars($code);
+        break;
+      case 2:
+        $this->_generateBaseVars($code);
+        $this->_generateOffset($code);
+        break;
+      case 3:
+      case 4:
+        $this->_generateBaseVars($code);
+        $this->_generateOffset($code);
+        $this->_generateSuffix($code);
+        break;
+      default:
+        throw new WactException('Wrong number of filter parameters(1..4)');
+    }
+  }
+
+  function generateExpression($code)
+  {
+    switch (count($this->parameters))
+    {
+      case 1:
+        $code->writePHP('lmb_substr('.$this->str.',0 ,'.$this->len.')');
+        break;
+      case 2:
+        $code->writePHP('lmb_substr('.$this->str.','.$this->start.','.$this->len.')');
+        break;
+      case 3:
+      case 4:
+          $code->writePHP('lmb_substr('.$this->str.','.$this->start.','.$this->len.').' . $this->suffix);
+          break;
+      default:
+        throw new WactException('Wrong number of filter parameters(1..4)');
+    }
+  }
+
+  protected function _generateBaseVars($code)
+  {
+    $this->str = $code->getTempVarRef();
+    $this->strlen = $code->getTempVarRef();
+    $this->len = $code->getTempVarRef();
+
+    $code->writePHP($this->str.'=');
+    $this->base->generateExpression($code);
+    $code->writePHP(';');
+
+    $code->writePHP($this->strlen.' = lmb_strlen('.$this->str.');');
+
+    $code->writePHP($this->len.'=');
+    $this->parameters[0]->generateExpression($code);
+    $code->writePHP(';');
+  }
+
+  protected function _generateOffset($code)
+  {
+
+    $this->start = $code->getTempVarRef();
+
+
+    $code->writePHP($this->start.'=');
+    $this->parameters[1]->generateExpression($code);
+    $code->writePHP(';');
+
+  }
+
+  protected function _generateSuffix($code)
+  {
+    $this->suffix = $code->getTempVarRef();
+
+    $code->writePHP($this->suffix.'=('.$this->strlen.'>'.$this->start.'+'.$this->len.')?');
+    $this->parameters[2]->generateExpression($code);
+    $code->writePHP(':\'\';');
+  }
+}
+

Copied: 3.x/trunk/limb/i18n/src/wact/current_locale.tag.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/current_locale.tag.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/current_locale.tag.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/current_locale.tag.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,29 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @tag limb:CURRENT_LOCALE
+ * @req_const_attributes name
+ * @package i18n
+ * @version $Id$
+ */
+class lmbCurrentLocaleTag extends WactCompilerTag
+{
+  function generateTagContent($code)
+  {
+
+    $name = $this->getAttribute('name');
+    $code->writePhp('if ("' . $name. '" == lmbToolkit :: instance()->getLocale()) {');
+
+    parent::generateTagContent($code);
+
+    $code->writePhp('}');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/src/wact/date.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/date.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/date.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/date.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,164 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+lmb_require('limb/i18n/src/datetime/lmbLocaleDateTime.class.php');
+
+/**
+ * @filter i18n_date
+ * @max_attributes 5
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NDateFilter extends WactCompilerFilter
+{
+  var $date;
+
+  var $locale_var;
+  var $date_var;
+  var $date_format_var;
+
+  function getValue()
+  {
+    $value = $this->base->getValue();
+
+    $toolkit = lmbToolkit :: instance();
+
+    if(isset($this->parameters[0]) && $this->parameters[0]->getValue())
+      $locale = $toolkit->getLocaleObject($this->parameters[0]->getValue());
+    else
+      $locale = $toolkit->getLocaleObject();
+
+    $this->date = new lmbLocaleDateTime();
+
+    $this->_setDate();
+
+    if($this->isConstant())
+      return $this->date->localeStrftime($this->_getFormat($locale), $locale);
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function _setDate()
+  {
+    if(isset($this->parameters[1]) && $this->parameters[1]->getValue())
+      $date_type = $this->parameters[1]->getValue();
+    else
+      $date_type = 'stamp';
+
+    $value = $this->base->getValue();
+    switch($date_type)
+    {
+      case 'string':
+        $this->date = new lmbLocaleDateTime($value);
+      break;
+      case 'stamp':
+        $this->date = new lmbLocaleDateTime((int)$value);
+      break;
+
+      default:
+        $this->date = new lmbLocaleDateTime($value);
+      break;
+    }
+  }
+
+  function _getFormat($locale)
+  {
+    if(isset($this->parameters[3]) && $this->parameters[3]->getValue())
+      return $this->parameters[3]->getValue();
+
+    if(isset($this->parameters[2]) && $this->parameters[2]->getValue())
+      $format_type = $this->parameters[2]->getValue();
+    else
+      $format_type = 'short_date';
+
+    $property = $format_type . '_format';
+    return $locale->$property;
+  }
+
+  function generatePreStatement($code)
+  {
+    parent :: generatePreStatement($code);
+
+    $toolkit_var = $code->getTempVarRef();
+    $this->locale_var = $code->getTempVarRef();
+
+    $code->writePHP("lmb_require('limb/i18n/src/datetime/lmbLocaleDateTime.class.php');");
+    $code->writePHP($toolkit_var . ' = lmbToolkit :: instance();' . "\n");
+    $code->writePHP($this->locale_var . ' = ');
+
+    if(isset($this->parameters[0]) && $this->parameters[0]->getValue())
+    {
+      $code->writePHP($toolkit_var . '->getLocaleObject("' . $this->parameters[0]->getValue(). '");');
+    }
+    else
+    {
+      $code->writePHP($toolkit_var . '->getLocaleObject();');
+    }
+
+    $this->date_var = $code->getTempVarRef();
+
+    $this->_setDBEDate($code);
+
+  }
+
+  function _setDBEDate($code)
+  {
+    if(isset($this->parameters[1]) && $this->parameters[1]->getValue())
+      $date_type = $this->parameters[1]->getValue();
+    else
+      $date_type = 'stamp';
+
+    switch($date_type)
+    {
+      case 'stamp':
+        $code->writePHP($this->date_var . ' = new lmbLocaleDateTime((int)');
+        $this->base->generateExpression($code);
+        $code->writePHP(');');
+      break;
+
+      case 'string':
+        $code->writePHP($this->date_var . ' = new lmbLocaleDateTime(');
+        $this->base->generateExpression($code);
+        $code->writePHP(');');
+      break;
+
+      default:
+        $code->writePHP($this->date_var . ' = new lmbLocaleDateTime((int)');
+        $this->base->generateExpression($code);
+        $code->writePHP(');');
+      break;
+    }
+  }
+
+  function generateExpression($code)
+  {
+    parent :: generateExpression($code);
+
+    $code->writePHP($this->date_var . '->localeStrftime(');
+    $this->_getDBEFormat($code);
+    $code->writePHP(' ,' . $this->locale_var . ')');
+  }
+
+  function _getDBEFormat($code)
+  {
+    if(isset($this->parameters[3]) && $this->parameters[3]->getValue())
+    {
+      $code->writePHP('"' . $this->parameters[3]->getValue() . '"');
+      return;
+    }
+
+    if(isset($this->parameters[2]) && $this->parameters[2]->getValue())
+      $format_type = $this->parameters[2]->getValue();
+    else
+      $format_type = 'short_date';
+
+    $property = $format_type . '_format';
+    $code->writePHP($this->locale_var .'->' . $property);
+  }
+}
+

Copied: 3.x/trunk/limb/i18n/src/wact/i18n.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/i18n.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/i18n.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/i18n.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,76 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n
+ * @min_attributes 1
+ * @max_attributes 100
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NStringFilter extends WactCompilerFilter
+{
+  function getValue()
+  {
+    if(!isset($this->parameters[0]) || !$this->parameters[0]->getValue())
+      throw new WactException('MISSING_FILTER_PARAMETER');
+    else
+      $domain = $this->parameters[0]->getValue();
+
+    $value = $this->base->getValue();
+
+    if($this->isConstant())
+      return lmb_i18n($value, $this->_getAttributes(), $domain);
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function _getAttributes()
+  {
+    $result = array();
+
+    for($i=1; $i < sizeof($this->parameters); $i+=2)
+    {
+      $var = $this->parameters[$i]->getValue();
+      $value = $this->parameters[$i+1]->getValue();
+      $result[$var] = $value;
+    }
+
+    return $result;
+  }
+
+  function generatePreStatement($code)
+  {
+    parent :: generatePreStatement($code);
+
+    $this->params_var = $code->getTempVarRef();
+    $code->writePhp($this->params_var . ' = array();');
+
+    for($i=1; $i < sizeof($this->parameters); $i+=2)
+    {
+      $var = $this->parameters[$i]->getValue();
+      $code->writePhp($this->params_var . '["' . $this->parameters[$i]->getValue() . '"] = ');
+      $code->writePhp($this->parameters[$i+1]->generateExpression($code));
+      $code->writePhp(';'. "\n");
+    }
+  }
+
+  function generateExpression($code)
+  {
+    $code->writePhp('lmb_i18n(');
+
+    $this->base->generateExpression($code);
+
+    $code->writePhp(',' . $this->params_var . ', ');
+
+    $code->writePhp($this->parameters[0]->generateExpression($code));
+    $code->writePhp(')');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/src/wact/lowercase.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/lowercase.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/lowercase.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/lowercase.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,38 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n_lowercase
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NLowercaseFilter extends WactCompilerFilter
+{
+  var $locale_var;
+
+  function getValue()
+  {
+    $value = $this->base->getValue();
+
+    $toolkit = lmbToolkit :: instance();
+
+    if ($this->isConstant())
+      return lmb_strtolower($value);
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function generateExpression($code)
+  {
+    $code->writePHP('lmb_strtolower(');
+    $this->base->generateExpression($code);
+    $code->writePHP(')');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/src/wact/number.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/number.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/number.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/number.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,98 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n_number
+ * @max_attributes 5
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NNumberFilter extends WactCompilerFilter
+{
+  var $locale_var;
+
+  function getValue()
+  {
+    $value = $this->base->getValue();
+
+    $toolkit = lmbToolkit :: instance();
+
+    if(isset($this->parameters[0]) && $this->parameters[0]->getValue())
+      $locale = $toolkit->getLocaleObject($this->parameters[0]->getValue());
+    else
+      $locale = $toolkit->getLocaleObject();
+
+    if(isset($this->parameters[1]) && $this->parameters[1]->getValue())
+      $fract_digits = $this->parameters[1]->getValue();
+    else
+      $fract_digits = $locale->fract_digits;
+
+    if(isset($this->parameters[2]) && $this->parameters[2]->getValue())
+      $decimal_symbol = $this->parameters[2]->getValue();
+    else
+      $decimal_symbol = $locale->decimal_symbol;
+
+    if(isset($this->parameters[3]) && $this->parameters[3]->getValue())
+      $thousand_separator = $this->parameters[3]->getValue();
+    else
+      $thousand_separator = $locale->thousand_separator;
+
+    if ($this->isConstant())
+      return number_format($value, $fract_digits, $decimal_symbol, $thousand_separator);
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function generatePreStatement($code)
+  {
+    $toolkit_var = $code->getTempVarRef();
+    $this->locale_var = $code->getTempVarRef();
+
+    $code->writePHP($toolkit_var . ' = lmbToolkit :: instance();' . "\n");
+    $code->writePHP($this->locale_var . ' = ');
+
+    if(isset($this->parameters[0]) && $this->parameters[0]->getValue())
+    {
+      $code->writePHP($toolkit_var . '->getLocaleObject("' . $this->parameters[0]->getValue(). '");');
+    }
+    else
+    {
+      $code->writePHP($toolkit_var . '->getLocaleObject();');
+    }
+  }
+
+  function generateExpression($code)
+  {
+    $code->writePHP('number_format(');
+    $this->base->generateExpression($code);
+    $code->writePHP(',');
+
+    if(isset($this->parameters[1]) && $this->parameters[1]->getValue())
+      $this->parameters[1]->generateExpression($code);
+    else
+      $code->writePHP($this->locale_var . '->fract_digits');
+
+    $code->writePHP(',');
+
+    if(isset($this->parameters[2]) && $this->parameters[2]->getValue())
+      $this->parameters[2]->generateExpression($code);
+    else
+      $code->writePHP($this->locale_var . '->decimal_symbol');
+
+    $code->writePHP(',');
+
+    if(isset($this->parameters[3]) && $this->parameters[3]->getValue())
+      $this->parameters[3]->generateExpression($code);
+    else
+      $code->writePHP($this->locale_var . '->thousand_separator');
+
+    $code->writePHP(')');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/src/wact/trim.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/trim.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/trim.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/trim.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,48 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n_trim
+ * @max_attributes 1
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NTrimFilter extends WactCompilerFilter
+{
+  function getValue()
+  {
+   if(isset($this->parameters[0]) && $this->parameters[0]->getValue())
+      $characters = $this->parameters[0]->getValue();
+    else
+      $characters = '';
+
+    if (!$this->isConstant())
+      $this->raiseUnresolvedBindingError();
+
+    if($characters)
+      return lmb_trim($this->base->getValue(), $characters);
+    else
+      return lmb_trim($this->base->getValue());
+  }
+
+  function generateExpression($code)
+  {
+    $code->writePHP('lmb_trim(');
+    $this->base->generateExpression($code);
+
+    if(isset($this->parameters[0]) && $this->parameters[0]->getValue())
+    {
+      $code->writePHP(',');
+      $this->parameters[0]->generateExpression($code);
+    }
+
+    $code->writePHP(')');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/src/wact/uppercase.filter.php (from rev 6720, 3.x/trunk/limb/i18n/src/wact/tags/i18n/uppercase.filter.php)
===================================================================
--- 3.x/trunk/limb/i18n/src/wact/uppercase.filter.php	                        (rev 0)
+++ 3.x/trunk/limb/i18n/src/wact/uppercase.filter.php	2008-01-22 08:39:51 UTC (rev 6721)
@@ -0,0 +1,38 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com 
+ * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
+ * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
+ */
+/**
+ * @filter i18n_uppercase
+ * @package i18n
+ * @version $Id$
+ */
+class lmbI18NUppercaseFilter extends WactCompilerFilter
+{
+  var $locale_var;
+
+  function getValue()
+  {
+    $value = $this->base->getValue();
+
+    $toolkit = lmbToolkit :: instance();
+
+    if($this->isConstant())
+      return lmb_strtoupper($value);
+    else
+      $this->raiseUnresolvedBindingError();
+  }
+
+  function generateExpression($code)
+  {
+    $code->writePHP('lmb_strtoupper(');
+    $this->base->generateExpression($code);
+    $code->writePHP(')');
+  }
+}
+
+

Copied: 3.x/trunk/limb/i18n/tests/cases/wact (from rev 6712, 3.x/trunk/limb/i18n/tests/cases/template)



More information about the limb-svn mailing list