diff options
Diffstat (limited to 'phpBB/phpbb/exception')
| -rw-r--r-- | phpBB/phpbb/exception/exception_interface.php | 29 | ||||
| -rw-r--r-- | phpBB/phpbb/exception/http_exception.php | 70 | ||||
| -rw-r--r-- | phpBB/phpbb/exception/runtime_exception.php | 52 | 
3 files changed, 151 insertions, 0 deletions
| diff --git a/phpBB/phpbb/exception/exception_interface.php b/phpBB/phpbb/exception/exception_interface.php new file mode 100644 index 0000000000..e8526a35f5 --- /dev/null +++ b/phpBB/phpbb/exception/exception_interface.php @@ -0,0 +1,29 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\exception; + +/** + * Interface exception_interface + * + * Define an exception which support a language var as message. + */ +interface exception_interface +{ +	/** +	 * Return the arguments associated with the message if it's a language var. +	 * +	 * @return array +	 */ +	public function get_parameters(); +} diff --git a/phpBB/phpbb/exception/http_exception.php b/phpBB/phpbb/exception/http_exception.php new file mode 100644 index 0000000000..0e6ffe4f59 --- /dev/null +++ b/phpBB/phpbb/exception/http_exception.php @@ -0,0 +1,70 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\exception; + +use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; + +/** + * Class http_exception + */ +class http_exception extends runtime_exception implements HttpExceptionInterface +{ +	/** +	 * Http status code. +	 * +	 * @var integer +	 */ +	private $status_code; + +	/** +	 * Additional headers to set in the response. +	 * +	 * @var array +	 */ +	private $headers; + +	/** +	 * Constructor +	 * +	 * @param integer		$status_code	The http status code. +	 * @param string		$message		The Exception message to throw (must be a language variable). +	 * @param array			$parameters		The parameters to use with the language var. +	 * @param \Exception	$previous		The previous exception used for the exception chaining. +	 * @param array			$headers		Additional headers to set in the response. +	 * @param integer		$code			The Exception code. +	 */ +	public function __construct($status_code, $message = "", array $parameters = array(), \Exception $previous = null, array $headers = array(), $code = 0) +	{ +		$this->status_code = $status_code; +		$this->headers = $headers; + +		parent::__construct($message, $parameters, $previous, $code); +	} + +	/** +	 * {@inheritdoc} +	 */ +	public function getStatusCode() +	{ +		return $this->status_code; +	} + +	/** +	 * {@inheritdoc} +	 */ +	public function getHeaders() +	{ +		return $this->headers; +	} +} diff --git a/phpBB/phpbb/exception/runtime_exception.php b/phpBB/phpbb/exception/runtime_exception.php new file mode 100644 index 0000000000..6568bbf86f --- /dev/null +++ b/phpBB/phpbb/exception/runtime_exception.php @@ -0,0 +1,52 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\exception; + +/** + * Class runtime_exception + * + * Define an exception which support a language var as message. + */ +class runtime_exception extends \RuntimeException implements exception_interface +{ +	/** +	 * Parameters to use with the language var. +	 * +	 * @var array +	 */ +	private $parameters; + +	/** +	 * Constructor +	 * +	 * @param string		$message	The Exception message to throw (must be a language variable). +	 * @param array			$parameters	The parameters to use with the language var. +	 * @param \Exception	$previous	The previous runtime_exception used for the runtime_exception chaining. +	 * @param integer		$code		The Exception code. +	 */ +	public function __construct($message = "", array $parameters = array(), \Exception $previous = null, $code = 0) +	{ +		$this->parameters = $parameters; + +		parent::__construct($message, $code, $previous); +	} + +	/** +	 * {@inheritdoc} +	 */ +	public function get_parameters() +	{ +		return $this->parameters; +	} +} | 
