- Extend getCapability() to return caps values or true/false

release-0.6
alecpl 14 years ago
parent 77437e70f9
commit eabd44876c

@ -371,11 +371,44 @@ class rcube_imap_generic
return false;
}
function getCapability($name)
private function hasCapability($name)
{
if (empty($this->capability) || $name == '') {
return false;
}
if (in_array($name, $this->capability)) {
return true;
}
else if (strpos($name, '=')) {
return false;
}
$result = array();
foreach ($this->capability as $cap) {
$entry = explode('=', $cap);
if ($entry[0] == $name) {
$result[] = $entry[1];
}
}
return !empty($result) ? $result : false;
}
/**
* Capabilities checker
*
* @param string $name Capability name
*
* @return mixed Capability values array for key=value pairs, true/false for others
*/
function getCapability($name)
{
$result = $this->hasCapability($name);
if (!empty($result)) {
return $result;
}
else if ($this->capability_readed) {
return false;
}
@ -390,11 +423,7 @@ class rcube_imap_generic
$this->capability_readed = true;
if (in_array($name, $this->capability)) {
return true;
}
return false;
return $this->hasCapability($name);
}
function clearCapability()

Loading…
Cancel
Save