1<?php 2/** 3 * Smarty plugin 4 * 5 * @package Smarty 6 * @subpackage PluginsModifierCompiler 7 */ 8 9/** 10 * Smarty wordwrap modifier plugin 11 * Type: modifier<br> 12 * Name: wordwrap<br> 13 * Purpose: wrap a string of text at a given length 14 * 15 * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php wordwrap (Smarty online manual) 16 * @author Uwe Tews 17 * 18 * @param array $params parameters 19 * @param $compiler 20 * 21 * @return string with compiled code 22 */ 23function smarty_modifiercompiler_wordwrap($params, $compiler) 24{ 25 if (!isset($params[1])) { 26 $params[1] = 80; 27 } 28 if (!isset($params[2])) { 29 $params[2] = '"\n"'; 30 } 31 if (!isset($params[3])) { 32 $params[3] = 'false'; 33 } 34 $function = 'wordwrap'; 35 if (Smarty::$_MBSTRING) { 36 if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) { 37 $compiler->parent_compiler->template->compiled->required_plugins['nocache']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; 38 $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap'; 39 } else { 40 $compiler->parent_compiler->template->compiled->required_plugins['compiled']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; 41 $compiler->parent_compiler->template->compiled->required_plugins['compiled']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap'; 42 } 43 $function = 'smarty_mb_wordwrap'; 44 } 45 46 return $function . '(' . $params[0] . ',' . $params[1] . ',' . $params[2] . ',' . $params[3] . ')'; 47} 48