diff options
Diffstat (limited to 'lib/smarty3/plugins/modifiercompiler.wordwrap.php')
-rw-r--r-- | lib/smarty3/plugins/modifiercompiler.wordwrap.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/smarty3/plugins/modifiercompiler.wordwrap.php b/lib/smarty3/plugins/modifiercompiler.wordwrap.php new file mode 100644 index 0000000..9184973 --- /dev/null +++ b/lib/smarty3/plugins/modifiercompiler.wordwrap.php @@ -0,0 +1,51 @@ +<?php +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifierCompiler + */ + +/** + * Smarty wordwrap modifier plugin + * Type: modifier<br> + * Name: wordwrap<br> + * Purpose: wrap a string of text at a given length + * + * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php wordwrap (Smarty online manual) + * @author Uwe Tews + * + * @param array $params parameters + * @param $compiler + * + * @return string with compiled code + */ +function smarty_modifiercompiler_wordwrap($params, $compiler) +{ + if (!isset($params[ 1 ])) { + $params[ 1 ] = 80; + } + if (!isset($params[ 2 ])) { + $params[ 2 ] = '"\n"'; + } + if (!isset($params[ 3 ])) { + $params[ 3 ] = 'false'; + } + $function = 'wordwrap'; + if (Smarty::$_MBSTRING) { + if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) { + $compiler->parent_compiler->template->compiled->required_plugins[ 'nocache' ][ 'wordwrap' ][ 'modifier' ][ 'file' ] = + SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; + $compiler->template->required_plugins[ 'nocache' ][ 'wordwrap' ][ 'modifier' ][ 'function' ] = + 'smarty_mb_wordwrap'; + } else { + $compiler->parent_compiler->template->compiled->required_plugins[ 'compiled' ][ 'wordwrap' ][ 'modifier' ][ 'file' ] = + SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; + $compiler->parent_compiler->template->compiled->required_plugins[ 'compiled' ][ 'wordwrap' ][ 'modifier' ][ 'function' ] = + 'smarty_mb_wordwrap'; + } + $function = 'smarty_mb_wordwrap'; + } + + return $function . '(' . $params[ 0 ] . ',' . $params[ 1 ] . ',' . $params[ 2 ] . ',' . $params[ 3 ] . ')'; +} |