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_Mailbox

The IMP_Mailbox class acts as a clearinghouse for actions related to a mailbox.

Copyright 2011-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_Mailbox implements Serializable
Package: IMP
Category: Horde
License: GPL
Author: Michael Slusarz slusarz@horde.org
Located at Mailbox.php
Methods summary
public static mixed
# get( mixed $mbox )

Shortcut to obtaining mailbox object(s).

Shortcut to obtaining mailbox object(s).

Parameters

$mbox
The full IMAP mailbox name(s).

Returns

mixed
The IMP_Mailbox object(s).
public static IMP_Mailbox
# getPref( mixed $pref )

Shortcut to obtaining a mailbox object from a preference name.

Shortcut to obtaining a mailbox object from a preference name.

Returns

IMP_Mailbox
The IMP_Mailbox object.

Var

string $pref The preference name.
public
# __construct( mixed $mbox )

Constructor.

Constructor.

Throws

IMP_Exception

Var

string $mbox The full IMAP mailbox name.
public
# __toString( )
public
# __get( mixed $key )
public boolean
# create( array $opts = array() )

Create this mailbox on the server.

Create this mailbox on the server.

Parameters

$opts
<p>Additional options: - special_use: (array) An array of special-use attributes to attempt to add to the mailbox. DEFAULT: NONE - subscribe: (boolean) Override preference value of subscribe.</p>

Returns

boolean
True on success.

Throws

Horde_Exception
public boolean
# delete( boolean $force = false )

Deletes mailbox.

Deletes mailbox.

Parameters

$force
Delete even if fixed?

Returns

boolean
True on success.
public boolean
# rename( string $new_name, boolean $force = false )

Rename this mailbox on the server. The subscription status remains the same. All subfolders will also be renamed.

Rename this mailbox on the server. The subscription status remains the same. All subfolders will also be renamed.

Parameters

$new_name
$new The new mailbox name (UTF7-IMAP).
$force
Rename mailbox even if it is fixed?

Returns

boolean
True on success
public boolean
# subscribe( boolean $sub )

Subscribe/unsubscribe to an IMAP mailbox.

Subscribe/unsubscribe to an IMAP mailbox.

Parameters

$sub
True to subscribe, false to unsubscribe.

Returns

boolean
True on success.
public
# filter( )

Runs filters on this mailbox.

Runs filters on this mailbox.

public boolean
# filterOnDisplay( )

Filters this mailbox if it is the INBOX and the filter on display pref is active.

Filters this mailbox if it is the INBOX and the filter on display pref is active.

Returns

boolean
True if filter() was called.
public IMP_Mailbox_List
# getListOb( IMP_Indices $indices = null )

Return the mailbox list object.

Return the mailbox list object.

Parameters

$indices
See IMP_Factory_MailboxList::__construct().

Returns

IMP_Mailbox_List
See IMP_Factory_MailboxList::__construct().
public IMP_Search_Query
# getSearchOb( )

Return the search query object for this mailbox.

Return the search query object for this mailbox.

Returns

IMP_Search_Query
The search query object.
public IMP_Indices
# getIndicesOb( mixed $in )

Return an indices object for this mailbox.

Return an indices object for this mailbox.

Parameters

$in
<p>Either a single UID, array of UIDs, or a Horde_Imap_Client_Ids object.</p>

Returns

IMP_Indices
An indices object.
public array
# getSort( boolean $convert = false )

Return the sorting preference for this mailbox.

Return the sorting preference for this mailbox.

Parameters

$convert
Convert 'by' to a Horde_Imap_Client constant?

Returns

array

An array with the following keys: - by: (integer) Sort type. - dir:(integer) Sort direction. - locked: (boolean) Is sort locked for the mailbox?

public
# setSort( integer $by = null, integer $dir = null, boolean $delete = false )

Set the sorting preference for this mailbox.

Set the sorting preference for this mailbox.

Parameters

$by
The sort type.
$dir
The sort direction.
$delete
Delete the entry?
public boolean
# hideDeletedMsgs( boolean $deleted = false )

Are deleted messages hidden in this mailbox?

Are deleted messages hidden in this mailbox?

Parameters

$deleted
<p>Return value is what should be done with deleted messages in general, as opposed to any deleted message in the mailbox.</p>

Returns

boolean
True if deleted messages should be hidden.
public
# setHideDeletedMsgs( boolean $value )

Sets the 'delhide' preference and clears necessary cached data.

Sets the 'delhide' preference and clears necessary cached data.

Parameters

$value
The value to set 'delhide' to.
public IMP_Indices
# runSearchQuery( Horde_Imap_Client_Search_Query $query, integer $sortby = null, integer $sortdir = null )

Run a search query on this mailbox that is not stored in the current session. Allows custom queries with custom sorts to be used without affecting cached mailboxes.

Run a search query on this mailbox that is not stored in the current session. Allows custom queries with custom sorts to be used without affecting cached mailboxes.

Parameters

$query
The search query object.
$sortby
The sort criteria.
$sortdir
The sort directory.

Returns

IMP_Indices
An indices object.
public
# expire( mixed $entries = null )

Expire cache entries.

Expire cache entries.

Parameters

$entries
<p>A CACHE_* constant (or array of constants). If null, clears the entire cache.</p>
public Horde_Url
# url( string|Horde_Url $page, string $uid = null, string $tmailbox = null, boolean $encode = true )

Generate a URL using the current mailbox.

Generate a URL using the current mailbox.

Parameters

$page
Page name to link to.
$uid
The UID to use on the linked page.
$tmailbox
The mailbox associated with $uid.
$encode
Encode the argument separator?

Returns

Horde_Url

URL to $page with any necessary mailbox information added to the parameter list of the URL.

public array
# urlParams( string $uid = null, string $tmailbox = null )

Returns list of URL parameters necessary to indicate current mailbox status.

Returns list of URL parameters necessary to indicate current mailbox status.

Parameters

$uid
The UID to use on the linked page.
$tmailbox
<p>The mailbox associated with $uid to use on the linked page.</p>

Returns

array

The list of parameters needed to indicate the current mailbox status.

public boolean
# equals( mixed $mbox )

Determines if this mailbox is equal to the given mailbox. Needed because directly comparing two mailbox objects may fail (the member variables may be different).

Determines if this mailbox is equal to the given mailbox. Needed because directly comparing two mailbox objects may fail (the member variables may be different).

Parameters

$mbox
The mailbox to compare to.

Returns

boolean
True if the mailboxes are the same.
public mixed
# importMbox( string $fname, string $type )

Imports messages from a mbox (see RFC 4155) -or- a message source (eml) file.

Imports messages from a mbox (see RFC 4155) -or- a message source (eml) file.

Parameters

$fname
Filename containing the message data.
$type
The MIME type of the message data.

Returns

mixed

False (boolean) on fail or the number of messages imported (integer) on success.

Throws

IMP_Exception
public static mixed
# formFrom( mixed $mbox )

Converts a mailbox string from a form representation. Needed because null characters (used for various internal non-IMAP mailbox representations) will not work in form elements.

Converts a mailbox string from a form representation. Needed because null characters (used for various internal non-IMAP mailbox representations) will not work in form elements.

Parameters

$mbox
The mailbox name(s).

Returns

mixed
The mailbox object(s).
public static mixed
# formTo( mixed $mbox )

Converts a mailbox string to a form representation. Needed because null characters (used for various internal non-IMAP mailbox representations) will not work in form elements.

Converts a mailbox string to a form representation. Needed because null characters (used for various internal non-IMAP mailbox representations) will not work in form elements.

Parameters

$mbox
The mailbox name(s).

Returns

mixed
The converted mailbox string(s).
public static array
# getSpecialMailboxes( )

Return the list of special mailboxes.

Return the list of special mailboxes.

Returns

array

A list of folders, with the self::SPECIAL_* constants as keys and values containing the IMP_Mailbox objects or null if the mailbox doesn't exist (self::SPECIAL_SENT contains an array of objects). These mailboxes are sorted in a logical order (see Ticket #10683).

public static string
# prefFrom( string $mbox )

Converts a mailbox name from a value stored in the preferences.

Converts a mailbox name from a value stored in the preferences.

Parameters

$mbox
The mailbox name as stored in a preference.

Returns

string
The full IMAP mailbox name (UTF7-IMAP).
public static string
# prefTo( string $mbox )

Converts a mailbox name to a value to be stored in a preference.

Converts a mailbox name to a value to be stored in a preference.

Parameters

$mbox
The full IMAP mailbox name (UTF7-IMAP).

Returns

string
The value to store in a preference.
public
# serialize( )

Implementation of

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

Implementation of

