Overview

Packages

  • IMP
  • None

Classes

  • IMP
  • IMP_Ajax_Application
  • IMP_Ajax_Imple_ContactAutoCompleter
  • IMP_Ajax_Imple_PassphraseDialog
  • IMP_Ajax_Queue
  • IMP_Api
  • IMP_Auth
  • IMP_Block_Newmail
  • IMP_Block_Summary
  • IMP_Compose
  • IMP_Compose_Exception
  • IMP_Compose_Stationery
  • IMP_Contents
  • IMP_Crypt_Pgp
  • IMP_Crypt_Smime
  • IMP_Dimp
  • IMP_Exception
  • IMP_Factory_AuthImap
  • IMP_Factory_Compose
  • IMP_Factory_Contents
  • IMP_Factory_Flags
  • IMP_Factory_Identity
  • IMP_Factory_Imap
  • IMP_Factory_Imaptree
  • IMP_Factory_Mail
  • IMP_Factory_Mailbox
  • IMP_Factory_MailboxList
  • IMP_Factory_MimeViewer
  • IMP_Factory_Pgp
  • IMP_Factory_Quota
  • IMP_Factory_Search
  • IMP_Factory_Sentmail
  • IMP_Factory_Smime
  • IMP_Filter
  • IMP_Flag_Base
  • IMP_Flag_Imap
  • IMP_Flag_Imap_Answered
  • IMP_Flag_Imap_Deleted
  • IMP_Flag_Imap_Draft
  • IMP_Flag_Imap_Flagged
  • IMP_Flag_Imap_Forwarded
  • IMP_Flag_Imap_Junk
  • IMP_Flag_Imap_NotJunk
  • IMP_Flag_Imap_Seen
  • IMP_Flag_System_Attachment
  • IMP_Flag_System_Encrypted
  • IMP_Flag_System_HighPriority
  • IMP_Flag_System_List
  • IMP_Flag_System_LowPriority
  • IMP_Flag_System_Match_Address
  • IMP_Flag_System_Match_Flag
  • IMP_Flag_System_Match_Header
  • IMP_Flag_System_Personal
  • IMP_Flag_System_Signed
  • IMP_Flag_System_Unseen
  • IMP_Flag_User
  • IMP_Flags
  • IMP_Imap
  • IMP_Imap_Acl
  • IMP_Imap_Exception
  • IMP_Imap_PermanentFlags
  • IMP_Imap_Thread
  • IMP_Imap_Tree
  • IMP_Indices
  • IMP_Indices_Form
  • IMP_LoginTasks_SystemTask_GarbageCollection
  • IMP_LoginTasks_SystemTask_Upgrade
  • IMP_LoginTasks_SystemTask_UpgradeAuth
  • IMP_LoginTasks_Task_Autocreate
  • IMP_LoginTasks_Task_DeleteAttachmentsMonthly
  • IMP_LoginTasks_Task_DeleteSentmailMonthly
  • IMP_LoginTasks_Task_FilterOnLogin
  • IMP_LoginTasks_Task_PurgeSentmail
  • IMP_LoginTasks_Task_PurgeSpam
  • IMP_LoginTasks_Task_PurgeTrash
  • IMP_LoginTasks_Task_RecoverDraft
  • IMP_LoginTasks_Task_RenameSentmailMonthly
  • IMP_Mailbox
  • IMP_Mailbox_List
  • IMP_Mailbox_List_Track
  • IMP_Maillog
  • IMP_Menu_Dimp
  • IMP_Message
  • IMP_Mime_Status
  • IMP_Mime_Viewer_Alternative
  • IMP_Mime_Viewer_Appledouble
  • IMP_Mime_Viewer_Audio
  • IMP_Mime_Viewer_Enriched
  • IMP_Mime_Viewer_Externalbody
  • IMP_Mime_Viewer_Html
  • IMP_Mime_Viewer_Images
  • IMP_Mime_Viewer_Itip
  • IMP_Mime_Viewer_Mdn
  • IMP_Mime_Viewer_Partial
  • IMP_Mime_Viewer_Pdf
  • IMP_Mime_Viewer_Pgp
  • IMP_Mime_Viewer_Plain
  • IMP_Mime_Viewer_Related
  • IMP_Mime_Viewer_Rfc822
  • IMP_Mime_Viewer_Smil
  • IMP_Mime_Viewer_Smime
  • IMP_Mime_Viewer_Status
  • IMP_Mime_Viewer_Vcard
  • IMP_Mime_Viewer_Video
  • IMP_Mime_Viewer_Zip
  • IMP_Notification_Event_Status
  • IMP_Notification_Handler_Decorator_ImapAlerts
  • IMP_Notification_Handler_Decorator_NewmailNotify
  • IMP_Notification_Listener_AjaxStatus
  • Imp_Prefs_Identity
  • IMP_Prefs_Ui
  • IMP_Quota
  • IMP_Quota_Base
  • IMP_Quota_Command
  • IMP_Quota_Hook
  • IMP_Quota_Imap
  • IMP_Quota_Maildir
  • IMP_Quota_Mdaemon
  • IMP_Quota_Mercury32
  • IMP_Quota_Null
  • IMP_Quota_Sql
  • IMP_Search
  • IMP_Search_Element
  • IMP_Search_Element_Attachment
  • IMP_Search_Element_Autogenerated
  • IMP_Search_Element_Bulk
  • IMP_Search_Element_Contacts
  • IMP_Search_Element_Date
  • IMP_Search_Element_Flag
  • IMP_Search_Element_Header
  • IMP_Search_Element_Mailinglist
  • IMP_Search_Element_Or
  • IMP_Search_Element_Personal
  • IMP_Search_Element_Recipient
  • IMP_Search_Element_Size
  • IMP_Search_Element_Text
  • IMP_Search_Element_Within
  • IMP_Search_Filter
  • IMP_Search_Filter_Attachment
  • IMP_Search_Filter_Autogenerated
  • IMP_Search_Filter_Builtin
  • IMP_Search_Filter_Bulk
  • IMP_Search_Filter_Contacts
  • IMP_Search_Filter_Mailinglist
  • IMP_Search_Filter_Personal
  • IMP_Search_Query
  • IMP_Search_Vfolder
  • IMP_Search_Vfolder_Builtin
  • IMP_Search_Vfolder_Vinbox
  • IMP_Search_Vfolder_Vtrash
  • IMP_Sentmail
  • IMP_Sentmail_Base
  • IMP_Sentmail_Null
  • IMP_Sentmail_Sql
  • IMP_Spam
  • IMP_Test
  • IMP_Tree_Flist
  • IMP_Tree_Jquerymobile
  • IMP_Tree_Simplehtml
  • IMP_Ui_Compose
  • IMP_Ui_Editor
  • IMP_Ui_Folder
  • IMP_Ui_Headers
  • IMP_Ui_Imageview
  • IMP_Ui_Mailbox
  • IMP_Ui_Message
  • IMP_Ui_Mimp
  • IMP_Ui_Search
  • IMP_Views_Compose
  • IMP_Views_ListMessages
  • IMP_Views_ShowMessage
  • Overview
  • Package
  • Class
  • Tree

