Horde_Imap_Client_Data_Capability::remove PHP Method

remove() public method

Remove a capability.
public remove ( string $capability, string $params = null )
$capability string The capability to remove.
$params string A parameter (or array of parameters) to remove from the capability.
    public function remove($capability, $params = null)
    {
        $capability = Horde_String::upper($capability);
        if (is_null($params)) {
            unset($this->_data[$capability]);
        } elseif (isset($this->_data[$capability])) {
            if (!is_array($params)) {
                $params = array($params);
            }
            $params = array_map('Horde_String::upper', $params);
            $this->_data[$capability] = is_array($this->_data[$capability]) ? array_diff($this->_data[$capability], $params) : array();
            if (empty($this->_data[$capability])) {
                unset($this->_data[$capability]);
            }
        }
        $this->notify();
    }

Usage Example

Beispiel #1
0
 public function testRemoval()
 {
     $c = new Horde_Imap_Client_Data_Capability();
     $c->add('FOO');
     $this->assertTrue($c->query('FOO'));
     $c->remove('FOO');
     $this->assertFalse($c->query('FOO'));
     $c->add('BAR', array('A', 'B', 'C'));
     $c->remove('BAR', array('A', 'C'));
     $this->assertTrue($c->query('BAR'));
     $this->assertFalse($c->query('BAR', 'A'));
     $this->assertTrue($c->query('BAR', 'B'));
     $this->assertFalse($c->query('BAR', 'C'));
     $c->remove('BAR', 'b');
     $this->assertFalse($c->query('BAR'));
     $this->assertFalse($c->query('BAR', 'A'));
     $this->assertFalse($c->query('BAR', 'B'));
     $this->assertFalse($c->query('BAR', 'C'));
 }