<?php /** * Smarty plugin * * @package Smarty * @subpackage PluginsModifierCompiler */ /** * Smarty unescape modifier plugin * Type: modifier<br> * Name: unescape<br> * Purpose: unescape html entities * * @author Rodney Rehm * * @param array $params parameters * * @return string with compiled code */ function smarty_modifiercompiler_unescape($params) { if (!isset($params[1])) { $params[1] = 'html'; } if (!isset($params[2])) { $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\''; } else { $params[2] = "'" . $params[2] . "'"; } switch (trim($params[1], '"\'')) { case 'entity': case 'htmlall': if (Smarty::$_MBSTRING) { return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; } return 'html_entity_decode(' . $params[0] . ', ENT_NOQUOTES, ' . $params[2] . ')'; case 'html': return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)'; case 'url': return 'rawurldecode(' . $params[0] . ')'; default: return $params[0]; } }