$smarty_dir, 'length' => strlen($smarty_dir),); } } // walk the muted directories and test against $errfile foreach (self::$mutedDirectories as $key => &$dir) { if (!$dir) { // resolve directory and length for speedy comparisons $file = realpath($key); if ($file === false) { // this directory does not exist, remove and skip it unset(self::$mutedDirectories[ $key ]); continue; } $dir = array('file' => $file, 'length' => strlen($file),); } if (!strncmp($errfile, $dir[ 'file' ], $dir[ 'length' ])) { $_is_muted_directory = true; break; } } // pass to next error handler if this error did not occur inside SMARTY_DIR // or the error was within smarty but masked to be ignored if (!$_is_muted_directory || ($errno && $errno & error_reporting())) { if (self::$previousErrorHandler) { return call_user_func( self::$previousErrorHandler, $errno, $errstr, $errfile, $errline, $errcontext ); } else { return false; } } } }