/**
* Unsubscribe a handler from a topic
*
* @param Horde_PubSub_Handle $handle
* @return bool Returns true if topic and handle found, and unsubscribed; returns false if either topic or handle not found
*/
public function unsubscribe(Horde_PubSub_Handle $handle)
{
$topic = $handle->getTopic();
if (empty($this->_topics[$topic])) {
return false;
}
if (false === ($index = array_search($handle, $this->_topics[$topic]))) {
return false;
}
unset($this->_topics[$topic][$index]);
return true;
}