Horde_Kolab_Server_Query_Element_Single $single,
$operator
) {
- $result = Horde_Ldap_Filter::create(
- $this->_structure->mapExternalToInternalAttribute(
- $single->getName()
- ),
- $operator,
- $single->getValue()
- );
- $this->_handleError($result);
- return $result;
+ try {
+ return Horde_Ldap_Filter::create(
+ $this->_structure->mapExternalToInternalAttribute(
+ $single->getName()
+ ),
+ $operator,
+ $single->getValue()
+ );
+ } catch (Horde_Ldap_Exception $e) {
+ throw new Horde_Kolab_Server_Exception(
+ $e->getMessage(),
+ Horde_Kolab_Server_Exception::INVALID_QUERY,
+ $e
+ );
+ }
}
/**
public function convertNot(Horde_Kolab_Server_Query_Element_Not $not)
{
$elements = $not->getElements();
- $result = Horde_Ldap_Filter::combine('!', $elements[0]->convert($this));
- $this->_handleError($result);
- return $result;
+ try {
+ return Horde_Ldap_Filter::combine('!', $elements[0]->convert($this));
+ } catch (Horde_Ldap_Exception $e) {
+ throw new Horde_Kolab_Server_Exception(
+ $e->getMessage(),
+ Horde_Kolab_Server_Exception::INVALID_QUERY,
+ $e
+ );
+ }
}
/**
foreach ($group->getElements() as $element) {
$filters[] = $element->convert($this);
}
- $result = Horde_Ldap_Filter::combine($operator, $filters);
- $this->_handleError($result);
- return $result;
- }
-
- /**
- * Check for a PEAR Error and convert it to an exception if necessary.
- *
- * @param mixed $result The result to be tested.
- * @param code $code The error code to use in case the result is an error.
- *
- * @return NULL.
- *
- * @throws Horde_Kolab_Server_Exception If the connection failed.
- *
- * @throws Horde_Kolab_Server_Exception If the query is malformed.
- */
- private function _handleError(
- $result,
- $code = Horde_Kolab_Server_Exception::INVALID_QUERY
- ) {
- if ($result instanceOf PEAR_Error) {
- throw new Horde_Kolab_Server_Exception($result, $code);
+ try {
+ return Horde_Ldap_Filter::combine($operator, $filters);
+ } catch (Horde_Ldap_Exception $e) {
+ throw new Horde_Kolab_Server_Exception(
+ $e->getMessage(),
+ Horde_Kolab_Server_Exception::INVALID_QUERY,
+ $e
+ );
}
}
-
}
\ No newline at end of file