Thomas Bruederli
2015-07-31 2965a981b7ec22866fbdf2d567d87e2d068d3617
program/lib/Roundcube/rcube.php
@@ -37,6 +37,8 @@
    const REQUEST_ERROR_URL   = 1;
    const REQUEST_ERROR_TOKEN = 2;
    const DEBUG_LINE_LENGTH = 4096;
    /**
     * Singleton instace of rcube
     *
@@ -523,6 +525,7 @@
        // get session driver instance
        $this->session = rcube_session::factory($this->config);
        $this->session->register_gc_handler(array($this, 'gc'));
        // start PHP session (if not in CLI mode)
        if ($_SERVER['REMOTE_ADDR']) {
@@ -1452,6 +1455,32 @@
    /**
     * Write debug info to the log
     *
     * @param string Engine type - file name (memcache, apc)
     * @param string Data string to log
     * @param bool   Operation result
     */
    public static function debug($engine, $data, $result = null)
    {
        static $debug_counter;
        $line = '[' . (++$debug_counter[$engine]) . '] ' . $data;
        if (($len = strlen($line)) > self::DEBUG_LINE_LENGTH) {
            $diff = $len - self::DEBUG_LINE_LENGTH;
            $line = substr($line, 0, self::DEBUG_LINE_LENGTH) . "... [truncated $diff bytes]";
        }
        if ($result !== null) {
            $line .= ' [' . ($result ? 'TRUE' : 'FALSE') . ']';
        }
        self::write_log($engine, $line);
    }
    /**
     * Returns current time (with microseconds).
     *
     * @return float Current time in seconds since the Unix
@@ -1672,15 +1701,18 @@
            if ($message->getParam('delay_file_io')) {
                // use common temp dir
                $temp_dir = $this->config->get('temp_dir');
                $body_file = tempnam($temp_dir, 'rcmMsg');
                if (PEAR::isError($mime_result = $message->saveMessageBody($body_file))) {
                $temp_dir    = $this->config->get('temp_dir');
                $body_file   = tempnam($temp_dir, 'rcmMsg');
                $mime_result = $message->saveMessageBody($body_file);
                if (is_a($mime_result, 'PEAR_Error')) {
                    self::raise_error(array('code' => 650, 'type' => 'php',
                        'file' => __FILE__, 'line' => __LINE__,
                        'message' => "Could not create message: ".$mime_result->getMessage()),
                        TRUE, FALSE);
                        true, false);
                    return false;
                }
                $msg_body = fopen($body_file, 'r');
            }
            else {
@@ -1723,11 +1755,11 @@
            $msg_body = $message->get();
            if (PEAR::isError($msg_body)) {
            if (is_a($msg_body, 'PEAR_Error')) {
                self::raise_error(array('code' => 650, 'type' => 'php',
                    'file' => __FILE__, 'line' => __LINE__,
                    'message' => "Could not create message: ".$msg_body->getMessage()),
                    TRUE, FALSE);
                    true, false);
            }
            else {
                $delim   = $this->config->header_delimiter();