/** * @param $errno * @param $errstr * @param $errfile * @param $errline * @param $errcontext */ static function error_handler($errno, $errstr, $errfile, $errline, $errcontext) { $default_domain = Localize::textDomain(NULL); Localize::textDomain(self::$domain); $format = "[%s] %s %s(%s)\n"; $lang_sub_list = array(__gt("array"), __gt("string"), __gt("object")); $lang_list = array(__gt('Missing argument %d for %s, called in'), __gt('Use of undefined constant %s - assumed \'%s\''), __gt('%s to %s conversion'), __gt('Illegal string offset \'%s\''), __gt('Call to undefined method'), __gt('Non-static method %s should not be called statically'), __gt('Call to protected method %s from context \'%s\''), __gt('Cannot access private property'), __gt('Undefined variable: %s'), __gt('Undefined index: %s'), __gt('Illegal offset type in isset or empty'), __gt('%s expects parameter %s to be %s, %s given'), __gt('Call to private method %s from context \'%s\''), __gt('Call to a member function %s on a non-object'), __gt('Invalid argument supplied for %s'), __gt('Only variables should be passed by reference'), __gt('Too few arguments')); $errorno_str = array(E_ERROR => 'ERROR', E_WARNING => 'WARNING', E_PARSE => 'PARSE', E_NOTICE => 'NOTICE', E_CORE_ERROR => 'CORE_ERROR', E_CORE_WARNING => 'CORE_WARNING', E_COMPILE_ERROR => 'COMPILE_ERROR', E_COMPILE_WARNING => 'COMPILE_WARNING', E_USER_ERROR => 'USER_ERROR', E_USER_WARNING => 'USER_WARNING', E_USER_NOTICE => 'USER_NOTICE', E_STRICT => 'STRICT', E_RECOVERABLE_ERROR => 'RECOVERABLE_ERROR', E_DEPRECATED => 'DEPRECATED', E_USER_DEPRECATED => 'USER_DEPRECATED'); $errorno_list = array(E_ERROR => __('Fatal run-time errors'), E_WARNING => __('Run-time warnings (non-fatal errors)'), E_PARSE => __('Compile-time parse errors'), E_NOTICE => __('Run-time notices'), E_CORE_ERROR => __('Fatal errors that occur during PHP\'s initial startup'), E_CORE_WARNING => __('Warnings (non-fatal errors)'), E_COMPILE_ERROR => __('Fatal compile-time errors'), E_COMPILE_WARNING => __('Compile-time warnings (non-fatal errors)'), E_USER_ERROR => __('User-generated error message'), E_USER_WARNING => __('User-generated warning message'), E_USER_NOTICE => __('User-generated notice message'), E_STRICT => __('Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code'), E_RECOVERABLE_ERROR => __('Catchable fatal error'), E_DEPRECATED => __('Run-time notices'), E_USER_DEPRECATED => __('User-generated warning message')); $errno_lg = ""; if (isset($errorno_list[$errno])) { $errno_lg = $errorno_list[$errno]; } $errno = $errorno_str[$errno] . ":" . $errno_lg; foreach ($lang_list as $v) { $pv0 = self::get_pregstr($v[0]); if (preg_match("/" . $pv0 . "/", $errstr, $mt)) { $pv1 = self::get_pregstr_replace($v[1]); $errstr = preg_replace("/" . $pv0 . "/", $pv1, $errstr, 1); foreach ($lang_sub_list as $vv) { $pvv0 = self::get_pregstr($vv[0]); $pvv1 = self::get_pregstr_replace($vv[1]); $errstr = preg_replace("/([\\b])" . $pvv0 . "([\\b])/i", "\$1" . $pvv1 . "\$2", $errstr); } break; } } $display = ini_get("display_errors"); $display = is_numeric($display) ? $display ? true : false : ($display == "On" ? true : false); if ($display) { echo sprintf($format, $errno, $errstr, $errfile, $errline, $errcontext); } Localize::textDomain($default_domain); }
function router_url_language($url) { // verifica se o site possui multiplas linguas if (Configure::read('multiple_language')) { if (is_array($url) && (isset($url['admin']) && $url['admin'] == true || isset($GLOBALS['Dispatcher']->params['admin']) && $GLOBALS['Dispatcher']->params['admin'] == true)) { return $url; } $lang = Configure::read('Config.language'); if (is_array($url)) { if (!isset($url['language'])) { $url['language'] = $lang; } } elseif (substr($url, 0, 7) != '/admin/') { //$url = '/'. $lang .'/'. $url; $url = '/' . $url; } if (isset($url['language'])) { // parametros passados traduzidos se for o controller pages if (isset($url['controller']) && $url['controller'] == 'pages') { foreach ($url as $key => &$pass) { if (is_numeric($key)) { $pass = __gt($url['language'], $pass, true); } } } } } return $url; }