Horde_ActiveSync_Imap_Adapter::_buildSubQuery PHP Method

_buildSubQuery() protected method

Helper to build a subquery
protected _buildSubQuery ( array $query ) : Horde_Imap_Client_Search_Query
$query array A subquery array.
return Horde_Imap_Client_Search_Query The query object.
    protected function _buildSubQuery(array $query)
    {
        $imap_query = new Horde_Imap_Client_Search_Query();
        foreach ($query as $q) {
            foreach ($q['value'] as $type => $value) {
                switch ($type) {
                    case Horde_ActiveSync_Message_Mail::POOMMAIL_DATERECEIVED:
                        if ($q['op'] == Horde_ActiveSync_Request_Search::SEARCH_GREATERTHAN) {
                            $range = Horde_Imap_Client_Search_Query::DATE_SINCE;
                        } elseif ($q['op'] == Horde_ActiveSync_Request_Search::SEARCH_LESSTHAN) {
                            $range = Horde_Imap_Client_Search_Query::DATE_BEFORE;
                        } else {
                            $range = Horde_Imap_Client_Search_Query::DATE_ON;
                        }
                        $imap_query->dateSearch($value, $range);
                        break;
                    case Horde_ActiveSync_Request_Search::SEARCH_FREETEXT:
                        $imap_query->text($value);
                        break;
                }
            }
        }
        return $imap_query;
    }