Aleksander Machniak
2013-04-26 f23ef1c96859f6b01a9268c8606a22ceb719cf3d
program/lib/Roundcube/rcube.php
@@ -1082,6 +1082,9 @@
                'message' => $arg->getMessage(),
            );
        }
        else if (is_string($arg)) {
            $arg = array('message' => $arg, 'type' => 'php');
        }
        if (empty($arg['code'])) {
            $arg['code'] = 500;
@@ -1094,14 +1097,24 @@
            return;
        }
        if (($log || $terminate) && $arg['type'] && $arg['message']) {
        $cli = php_sapi_name() == 'cli';
        if (($log || $terminate) && !$cli && $arg['type'] && $arg['message']) {
            $arg['fatal'] = $terminate;
            self::log_bug($arg);
        }
        // display error page and terminate script
        if ($terminate && is_object(self::$instance->output)) {
            self::$instance->output->raise_error($arg['code'], $arg['message']);
        // terminate script
        if ($terminate) {
            // display error page
            if (is_object(self::$instance->output)) {
                self::$instance->output->raise_error($arg['code'], $arg['message']);
            }
            else if ($cli) {
                fwrite(STDERR, 'ERROR: ' . $arg['message']);
            }
            exit(1);
        }
    }
@@ -1140,7 +1153,7 @@
            if (!self::write_log('errors', $log_entry)) {
                // send error to PHPs error handler if write_log didn't succeed
                trigger_error($arg_arr['message']);
                trigger_error($arg_arr['message'], E_USER_WARNING);
            }
        }