summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/include/rcube.php12
1 files changed, 12 insertions, 0 deletions
diff --git a/program/include/rcube.php b/program/include/rcube.php
index 694f28820..e9add8d5a 100644
--- a/program/include/rcube.php
+++ b/program/include/rcube.php
@@ -1050,6 +1050,18 @@ class rcube
*/
public static function raise_error($arg = array(), $log = false, $terminate = false)
{
+ // handle PHP exceptions
+ if (is_object($arg) && is_a($arg, 'Exception')) {
+ $err = array(
+ 'type' => 'php',
+ 'code' => $arg->getCode(),
+ 'line' => $arg->getLine(),
+ 'file' => $arg->getFile(),
+ 'message' => $arg->getMessage(),
+ );
+ $arg = $err;
+ }
+
// installer
if (class_exists('rcube_install', false)) {
$rci = rcube_install::get_instance();