Aleksander Machniak
2013-05-26 22a41b824715cebb7a6874f1a869d1afde8d9cfc
program/lib/Roundcube/rcube.php
@@ -258,6 +258,39 @@
    /**
     * Initialize and get shared cache object
     *
     * @param string $name   Cache identifier
     * @param bool   $packed Enables/disables data serialization
     *
     * @return rcube_cache_shared Cache object
     */
    public function get_cache_shared($name, $packed=true)
    {
        $shared_name = "shared_$name";
        if (!array_key_exists($shared_name, $this->caches)) {
            $opt  = strtolower($name) . '_cache';
            $type = $this->config->get($opt);
            $ttl  = $this->config->get($opt . '_ttl');
            if (!$type) {
                // cache is disabled
                return $this->caches[$shared_name] = null;
            }
            if ($ttl === null) {
                $ttl = $this->config->get('shared_cache_ttl', '10d');
            }
            $this->caches[$shared_name] = new rcube_cache_shared($type, $name, $ttl, $packed);
        }
        return $this->caches[$shared_name];
    }
    /**
     * Create SMTP object and connect to server
     *
     * @param boolean True if connection should be established
@@ -866,6 +899,9 @@
        foreach ($this->caches as $cache) {
            if (is_object($cache)) {
                if ($this->expunge_cache) {
                    $cache->expunge();
                }
                $cache->close();
            }
        }