Author: Michael Slusarz (slusarz@horde.org)
Inheritance: extends IMP_Ftree_Account
示例#1
0
 /**
  */
 public function getList($query = array(), $mask = 0)
 {
     global $injector;
     $init = false;
     $out = array();
     $remote = $injector->getInstance('IMP_Remote');
     $raccount = $remote[strval($this)];
     switch ($raccount->login()) {
         case $raccount::LOGIN_BAD_CHANGED:
             $remote[strval($this)] = $raccount;
             break;
         case $raccount::LOGIN_OK_CHANGED:
             $remote[strval($this)] = $raccount;
             // Fall-through
         // Fall-through
         case $raccount::LOGIN_OK:
             $init = true;
             break;
     }
     $query = array_filter(array_map(array($remote, 'getMailboxById'), $query));
     if (empty($query)) {
         $mask |= self::INIT;
     }
     if ($mask & self::INIT) {
         $out[] = array('a' => IMP_Ftree::ELT_REMOTE | IMP_Ftree::ELT_NOSELECT | IMP_Ftree::ELT_NONIMAP, 'v' => self::REMOTE_KEY);
         $out[] = array('a' => ($init ? IMP_Ftree::ELT_REMOTE_AUTH : 0) | IMP_Ftree::ELT_REMOTE | IMP_Ftree::ELT_IS_SUBSCRIBED | IMP_Ftree::ELT_NONIMAP, 'p' => self::REMOTE_KEY, 'v' => strval($this));
     }
     if ($init) {
         foreach (parent::getList($query, $mask) as $val) {
             $out[] = array_filter(array('a' => $val['a'] | IMP_Ftree::ELT_REMOTE_MBOX, 'p' => isset($val['p']) ? $raccount->mailbox($val['p']) : strval($raccount), 'v' => $raccount->mailbox($val['v'])));
         }
     }
     return $out;
 }
示例#2
0
 /**
  */
 public function getList($query = array(), $mask = 0)
 {
     global $injector;
     $out = array();
     $init = $this->imp_imap->init;
     $remote = $injector->getInstance('IMP_Remote');
     $raccount = $remote[strval($this)];
     $query = array_filter(array_map(array($remote, 'getMailboxById'), $query));
     if (empty($query)) {
         $mask |= self::INIT;
     }
     if ($mask & self::INIT) {
         $out[] = array('a' => IMP_Ftree::ELT_REMOTE | IMP_Ftree::ELT_NOSELECT | IMP_Ftree::ELT_NONIMAP, 'v' => self::REMOTE_KEY);
         $out[] = array('a' => ($init ? IMP_Ftree::ELT_REMOTE_AUTH : 0) | IMP_Ftree::ELT_REMOTE | IMP_Ftree::ELT_IS_SUBSCRIBED | IMP_Ftree::ELT_NONIMAP, 'p' => self::REMOTE_KEY, 'v' => strval($this));
     }
     if ($init) {
         foreach (parent::getList($query, $mask) as $val) {
             $out[] = array_filter(array('a' => $val['a'] | IMP_Ftree::ELT_REMOTE_MBOX, 'p' => isset($val['p']) ? $raccount->mailbox($val['p']) : strval($raccount), 'v' => $raccount->mailbox($val['v'])));
         }
     }
     return $out;
 }