Thomas Bruederli
2012-06-20 6bb44a644ad9a256f2cd154cfbdb7bdfede3fa6a
Initialize rcube instance (with options); no caches without a valid user_id
2 files modified
11 ■■■■ changed files
program/include/rcube.php 7 ●●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 4 ●●●● patch | view | raw | blame | history
program/include/rcube.php
@@ -106,12 +106,14 @@
  /**
   * This implements the 'singleton' design pattern
   *
   * @param integer Options to initialize with this instance. See rcube::INIT_WITH_* constants
   * @return rcube The one and only instance
   */
  static function get_instance()
  static function get_instance($mode = 0)
  {
    if (!self::$instance) {
      self::$instance = new rcube();
      self::$instance->init($mode);
    }
    return self::$instance;
@@ -240,8 +242,7 @@
   */
  public function get_cache($name, $type='db', $ttl=0, $packed=true)
  {
    if (!isset($this->caches[$name])) {
      $userid = $this->get_user_id();
    if (!isset($this->caches[$name]) && ($userid = $this->get_user_id())) {
      $this->caches[$name] = new rcube_cache($type, $userid, $name, $ttl, $packed);
    }
program/include/rcube_imap.php
@@ -3742,9 +3742,9 @@
    {
        if ($this->messages_caching && !$this->mcache) {
            $rcube = rcube::get_instance();
            if ($dbh = $rcube->get_dbh()) {
            if (($dbh = $rcube->get_dbh()) && ($userid = $rcube->get_user_id())) {
                $this->mcache = new rcube_imap_cache(
                    $dbh, $this, $rcube->get_user_id(), $this->options['skip_deleted']);
                    $dbh, $this, $userid, $this->options['skip_deleted']);
            }
        }