Class IMP_Search

The IMP_Search:: class contains all code related to mailbox searching in IMP.

Copyright 2002-2012 Horde LLC (http://www.horde.org/)

See the enclosed file COPYING for license information (GPL). If you did not receive this file, see http://www.horde.org/licenses/gpl.

IMP_Search implements ArrayAccess, Iterator, Serializable
Package: IMP
Category: Horde
License: GPL
Author: Michael Slusarz slusarz@horde.org
Located at Search.php
Methods summary
public
# __construct( )

Constructor.

Constructor.

public
# init( )

Initialize session search data.

Initialize session search data.

public IMP_Indices
# runSearch( object $ob, string $id )

Run a search.

Run a search.

Parameters

$ob
<p>An optional search query to add (via 'AND') to the active search (Horde_Imap_Client_Search_Query).</p>
$id
The search query id.

Returns

IMP_Indices
An indices object.

Throws

IMP_Imap_Exception
public IMP_Search_Query
# createQuery( array $criteria, array $opts = array() )

Creates the IMAP search query in the IMP session.

Creates the IMAP search query in the IMP session.

Parameters

$criteria
The search criteria array.
$opts
<p>Additional options: - id: (string) Use as the mailbox ID. - label: (string) The label to use for the search results. - mboxes: (array) The list of mailboxes to directly search. If this contains the IMP_Search_Query::ALLSEARCH constant, all mailboxes will be searched. - subfolders: (array) The list of mailboxes to do subfolder searches on. - type: (integer) Query type.</p>

Returns

IMP_Search_Query
Returns the query object.

Throws

InvalidArgumentException
public
# setFilters( array $filters )

Saves the list of filters for the current user.

Saves the list of filters for the current user.

Parameters

$filters
The filter list.
public
# isFilter( string $id, boolean $editable = false )

Is a mailbox a filter query?

Is a mailbox a filter query?

Parameters

$id
The mailbox ID.
$editable
<p>Is this an editable (i.e. not built-in) filter query?</p>
public IMP_Search_Query
# applyFilter( string $id, array $mboxes, string $mid = null )

Converts a filter to a search query and stores it in the local session.

Converts a filter to a search query and stores it in the local session.

Parameters

$id
The mailbox ID of the filter.
$mboxes
The list of mailboxes to apply the filter on.
$mid
Use as the mailbox ID.

Returns

IMP_Search_Query
The created query object.

Throws

InvalidArgumentException
public
# setVFolders( array $vfolders )

Saves the list of virtual folders for the current user.

Saves the list of virtual folders for the current user.

Parameters

$vfolders
The virtual folder list.
public boolean
# isVFolder( string $id, boolean $editable = false )

Is a mailbox a virtual folder?

Is a mailbox a virtual folder?

Parameters

$id
The mailbox ID.
$editable
<p>Is this an editable (i.e. not built-in) virtual folder?</p>

Returns

boolean
Whether the mailbox ID is a virtual folder.
public boolean
# isVTrash( string $id )

Determines whether a mailbox ID is the Virtual Trash Folder.

Determines whether a mailbox ID is the Virtual Trash Folder.

Parameters

$id
The mailbox id.

Returns

boolean
True if the ID is the Virtual Trash folder.
public boolean
# isVinbox( string $id )

Determines whether a mailbox ID is the Virtual INBOX Folder.

Determines whether a mailbox ID is the Virtual INBOX Folder.

Parameters

$id
The mailbox id.

Returns

boolean
True if the ID is the Virtual INBOX folder.
public
# isQuery( string $id, boolean $editable = false )

Is a mailbox a search query?

Is a mailbox a search query?

Parameters

$id
The mailbox ID.
$editable
<p>Is this an editable (i.e. not built-in) search query?</p>
public Horde_Url
# editUrl( string $id )

Returns a link to edit a given search query.

Returns a link to edit a given search query.

Parameters

$id
The search query id.

Returns

Horde_Url
The URL to the search page.
public boolean
# isSearchMbox( string $id )

Is the given mailbox a search mailbox?

Is the given mailbox a search mailbox?

Parameters

$id
The mailbox name.

Returns

boolean
Whether the given mailbox name is a search mailbox.
public string
# createSearchId( string $id )

Create the canonical search ID for a given search query.

Create the canonical search ID for a given search query.

Parameters

$id
The mailbox query ID.

Returns

string
The canonical search query ID.
public
# offsetExists( mixed $offset )

Implementation of

ArrayAccess::offsetExists()
public
# offsetGet( mixed $offset )

Implementation of

ArrayAccess::offsetGet()
public
# offsetSet( string $offset, IMP_Search_Query $value )

Alter the current IMAP search query.

Alter the current IMAP search query.

Parameters

$offset
$id The search query id.
$value
The query object.

Throws

InvalidArgumentException

Implementation of

ArrayAccess::offsetSet()
public
# offsetUnset( string $offset )

Deletes an IMAP search query.

Deletes an IMAP search query.

Parameters

$offset
$id The search query id.

Implementation of

ArrayAccess::offsetUnset()
public
# current( )

Implementation of

Iterator::current()
public
# key( )

Implementation of

Iterator::key()
public
# next( )

Implementation of

Iterator::next()
public
# rewind( )

Implementation of

Iterator::rewind()
public
# valid( )

Implementation of

Iterator::valid()
public
# setIteratorFilter( integer $mask = 0 )

Set the current iterator filter and reset the internal pointer.

Set the current iterator filter and reset the internal pointer.

Parameters

$mask
A mask with the following possible elements: <pre>IMP_Search::LIST_FILTER IMP_Search::LIST_QUERY IMP_Search::LIST_VFOLDER</pre>
public string
# serialize( )

Serialize.

Serialize.

Returns

string
Serialized representation of this object.

Implementation of

Serializable::serialize()
public
# unserialize( string $data )

Unserialize.

Unserialize.

Parameters

$data
Serialized data.

Throws

Exception

Implementation of

Serializable::unserialize()
Constants summary
string MBOX_PREFIX
# "impsearch\0"
string BASIC_SEARCH
# 'impbsearch'
string DIMP_FILTERSEARCH
# 'dimpfsearch'
string DIMP_QUICKSEARCH
# 'dimpqsearch'
integer LIST_FILTER
# 1
integer LIST_QUERY
# 2
integer LIST_VFOLDER
# 4
integer LIST_DISABLED
# 8
integer CREATE_FILTER
# 1
integer CREATE_QUERY
# 2
integer CREATE_VFOLDER
# 3
Properties summary
public boolean $changed

Has the object data changed?

Has the object data changed?

# false
API documentation generated by ApiGen