Skip to content

Commit

Permalink
Clean up error cases a bit.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrubinsk committed Dec 2, 2018
1 parent fda96d7 commit 62fa4fd
Showing 1 changed file with 13 additions and 14 deletions.
27 changes: 13 additions & 14 deletions lib/Horde/ActiveSync/Request/Search.php
Expand Up @@ -111,18 +111,18 @@ protected function _handle()
!$this->_decoder->getElementStartTag(self::SEARCH_STORE) ||
!$this->_decoder->getElementStartTag(self::SEARCH_NAME)) {

$search_status = self::SEARCH_STATUS_ERROR;
throw new Horde_ActiveSync_Exception_InvalidRequest('Missing required SEARCH|STORE|NAME');
}

$search_name = $this->_decoder->getElementContent();
if (!$this->_decoder->getElementEndTag()) {
$search_status = self::SEARCH_STATUS_ERROR;
$store_status = self::STORE_STATUS_PROTERR;
return false;
}

if (!$this->_decoder->getElementStartTag(self::SEARCH_QUERY)) {
$search_status = self::SEARCH_STATUS_ERROR;
$store_status = self::STORE_STATUS_PROTERR;
throw new Horde_ActiveSync_Exception_InvalidRequest('Missing required SEARCH_QUERY.');
}

$search_query = array();
switch (Horde_String::lower($search_name)) {
case 'documentlibrary':
Expand All @@ -135,19 +135,19 @@ protected function _handle()
case 'gal':
$search_query['query'] = $this->_decoder->getElementContent();
}

if (!$this->_decoder->getElementEndTag()) {
$search_status = self::SEARCH_STATUS_ERROR;
$store_status = self::STORE_STATUS_PROTERR;
return false;
}

$mime = Horde_ActiveSync::MIME_SUPPORT_NONE;
if ($this->_decoder->getElementStartTag(self::SEARCH_OPTIONS)) {
$searchbodypreference = array();
while(1) {
if ($this->_decoder->getElementStartTag(self::SEARCH_RANGE)) {
$search_query['range'] = $this->_decoder->getElementContent();
if (!$this->_decoder->getElementEndTag()) {
$search_status = self::SEARCH_STATUS_ERROR;
$store_status = self::STORE_STATUS_PROTERR;
return false;
}
}
if ($this->_decoder->getElementStartTag(self::SEARCH_DEEPTRAVERSAL)) {
Expand Down Expand Up @@ -231,12 +231,11 @@ protected function _handle()
}

if (!$this->_decoder->getElementEndTag()) { //store
$search_status = self::SEARCH_STATUS_ERROR;
$store_status = self::STORE_STATUS_PROTERR;
return false;
}

if (!$this->_decoder->getElementEndTag()) { //search
$search_status = self::SEARCH_STATUS_ERROR;
$store_status = self::STORE_STATUS_PROTERR;
return false;
}

$search_query['range'] = empty($search_query['range']) ? '0-99' : $search_query['range'];
Expand Down Expand Up @@ -481,7 +480,7 @@ protected function _handleError(array $data)
{
$this->_decoder->getElementEndTag(); // end SYNC_ITEMOPERATIONS_ITEMOPERATIONS
$this->_encoder->startWBXML($this->_activeSync->multipart);
$this->_encoder->startTag(self::ITEMOPERATIONS_ITEMOPERATIONS);
$this->_encoder->startTag(self::SEARCH_SEARCH);
$this->_encoder->startTag(self::SEARCH_STATUS);
$this->_encoder->content($this->_statusCode);
$this->_encoder->endTag();
Expand Down

0 comments on commit 62fa4fd

Please sign in to comment.