fetch($params['file']); return $c; } function jtpl_modifier_escape($string, $method='html', $charset='UTF-8') { // Allows to do multiple escapes in one call if (strpos($method, ',')) { $methods = explode(',', $method); foreach ($methods as $method) { $string = jtpl_modifier_escape($string, trim($method), $charset); } return $string; } switch ($method) { case 'html': if (version_compare(PHP_VERSION, '5.2.3') === 1) { return htmlspecialchars($string, ENT_QUOTES, $charset, false); } else { $string = htmlspecialchars($string, ENT_QUOTES, $charset); return strtr($string, array('&amp;' => '&', '&#' => '&#')); } case 'htmlall': case 'entities': if (version_compare(PHP_VERSION, '5.2.3') === 1) { return htmlentities($string, ENT_QUOTES, $charset, false); } else { $string = htmlentities($string, ENT_QUOTES, $charset, false); return strtr($string, array('&amp;' => '&', '&#' => '&#')); } case 'js': case 'javascript': // escape quotes and backslashes, newlines, etc. return strtr($string, array('\\'=>'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n',''<\/')); case 'mail': return str_replace('@', '@', $string); case 'url': return rawurlencode($string); default: throw new jTpl_Template_Exception("Unknown method for escape: ".$method, jTpl_Template_Exception::IN_MODIFIER); } } ?>