Warning: strpos() expects parameter 1 to be string, array given in

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

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

In this Discussion