| [ Index ] |
PHP Cross Reference of Limb3 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Limb PHP Framework 4 * 5 * @link http://limb-project.com 6 * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com) 7 * @license LGPL http://www.gnu.org/copyleft/lesser.html 8 */ 9 /** 10 * @filter i18n_number 11 * @max_attributes 5 12 * @package i18n 13 * @version $Id: number.filter.php 5945 2007-06-06 08:31:43Z pachanga $ 14 */ 15 class lmbI18NNumberFilter extends WactCompilerFilter 16 { 17 var $locale_var; 18 19 function getValue() 20 { 21 $value = $this->base->getValue(); 22 23 $toolkit = lmbToolkit :: instance(); 24 25 if(isset($this->parameters[0]) && $this->parameters[0]->getValue()) 26 $locale = $toolkit->getLocaleObject($this->parameters[0]->getValue()); 27 else 28 $locale = $toolkit->getLocaleObject(); 29 30 if(isset($this->parameters[1]) && $this->parameters[1]->getValue()) 31 $fract_digits = $this->parameters[1]->getValue(); 32 else 33 $fract_digits = $locale->fract_digits; 34 35 if(isset($this->parameters[2]) && $this->parameters[2]->getValue()) 36 $decimal_symbol = $this->parameters[2]->getValue(); 37 else 38 $decimal_symbol = $locale->decimal_symbol; 39 40 if(isset($this->parameters[3]) && $this->parameters[3]->getValue()) 41 $thousand_separator = $this->parameters[3]->getValue(); 42 else 43 $thousand_separator = $locale->thousand_separator; 44 45 if ($this->isConstant()) 46 return number_format($value, $fract_digits, $decimal_symbol, $thousand_separator); 47 else 48 $this->raiseUnresolvedBindingError(); 49 } 50 51 function generatePreStatement($code) 52 { 53 $toolkit_var = $code->getTempVarRef(); 54 $this->locale_var = $code->getTempVarRef(); 55 56 $code->writePHP($toolkit_var . ' = lmbToolkit :: instance();' . "\n"); 57 $code->writePHP($this->locale_var . ' = '); 58 59 if(isset($this->parameters[0]) && $this->parameters[0]->getValue()) 60 { 61 $code->writePHP($toolkit_var . '->getLocaleObject("' . $this->parameters[0]->getValue(). '");'); 62 } 63 else 64 { 65 $code->writePHP($toolkit_var . '->getLocaleObject();'); 66 } 67 } 68 69 function generateExpression($code) 70 { 71 $code->writePHP('number_format('); 72 $this->base->generateExpression($code); 73 $code->writePHP(','); 74 75 if(isset($this->parameters[1]) && $this->parameters[1]->getValue()) 76 $this->parameters[1]->generateExpression($code); 77 else 78 $code->writePHP($this->locale_var . '->fract_digits'); 79 80 $code->writePHP(','); 81 82 if(isset($this->parameters[2]) && $this->parameters[2]->getValue()) 83 $this->parameters[2]->generateExpression($code); 84 else 85 $code->writePHP($this->locale_var . '->decimal_symbol'); 86 87 $code->writePHP(','); 88 89 if(isset($this->parameters[3]) && $this->parameters[3]->getValue()) 90 $this->parameters[3]->generateExpression($code); 91 else 92 $code->writePHP($this->locale_var . '->thousand_separator'); 93 94 $code->writePHP(')'); 95 } 96 } 97 98 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Oct 7 05:02:03 2008 | Cross-referenced by PHPXref 0.7 |