You've already forked joomla_test
first commit
This commit is contained in:
380
libraries/legacy/exception/exception.php
Normal file
380
libraries/legacy/exception/exception.php
Normal file
@ -0,0 +1,380 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Legacy
|
||||
* @subpackage Exception
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* Joomla! Exception object.
|
||||
*
|
||||
* @package Joomla.Legacy
|
||||
* @subpackage Exception
|
||||
* @since 11.1
|
||||
* @deprecated 12.1 (Platform) & 4.0 (CMS)
|
||||
*/
|
||||
class JException extends Exception
|
||||
{
|
||||
/**
|
||||
* @var string Error level.
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $level = null;
|
||||
|
||||
/**
|
||||
* @var string Error code.
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $code = null;
|
||||
|
||||
/**
|
||||
* @var string Error message.
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $message = null;
|
||||
|
||||
/**
|
||||
* Additional info about the error relevant to the developer,
|
||||
* for example, if a database connect fails, the dsn used
|
||||
*
|
||||
* @var string
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $info = '';
|
||||
|
||||
/**
|
||||
* Name of the file the error occurred in [Available if backtrace is enabled]
|
||||
*
|
||||
* @var string
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $file = null;
|
||||
|
||||
/**
|
||||
* Line number the error occurred in [Available if backtrace is enabled]
|
||||
*
|
||||
* @var int
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $line = 0;
|
||||
|
||||
/**
|
||||
* Name of the method the error occurred in [Available if backtrace is enabled]
|
||||
*
|
||||
* @var string
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $function = null;
|
||||
|
||||
/**
|
||||
* Name of the class the error occurred in [Available if backtrace is enabled]
|
||||
*
|
||||
* @var string
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $class = null;
|
||||
|
||||
/**
|
||||
* @var string Error type.
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $type = null;
|
||||
|
||||
/**
|
||||
* Arguments recieved by the method the error occurred in [Available if backtrace is enabled]
|
||||
*
|
||||
* @var array
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $args = array();
|
||||
|
||||
/**
|
||||
* @var mixed Backtrace information.
|
||||
* @since 11.1
|
||||
*/
|
||||
protected $backtrace = null;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* - used to set up the error with all needed error details.
|
||||
*
|
||||
* @param string $msg The error message
|
||||
* @param string $code The error code from the application
|
||||
* @param integer $level The error level (use the PHP constants E_ALL, E_NOTICE etc.).
|
||||
* @param string $info Optional: The additional error information.
|
||||
* @param boolean $backtrace True if backtrace information is to be collected
|
||||
*
|
||||
* @since 11.1
|
||||
*
|
||||
* @deprecated 12.1
|
||||
*/
|
||||
public function __construct($msg, $code = 0, $level = null, $info = null, $backtrace = false)
|
||||
{
|
||||
JLog::add('JException is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
$this->level = $level;
|
||||
$this->code = $code;
|
||||
$this->message = $msg;
|
||||
|
||||
if ($info != null)
|
||||
{
|
||||
$this->info = $info;
|
||||
}
|
||||
|
||||
if ($backtrace && function_exists('debug_backtrace'))
|
||||
{
|
||||
$this->backtrace = debug_backtrace();
|
||||
|
||||
for ($i = count($this->backtrace) - 1; $i >= 0; --$i)
|
||||
{
|
||||
++$i;
|
||||
if (isset($this->backtrace[$i]['file']))
|
||||
{
|
||||
$this->file = $this->backtrace[$i]['file'];
|
||||
}
|
||||
if (isset($this->backtrace[$i]['line']))
|
||||
{
|
||||
$this->line = $this->backtrace[$i]['line'];
|
||||
}
|
||||
if (isset($this->backtrace[$i]['class']))
|
||||
{
|
||||
$this->class = $this->backtrace[$i]['class'];
|
||||
}
|
||||
if (isset($this->backtrace[$i]['function']))
|
||||
{
|
||||
$this->function = $this->backtrace[$i]['function'];
|
||||
}
|
||||
if (isset($this->backtrace[$i]['type']))
|
||||
{
|
||||
$this->type = $this->backtrace[$i]['type'];
|
||||
}
|
||||
|
||||
$this->args = false;
|
||||
if (isset($this->backtrace[$i]['args']))
|
||||
{
|
||||
$this->args = $this->backtrace[$i]['args'];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Store exception for debugging purposes!
|
||||
JError::addToStack($this);
|
||||
|
||||
parent::__construct($msg, (int) $code);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns to error message
|
||||
*
|
||||
* @return string Error message
|
||||
*
|
||||
* @since 11.1
|
||||
*
|
||||
* @deprecated 12.1
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
JLog::add('JException::__toString is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
return $this->message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns to error message
|
||||
*
|
||||
* @return string Error message
|
||||
*
|
||||
* @since 11.1
|
||||
* @deprecated 12.1
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
JLog::add('JException::toString is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
return (string) $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a property of the object or the default value if the property is not set.
|
||||
*
|
||||
* @param string $property The name of the property
|
||||
* @param mixed $default The default value
|
||||
*
|
||||
* @return mixed The value of the property or null
|
||||
*
|
||||
* @deprecated 12.1
|
||||
* @see getProperties()
|
||||
* @since 11.1
|
||||
*/
|
||||
public function get($property, $default = null)
|
||||
{
|
||||
JLog::add('JException::get is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
if (isset($this->$property))
|
||||
{
|
||||
return $this->$property;
|
||||
}
|
||||
return $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an associative array of object properties
|
||||
*
|
||||
* @param boolean $public If true, returns only the public properties
|
||||
*
|
||||
* @return array Object properties
|
||||
*
|
||||
* @deprecated 12.1
|
||||
* @see get()
|
||||
* @since 11.1
|
||||
*/
|
||||
public function getProperties($public = true)
|
||||
{
|
||||
JLog::add('JException::getProperties is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
$vars = get_object_vars($this);
|
||||
if ($public)
|
||||
{
|
||||
foreach ($vars as $key => $value)
|
||||
{
|
||||
if ('_' == substr($key, 0, 1))
|
||||
{
|
||||
unset($vars[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $vars;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the most recent error message
|
||||
*
|
||||
* @param integer $i Option error index
|
||||
* @param boolean $toString Indicates if JError objects should return their error message
|
||||
*
|
||||
* @return string Error message
|
||||
*
|
||||
* @since 11.1
|
||||
*
|
||||
* @deprecated 12.1
|
||||
*/
|
||||
public function getError($i = null, $toString = true)
|
||||
{
|
||||
JLog::add('JException::getError is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
// Find the error
|
||||
if ($i === null)
|
||||
{
|
||||
// Default, return the last message
|
||||
$error = end($this->_errors);
|
||||
}
|
||||
elseif (!array_key_exists($i, $this->_errors))
|
||||
{
|
||||
// If $i has been specified but does not exist, return false
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = $this->_errors[$i];
|
||||
}
|
||||
|
||||
// Check if only the string is requested
|
||||
if ($error instanceof Exception && $toString)
|
||||
{
|
||||
return (string) $error;
|
||||
}
|
||||
|
||||
return $error;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all errors, if any
|
||||
*
|
||||
* @return array Array of error messages or JErrors
|
||||
*
|
||||
* @since 11.1
|
||||
*
|
||||
* @deprecated 12.1
|
||||
*/
|
||||
public function getErrors()
|
||||
{
|
||||
JLog::add('JException::getErrors is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
return $this->_errors;
|
||||
}
|
||||
|
||||
/**
|
||||
* Modifies a property of the object, creating it if it does not already exist.
|
||||
*
|
||||
* @param string $property The name of the property
|
||||
* @param mixed $value The value of the property to set
|
||||
*
|
||||
* @return mixed Previous value of the property
|
||||
*
|
||||
* @deprecated 12.1
|
||||
* @see setProperties()
|
||||
* @since 11.1
|
||||
*/
|
||||
public function set($property, $value = null)
|
||||
{
|
||||
JLog::add('JException::set is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
$previous = isset($this->$property) ? $this->$property : null;
|
||||
$this->$property = $value;
|
||||
return $previous;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the object properties based on a named array/hash
|
||||
*
|
||||
* @param mixed $properties Either and associative array or another object
|
||||
*
|
||||
* @return boolean
|
||||
*
|
||||
* @deprecated 12.1
|
||||
* @see set()
|
||||
* @since 11.1
|
||||
*/
|
||||
public function setProperties($properties)
|
||||
{
|
||||
JLog::add('JException::setProperties is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
// Cast to an array
|
||||
$properties = (array) $properties;
|
||||
|
||||
if (is_array($properties))
|
||||
{
|
||||
foreach ($properties as $k => $v)
|
||||
{
|
||||
$this->$k = $v;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an error message
|
||||
*
|
||||
* @param string $error Error message
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 11.1
|
||||
*
|
||||
* @deprecated 12.1
|
||||
*/
|
||||
public function setError($error)
|
||||
{
|
||||
JLog::add('JException::setErrors is deprecated.', JLog::WARNING, 'deprecated');
|
||||
|
||||
array_push($this->_errors, $error);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user