Hi guys,
I have a big problem and i don't know to resolve it. On one of my websites it's appearing this error:
Warning: strpos() expects parameter 1 to be string, array given in /home/scafero/public_html/core/templater_plugins/modifier.escape.php on line 24
I checked that file and i didn't saw the problem.
Down i'll paste my info from that file:
<?php
/**
* Smarty plugin
*
@package Smarty
*
@subpackage plugins
*/
/**
* Smarty escape modifier plugin
*
* Type: modifier<br>
* Name: escape
* Purpose: Escape the string according to escapement type
*
@link http://smarty.php.net/manual/en/language.modifier.escape.php * escape (Smarty online manual)
*
@author Monte Ohrt
*
@param string
*
@param html|htmlall|url|quotes|hex|hexentity|javascript
*
@return string
*/
function smarty_modifier_escape($string, $esc_type = 'html', $char_set = 'ISO-8859-1')
{
if (strpos($string, "class=cm-translate") !== false) {
return $string;
}
$string = fn_html_escape($string, true);
switch ($esc_type) {
case 'html':
return fn_html_escape($string);
case 'htmlall':
return htmlentities($string, ENT_QUOTES, $char_set);
case 'url':
return rawurlencode($string);
case 'urlpathinfo':
return str_replace('%2F','/',rawurlencode($string));
case 'quotes':
// escape unescaped single quotes
return preg_replace("%(?<!\\)'%", "\'", $string);
case 'hex':
// escape every character into hex
$return = '';
for ($x=0; $x < strlen($string); $x++) {
$return .= '%' . bin2hex($string[$x]);
}
return $return;
case 'hexentity':
$return = '';
for ($x=0; $x < strlen($string); $x++) {
$return .= '&#x' . bin2hex($string[$x]) . ';';
}
return $return;
case 'decentity':
$return = '';
for ($x=0; $x < strlen($string); $x++) {
$return .= '&#' . ord($string[$x]) . ';';
}
return $return;
case 'javascript':
// escape quotes and backslashes, newlines, etc.
return strtr($string, array('\'=>'\\',"'"=>"\'",'"'=>'\"',"
"=>'\r',"
"=>'\n','</'=>'</'));
case 'mail':
// safe way to display e-mail address on a web page
return str_replace(array('
@', '.'),array(' [AT] ', ' [DOT] '), $string);
case 'nonstd':
// escape non-standard chars, such as ms document quotes
$_res = '';
for($_i = 0, $_len = strlen($string); $_i < $_len; $_i++) {
$_ord = ord(substr($string, $_i, 1));
// non-standard char, escape it
if($_ord >= 126){
$_res .= '&#' . $_ord . ';';
}
else {
$_res .= substr($string, $_i, 1);
}
}
return $_res;
default:
return $string;
}
}
/* vim: set expandtab: */
?>
Please, can anyoane help me?
Thanks.
Comments