Horde_Imap_Client_Cache::set PHP Méthode

set() public méthode

Store information in cache.
public set ( string $mailbox, array $data, integer $uidvalid )
$mailbox string An IMAP mailbox string.
$data array The list of data to save. The keys are the UIDs, the values are an array of information to save. If empty, do a check to make sure the uidvalidity is still valid.
$uidvalid integer The IMAP uidvalidity value of the mailbox.
    public function set($mailbox, $data, $uidvalid)
    {
        $mailbox = strval($mailbox);
        if (empty($data)) {
            $this->_backend->getMetaData($mailbox, $uidvalid, array('uidvalid'));
        } else {
            $this->_backend->set($mailbox, $data, $uidvalid);
            if ($this->_debug) {
                $this->_debug->info(sprintf('CACHE: Stored messages [%s; %s]', $mailbox, $this->_baseob->getIdsOb(array_keys($data))->tostring_sort));
            }
        }
    }

Usage Example

Exemple #1
0
 /**
  * Moves cache entries from the current mailbox to another mailbox.
  *
  * @param Horde_Imap_Client_Mailbox $to  The destination mailbox.
  * @param array $map                     Mapping of source UIDs (keys) to
  *                                       destination UIDs (values).
  * @param string $uidvalid               UIDVALIDITY of destination
  *                                       mailbox.
  *
  * @throws Horde_Imap_Client_Exception
  */
 protected function _moveCache(Horde_Imap_Client_Mailbox $to, $map, $uidvalid)
 {
     if (!$this->_initCache()) {
         return;
     }
     $c = $this->getParam('cache');
     if (in_array(strval($to), $c['fetch_ignore'])) {
         $this->_debug->info(sprintf('CACHE: Ignoring moving FETCH data (%s => %s)', $this->_selected, $to));
         return;
     }
     $old = $this->_cache->get($this->_selected, array_keys($map), null);
     $new = array();
     foreach ($map as $key => $val) {
         if (!empty($old[$key])) {
             $new[$val] = $old[$key];
         }
     }
     if (!empty($new)) {
         $this->_cache->set($to, $new, $uidvalid);
     }
 }
All Usage Examples Of Horde_Imap_Client_Cache::set