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
     *
@@ -521,23 +523,15 @@
        ini_set('session.use_only_cookies', 1);
        ini_set('session.cookie_httponly', 1);
        // use database for storing session data
        $this->session = new rcube_session($this->get_dbh(), $this->config);
        // get session driver instance
        $this->session = rcube_session::factory($this->config);
        $this->session->register_gc_handler(array($this, 'gc'));
        $this->session->set_secret($this->config->get('des_key') . dirname($_SERVER['SCRIPT_NAME']));
        $this->session->set_ip_check($this->config->get('ip_check'));
        if ($this->config->get('session_auth_name')) {
            $this->session->set_cookiename($this->config->get('session_auth_name'));
        }
        // start PHP session (if not in CLI mode)
        if ($_SERVER['REMOTE_ADDR']) {
            $this->session->start();
        }
    }
    /**
     * Garbage collector - cache/temp cleaner
@@ -1461,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