summaryrefslogtreecommitdiff
path: root/modules/g2_import/libraries
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-03-30 13:18:05 -0700
committerBharat Mediratta <bharat@menalto.com>2010-03-30 13:18:05 -0700
commit7f175ea87e9567817d34729dec83f7f36509b894 (patch)
tree9573fabba5730dbf75c36b40d57a23ff78abed41 /modules/g2_import/libraries
parentd78ea4bc0aaa0e40f54f2ac703fbb690722aac42 (diff)
Move G2_Import_Exception into libraries because it's not a helper class.
Diffstat (limited to 'modules/g2_import/libraries')
-rw-r--r--modules/g2_import/libraries/G2_Import_Exception.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/g2_import/libraries/G2_Import_Exception.php b/modules/g2_import/libraries/G2_Import_Exception.php
new file mode 100644
index 00000000..591f51cd
--- /dev/null
+++ b/modules/g2_import/libraries/G2_Import_Exception.php
@@ -0,0 +1,39 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2010 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * A wrapper for exceptions to report more details in case
+ * it's a ORM validation exception.
+ */
+class G2_Import_Exception extends Exception {
+ public function __construct($message, Exception $previous=null, $additional_messages=null) {
+ if ($additional_messages) {
+ $message .= "\n" . implode("\n", $additional_messages);
+ }
+ if ($previous && $previous instanceof ORM_Validation_Exception) {
+ $message .= "\nORM validation errors: " . print_r($previous->validation->errors(), true);
+ }
+ if ($previous) {
+ $message .= "\n" . (string) $previous;
+ }
+ // The $previous parameter is supported in PHP 5.3.0+.
+ parent::__construct($message);
+ }
+} \ No newline at end of file