aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db/migration/exception.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2013-02-27 21:40:02 +0100
committerMarc Alexander <admin@m-a-styles.de>2013-02-27 21:40:02 +0100
commit96b1cabcf2fbc4955bab65a4931f1815548d4df4 (patch)
tree16e869447ba1560109604402449c57052ea33d06 /phpBB/includes/db/migration/exception.php
parent2f6b072bb13ce9d7c7784136bedec651b73ae11b (diff)
parent80bd78a5e5e1069773c05073cd47662a311bda79 (diff)
downloadforums-96b1cabcf2fbc4955bab65a4931f1815548d4df4.tar
forums-96b1cabcf2fbc4955bab65a4931f1815548d4df4.tar.gz
forums-96b1cabcf2fbc4955bab65a4931f1815548d4df4.tar.bz2
forums-96b1cabcf2fbc4955bab65a4931f1815548d4df4.tar.xz
forums-96b1cabcf2fbc4955bab65a4931f1815548d4df4.zip
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11314
Diffstat (limited to 'phpBB/includes/db/migration/exception.php')
-rw-r--r--phpBB/includes/db/migration/exception.php79
1 files changed, 79 insertions, 0 deletions
diff --git a/phpBB/includes/db/migration/exception.php b/phpBB/includes/db/migration/exception.php
new file mode 100644
index 0000000000..e84330dd71
--- /dev/null
+++ b/phpBB/includes/db/migration/exception.php
@@ -0,0 +1,79 @@
+<?php
+/**
+*
+* @package db
+* @copyright (c) 2012 phpBB Group
+* @license http://opensource.org/licenses/gpl-license.php GNU Public License v2
+*
+*/
+
+/**
+* @ignore
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+/**
+* The migrator is responsible for applying new migrations in the correct order.
+*
+* @package db
+*/
+class phpbb_db_migration_exception extends \Exception
+{
+ /**
+ * Extra parameters sent to exception to aid in debugging
+ * @var array
+ */
+ protected $parameters;
+
+ /**
+ * Throw an exception.
+ *
+ * First argument is the error message.
+ * Additional arguments will be output with the error message.
+ */
+ public function __construct()
+ {
+ $parameters = func_get_args();
+ $message = array_shift($parameters);
+ parent::__construct($message);
+
+ $this->parameters = $parameters;
+ }
+
+ /**
+ * Output the error as a string
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->message . ': ' . var_export($this->parameters, true);
+ }
+
+ /**
+ * Get the parameters
+ *
+ * @return array
+ */
+ public function getParameters()
+ {
+ return $this->parameters;
+ }
+
+ /**
+ * Get localised message (with $user->lang())
+ *
+ * @param phpbb_user $user
+ * @return string
+ */
+ public function getLocalisedMessage(phpbb_user $user)
+ {
+ $parameters = $this->getParameters();
+ array_unshift($parameters, $this->getMessage());
+
+ return call_user_func_array(array($user, 'lang'), $parameters);
+ }
+}