⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 error.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
📖 第 1 页 / 共 2 页
字号:
	/**  	 * Method that attaches the error handler to JError  	 *  	 * @access public  	 * @see set_error_handler  	 */	function attachHandler()	{		set_error_handler(array('JError', 'customErrorHandler'));	}	/**  	 * Method that dettaches the error handler from JError  	 *  	 * @access public  	 * @see restore_error_handler  	 */	function detachHandler()	{		restore_error_handler();	}	/**	* Method to register a new error level for handling errors	*	* This allows you to add custom error levels to the built-in	* - E_NOTICE	* - E_WARNING	* - E_NOTICE	*	* @static	* @param	int		$level		Error level to register	* @param	string	$name		Human readable name for the error level	* @param	string	$handler	Error handler to set for the new error level [optional]	* @return	boolean	True on success; false if the level already has been registered	* @since	1.5	*/	function registerErrorLevel( $level, $name, $handler = 'ignore' )	{		if( isset($GLOBALS['_JERROR_LEVELS'][$level]) ) {			return false;		}		$GLOBALS['_JERROR_LEVELS'][$level] = $name;		JError::setErrorHandling($level, $handler);		return true;	}	/**	* Translate an error level integer to a human readable string	* e.g. E_ERROR will be translated to 'Error'	*	* @static	* @param	int		$level	Error level to translate	* @return	mixed	Human readable error level name or boolean false if it doesn't exist	* @since	1.5	*/	function translateErrorLevel( $level )	{		if( isset($GLOBALS['_JERROR_LEVELS'][$level]) ) {			return $GLOBALS['_JERROR_LEVELS'][$level];		}		return false;	}	/**	 * Ignore error handler	 * 	- Ignores the error	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function & handleIgnore(&$error, $options)	{		return $error;	}	/**	 * Echo error handler	 * 	- Echos the error message to output	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function & handleEcho(&$error, $options)	{		$level_human = JError::translateErrorLevel($error->get('level'));		if (isset ($_SERVER['HTTP_HOST'])) {			// output as html			echo "<br /><b>jos-$level_human</b>: ".$error->get('message')."<br />\n";		} else {			// output as simple text			if (defined('STDERR')) {				fwrite(STDERR, "J$level_human: ".$error->get('message')."\n");			} else {				echo "J$level_human: ".$error->get('message')."\n";			}		}		return $error;	}	/**	 * Verbose error handler	 * 	- Echos the error message to output as well as related info	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function & handleVerbose(& $error, $options)	{		$level_human = JError::translateErrorLevel($error->get('level'));		$info = $error->get('info');		if (isset ($_SERVER['HTTP_HOST'])) {			// output as html			echo "<br /><b>J$level_human</b>: ".$error->get('message')."<br />\n";			if ($info != null) {				echo "&nbsp;&nbsp;&nbsp;".$info."<br />\n";			}			echo $error->getBacktrace(true);		} else {			// output as simple text			echo "J$level_human: ".$error->get('message')."\n";			if ($info != null) {				echo "\t".$info."\n";			}		}		return $error;	}	/**	 * Die error handler	 * 	- Echos the error message to output and then dies	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function & handleDie(& $error, $options)	{		$level_human = JError::translateErrorLevel($error->get('level'));		if (isset ($_SERVER['HTTP_HOST'])) {			// output as html			jexit("<br /><b>J$level_human</b> ".$error->get('message')."<br />\n");		} else {			// output as simple text			if (defined('STDERR')) {				fwrite(STDERR, "J$level_human ".$error->get('message')."\n");			} else {				jexit("J$level_human ".$error->get('message')."\n");			}		}		return $error;	}	/**	 * Message error handler	 * 	- Enqueues the error message into the system queue	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function & handleMessage(& $error, $options)	{		global $mainframe;		$type = ($error->get('level') == E_NOTICE) ? 'notice' : 'error';		$mainframe->enqueueMessage($error->get('message'), $type);		return $error;	}	/**	 * Log error handler	 * 	- Logs the error message to a system log file	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function & handleLog(& $error, $options)	{		static $log;		if ($log == null)		{			jimport('joomla.error.log');			$fileName = date('Y-m-d').'.error.log';			$options['format'] = "{DATE}\t{TIME}\t{LEVEL}\t{CODE}\t{MESSAGE}";			$log = & JLog::getInstance($fileName, $options);		}		$entry['level'] = $error->get('level');		$entry['code'] = $error->get('code');		$entry['message'] = str_replace(array ("\r","\n"), array ('','\\n'), $error->get('message'));		$log->addEntry($entry);		return $error;	} 	/**	 * Callback error handler	 * 	- Send the error object to a callback method for error handling	 *	 * @static	 * @param	object	$error		Exception object to handle	 * @param	array	$options	Handler options	 * @return	object	The exception object	 * @since	1.5	 *	 * @see	raise()	 */	function &handleCallback( &$error, $options )	{		$result = call_user_func( $options, $error );		return $result;	}	/**	 * Display a custom error page and exit gracefully	 *	 * @static	 * @param	object	$error Exception object	 * @return	void	 * @since	1.5	 */	function customErrorPage(& $error)	{		// Initialize variables		jimport('joomla.document.document');		$app        = & JFactory::getApplication();		$document	= & JDocument::getInstance('error');		$config		= & JFactory::getConfig();		// Get the current template from the application		$template = $app->getTemplate();		// Push the error object into the document		$document->setError($error);		@ob_end_clean();		$document->setTitle(JText::_('Error').': '.$error->code);		$data = $document->render(false, array (			'template' => $template,			'directory' => JPATH_THEMES,			'debug' => $config->getValue('config.debug')		));		JResponse::setBody($data);		echo JResponse::toString();		$app->close(0);	}	function customErrorHandler($level, $msg)	{		JError::raise($level, '', $msg);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -