Horde_Imap_Client_Data_Capability::add PHP Méthode

add() public méthode

Add a capability (and optional parameters).
public add ( string $capability, mixed $params = null )
$capability string The capability to add.
$params mixed A parameter (or array of parameters) to add.
    public function add($capability, $params = null)
    {
        $capability = Horde_String::upper($capability);
        if (is_null($params)) {
            if (isset($this->_data[$capability])) {
                return;
            }
            $params = true;
        } else {
            if (!is_array($params)) {
                $params = array($params);
            }
            $params = array_map('Horde_String::upper', $params);
            if (isset($this->_data[$capability]) && is_array($this->_data[$capability])) {
                $params = array_merge($this->_data[$capability], $params);
            }
        }
        $this->_data[$capability] = $params;
        $this->notify();
    }

Usage Example

Exemple #1
0
 /**
  */
 protected function _initCapability()
 {
     $this->_connect();
     $c = new Horde_Imap_Client_Data_Capability();
     try {
         $res = $this->_sendLine('CAPA', array('multiline' => 'array'));
         foreach ($res['data'] as $val) {
             $prefix = explode(' ', $val);
             $c->add($prefix[0], array_slice($prefix, 1));
         }
     } catch (Horde_Imap_Client_Exception $e) {
         $this->_temp['no_capa'] = true;
         /* Need to probe for capabilities if CAPA command is not
          * available. */
         $c->add('USER');
         /* Capability sniffing only guaranteed after authentication is
          * completed (if any). */
         if (!empty($this->_init['authmethod'])) {
             $this->_pop3Cache('uidl');
             if (empty($this->_temp['no_uidl'])) {
                 $c->add('UIDL');
             }
             $this->_pop3Cache('top', 1);
             if (empty($this->_temp['no_top'])) {
                 $c->add('TOP');
             }
         }
     }
     $this->_setInit('capability', $c);
 }
All Usage Examples Of Horde_Imap_Client_Data_Capability::add