| 
									
										
										
										
											2010-08-05 17:50:16 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty plugin | 
					
						
							| 
									
										
										
										
											2010-08-17 15:39:51 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2010-08-05 17:50:16 +00:00
										 |  |  |  * @package Smarty | 
					
						
							|  |  |  |  * @subpackage PluginsModifierCompiler | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty count_characters modifier plugin | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2010-08-05 17:50:16 +00:00
										 |  |  |  * Type:     modifier<br> | 
					
						
							|  |  |  |  * Name:     count_characteres<br> | 
					
						
							|  |  |  |  * Purpose:  count the number of characters in a text | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual) | 
					
						
							|  |  |  |  * @author Uwe Tews | 
					
						
							| 
									
										
										
										
											2010-08-05 17:50:16 +00:00
										 |  |  |  * @param array $params parameters | 
					
						
							|  |  |  |  * @return string with compiled code | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | function smarty_modifiercompiler_count_characters($params, $compiler) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |     if (!isset($params[1]) || $params[1] != 'true') { | 
					
						
							| 
									
										
										
										
											2011-12-18 18:48:07 +00:00
										 |  |  |         return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)'; | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2011-12-18 18:20:09 +00:00
										 |  |  |     if (Smarty::$_MBSTRING) { | 
					
						
							|  |  |  |         return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')'; | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |     } | 
					
						
							|  |  |  |     // no MBString fallback
 | 
					
						
							|  |  |  |     return 'strlen(' . $params[0] . ')'; | 
					
						
							| 
									
										
										
										
											2010-08-17 15:39:51 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-05 17:50:16 +00:00
										 |  |  | ?>
 |