fusionpbx/resources/templates/engine/smarty/plugins/modifiercompiler.count_char...

33 lines
918 B
PHP
Raw Normal View History

2013-11-09 21:02:56 +01:00
<?php
/**
* Smarty plugin
*
2018-11-07 08:18:14 +01:00
* @package Smarty
2013-11-09 21:02:56 +01:00
* @subpackage PluginsModifierCompiler
*/
/**
* Smarty count_characters modifier plugin
2018-11-07 08:18:14 +01:00
* Type: modifier
* Name: count_characters
2013-11-09 21:02:56 +01:00
* Purpose: count the number of characters in a text
*
2018-11-07 08:18:14 +01:00
* @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online
* manual)
2013-11-09 21:02:56 +01:00
* @author Uwe Tews
2018-11-07 08:18:14 +01:00
*
2013-11-09 21:02:56 +01:00
* @param array $params parameters
2018-11-07 08:18:14 +01:00
*
2013-11-09 21:02:56 +01:00
* @return string with compiled code
*/
2018-11-07 08:18:14 +01:00
function smarty_modifiercompiler_count_characters($params)
2013-11-09 21:02:56 +01:00
{
2018-11-07 08:18:14 +01:00
if (!isset($params[ 1 ]) || $params[ 1 ] !== 'true') {
return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[ 0 ] . ', $tmp)';
2013-11-09 21:02:56 +01:00
}
if (Smarty::$_MBSTRING) {
2018-11-07 08:18:14 +01:00
return 'mb_strlen(' . $params[ 0 ] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
2013-11-09 21:02:56 +01:00
}
// no MBString fallback
2018-11-07 08:18:14 +01:00
return 'strlen(' . $params[ 0 ] . ')';
2013-11-09 21:02:56 +01:00
}