Rewrite of IMP search handling.
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 20 Sep 2010 05:33:16 +0000 (23:33 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 20 Sep 2010 05:43:06 +0000 (23:43 -0600)
commite6a5a80835ffcf5a625383ad0d68754676c42b71
tree5f67733ac9497471782cd45727c72720f3645cc9
parenta885d6b4944e2c414c99e55cca636c5b817fd7c6
Rewrite of IMP search handling.

Total rewrite of search system.

Search queries, elements, and virtual folders broken into separate
classes for easier generation and better encapsulation of the data.
Also allows for more complex search types - for example, the "To:"
header search has been replaced by the Recipients search, which searches
all of To/Cc/Bcc. Another example: the bulk search query has been
created (although it is not yet implemented in the UI).

Virtual folder maintenance is now handled within a prefs groups to
consolidate duplicate code in both imp and dimp.

Internal storage of virtual folders has changed. IMP 4 virtual folders
will be automatically converted, but any virtual folders created using
git code in the last year or so is now invalid and no upgrade path is
available.

Removed the use_vinbox, use_vtrash, vinbox_id, and vtrash_id prefs.
59 files changed:
imp/config/prefs.php.dist
imp/docs/UPGRADING
imp/folders.php
imp/js/dimpbase.js
imp/js/search.js
imp/js/searchesprefs.js [new file with mode: 0644]
imp/lib/Ajax/Application.php
imp/lib/Api.php
imp/lib/Application.php
imp/lib/Auth.php
imp/lib/Block/Newmail.php
imp/lib/Dimp.php
imp/lib/Filter.php
imp/lib/Folder.php
imp/lib/IMP.php
imp/lib/Imap/Flags.php
imp/lib/Imap/Tree.php
imp/lib/Imap/Tree/Element.php
imp/lib/LoginTasks/SystemTask/GarbageCollection.php
imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php
imp/lib/LoginTasks/Task/PurgeSentmail.php
imp/lib/LoginTasks/Task/PurgeSpam.php
imp/lib/LoginTasks/Task/PurgeTrash.php
imp/lib/Mailbox.php
imp/lib/Message.php
imp/lib/Mime/Viewer/Partial.php
imp/lib/Prefs/Ui.php
imp/lib/Search.php
imp/lib/Search/Element.php [new file with mode: 0644]
imp/lib/Search/Element/Bulk.php [new file with mode: 0644]
imp/lib/Search/Element/Date.php [new file with mode: 0644]
imp/lib/Search/Element/Flag.php [new file with mode: 0644]
imp/lib/Search/Element/Header.php [new file with mode: 0644]
imp/lib/Search/Element/Or.php [new file with mode: 0644]
imp/lib/Search/Element/Recipient.php [new file with mode: 0644]
imp/lib/Search/Element/Size.php [new file with mode: 0644]
imp/lib/Search/Element/Text.php [new file with mode: 0644]
imp/lib/Search/Element/Within.php [new file with mode: 0644]
imp/lib/Search/Query.php [new file with mode: 0644]
imp/lib/Search/Vfolder.php [new file with mode: 0644]
imp/lib/Search/Vfolder/Vinbox.php [new file with mode: 0644]
imp/lib/Search/Vfolder/Vtrash.php [new file with mode: 0644]
imp/lib/Tree/Flist.php
imp/lib/Ui/Search.php [deleted file]
imp/lib/Views/ListMessages.php
imp/mailbox-mimp.php
imp/mailbox.php
imp/rss.php
imp/search-basic.php
imp/search.php
imp/templates/dimp/index.inc
imp/templates/imp/mailbox/header.html
imp/templates/imp/search/search-basic.html
imp/templates/imp/search/search.html
imp/templates/prefs/searches.html [new file with mode: 0644]
imp/templates/prefs/trash.html
imp/themes/dimp/screen.css
imp/themes/screen.css
imp/themes/silver/dimp/screen.css