Serializable::unserialize()
Constants summary
integer CHANGED_NO
# 0
integer CHANGED_YES
# 1
integer CHANGED_DELETE
# 2
string SPECIAL_DRAFTS
# 'drafts'
string SPECIAL_SENT
# 'sent'
string SPECIAL_SPAM
# 'spam'
string SPECIAL_TRASH
# 'trash'
string CACHE_ACL
# 'a'
string CACHE_DISPLAY
# 'd'
string CACHE_ICONS
# 'i'
string CACHE_NAMESPACE
# 'n'
string CACHE_READONLY
# 'ro'
string CACHE_UIDVALIDITY
# 'v'
string CACHE_HASICONHOOK
# 'ih'
string CACHE_ICONHOOK
# 'ic'
string CACHE_HASLABELHOOK
# 'lh'
string CACHE_HIDEDELETED
# 'hd'
string CACHE_READONLYHOOK
# 'roh'
string CACHE_SPECIALMBOXES
# 's'
Properties summary
public array $cache

Cached data.

Cached data.

# array()
public integer $changed

Has this object changed?

Has this object changed?

# IMP_Mailbox::CHANGED_NO
Magic properties summary
public string $abbrev_label

Abbreviated version of $label - displays only the bare mailbox name (no parents).

public boolean $access_creatembox

Can sub mailboxes be created?

public boolean $access_deletembox

Can this mailbox be deleted?

public boolean $access_deletemsgs

Can messages be deleted in this mailbox?

public boolean $access_expunge

Can messages be expunged in this mailbox?

public boolean $access_filters

Is filtering available?

public boolean $access_sort

Is sorting available?

public boolean $access_sortthread

Is thread sort available?

public mixed $acl

Either an ACL object for the mailbox, or null if no ACL found for the mailbox.

public string $basename

The basename of the mailbox (UTF-8).

public string $cacheid

Cache ID for the mailbox.

public string $cacheid_date

Cache ID for the mailbox, with added date information.

public boolean $children

Does the element have children?

public boolean $container

Is this a container element?

public string $display

Display version of mailbox. Special mailboxes are replaced with localized strings and namespace information is removed.

public string $display_html

$display that has been HTML encoded.

public boolean $drafts

Is this a Drafts mailbox?

public boolean $editquery

Can this search query be edited?

public boolean $editvfolder

Can this virtual folder be edited?

public boolean $exists

Does this mailbox exist on the IMAP server?

public boolean $fixed

Is this mailbox fixed (i.e. unchangable)?

public string $form_to

Converts this mailbox to a form representation.

public boolean $is_open

Is this level expanded?

public boolean $is_trash

Is this a trash folder?

public object $icon

Icon information for the mailbox. Properties: - alt: (string) The alt text for the icon. - class: (string) The CSS class name. - icon: (Horde_Themes_Image) The icon graphic to use. - iconopen: (Horde_Themes_Image) The openicon to use. - user_icon: (boolean) Use a user defined icon?

public boolean $invisible

Is this mailbox invisible?

public string $label

The mailbox label. Essentially is $display that can be modified by user hook.

public integer $level

The child level of this element.

public string $namespace

Is this a namespace element?

public IMP_Mailbox $namespace_append

The mailbox with necessary namespace information appended.

public string $namespace_delimiter

The delimiter for this namespace.

public array $namespace_info

See IMP_Imap::getNamespace().

public boolean $nonimap

Is this a non-IMAP element?

public IMP_Mailbox $parent

The parent element. Returns null if no parent.

public IMP_Imap_PermanentFlags $permflags

Return the list of permanent flags available to set in the mailbox.

public boolean $polled

Show polled information?

public object $poll_info

Poll information for the mailbox. Properties: - msgs: (integer) The number of total messages in the element, if polled. - recent: (integer) The number of new messages in the element, if polled. - unseen: (integer) The number of unseen messages in the element, if polled.

public string $pref_from

Convert mailbox name from preference storage.

public string $pref_to

Convert mailbox name to preference storage.

public boolean $query

Is this a search query?

public boolean $readonly

Is this mailbox read-only?

public boolean $search

Is this a search mailbox?

public boolean $special

Is this is a "special" element?

public boolean $special_outgoing

Is this a "special" element dealing with outgoing messages?

public boolean $specialvfolder

Is this a "special" virtual folder?

public boolean $sub

Is this mailbox subscribed to?

public array $subfolders

Returns the list of subfolders as mailbox objects (including the current mailbox).

public array $subfolders_only

Returns the list of subfolders as mailbox objects (NOT including the current mailbox).

public string $uidvalid

Returns the UIDVALIDITY string. Throws an IMP_Exception on error.

public string $value

The value of this element (i.e. IMAP mailbox name). In UTF7-IMAP.

public boolean $vfolder

Is this a virtual folder?

public boolean $vfolder_container

Is this the virtual folder container?

public boolean $vinbox

Is this the virtual inbox?

public boolean $vtrash

Is this the virtual trash?

API documentation generated by ApiGen