[commits] Horde branch master updated. 031d08f33f229278d069651170a083e3cbe92331
Michael M Slusarz
slusarz at horde.org
Wed Feb 26 23:21:00 UTC 2014
The branch "master" has been updated.
The following is a summary of the commits.
from: e607e95f05c27fb52cd988b3b7253a5000c5204f
5ff6af3 Rewrite Ftree Iteration
031d08f Don't allow duplicate entries (i.e. non-IMAP containers) to appear in ftree
Summary: http://github.com/horde/horde/compare/e607e95f05c27fb52cd988b3b7253a5000c5204f...031d08f33f229278d069651170a083e3cbe92331
-----------------------------------------------------------------------
commit 5ff6af3d50dfebc67780da0f02fa0fc88208463d
Author: Michael M Slusarz <slusarz at horde.org>
Date: Tue Feb 25 18:38:00 2014 -0700
Rewrite Ftree Iteration
Not psyched about a rewrite as we are closing in on 6.2... but the old
method was held together by string and wire. This is much more robust
and easier since the filter is now more OO, and the actual filter object
can be directly used as an iterator (without having to worry about
whether you need an IteratorIterator, etc.).
The big key for me was understanding the difference between a
RecursiveFilterIterator and a FilterIterator. The former is
required/responsible for determining whether an element's children
should be displayed. The latter is required/responsible for determining
whether the current element should be displayed. (At least in a tree
structure where the elements can be more than just a container).
The problem we had before is that we were trying to use a
RecursiveFilterIterator to determine both whether the current element should
be displayed and whether the children should be displayed ... that is not
possible.
This commit reintroduces the issue of an empty container in dynamic view
if all of its children are specialmailboxes, but I will deal with this
later (it is not critical enough to delay this commit).
imp/lib/Ajax/Application/Handler/Dynamic.php | 48 ++--
imp/lib/Ajax/Application/Handler/Remote.php | 15 +-
imp/lib/Ajax/Application/Handler/Smartmobile.php | 36 +++-
imp/lib/Ajax/Queue.php | 20 +--
imp/lib/Api.php | 13 +-
imp/lib/Application.php | 14 +-
imp/lib/Basic/Compose.php | 9 +-
imp/lib/Basic/Folders.php | 9 +-
imp/lib/Basic/Mailbox.php | 7 +-
imp/lib/Basic/Message.php | 8 +-
imp/lib/Ftree.php | 45 ++--
imp/lib/Ftree/Iterator.php | 35 +---
imp/lib/Ftree/Iterator/Ancestors.php | 49 ++++
imp/lib/Ftree/IteratorFilter.php | 248 ++++++++++-----------
imp/lib/Ftree/IteratorFilter/Ancestors.php | 39 ----
imp/lib/Ftree/IteratorFilter/Children.php | 39 ++++
imp/lib/Ftree/IteratorFilter/Containers.php | 32 +++
imp/lib/Ftree/IteratorFilter/Expanded.php | 39 ++++
imp/lib/Ftree/IteratorFilter/Invisible.php | 32 +++
imp/lib/Ftree/IteratorFilter/Mailboxes.php | 3 +-
imp/lib/Ftree/IteratorFilter/Nocontainers.php | 34 ---
imp/lib/Ftree/IteratorFilter/Nonimap.php | 3 +-
imp/lib/Ftree/IteratorFilter/Polled.php | 2 +-
imp/lib/Ftree/IteratorFilter/Prefetch.php | 50 ----
imp/lib/Ftree/IteratorFilter/Remote.php | 32 +++
imp/lib/Ftree/IteratorFilter/Special.php | 32 +++
imp/lib/Ftree/IteratorFilter/Subscribed.php | 52 +++++
imp/lib/Ftree/IteratorFilter/Vfolder.php | 32 +++
imp/lib/Ftree/Prefs/Poll.php | 11 +-
imp/lib/LoginTasks/Task/DeleteSentmailMonthly.php | 13 +-
imp/lib/Minimal/Folders.php | 8 +-
imp/lib/Prefs/Special/Acl.php | 7 +-
imp/lib/Prefs/Special/ComposeTemplates.php | 13 +-
imp/lib/Prefs/Special/Drafts.php | 9 +-
imp/lib/Prefs/Special/InitialPage.php | 9 +-
imp/lib/Prefs/Special/Sentmail.php | 7 +-
imp/lib/Prefs/Special/Spam.php | 9 +-
imp/lib/Prefs/Special/Trash.php | 7 +-
imp/lib/Search/Query.php | 7 +-
imp/lib/Search/Ui.php | 15 +-
imp/lib/Search/Vfolder/Vtrash.php | 7 +-
imp/package.xml | 28 ++-
42 files changed, 676 insertions(+), 451 deletions(-)
create mode 100644 imp/lib/Ftree/Iterator/Ancestors.php
delete mode 100644 imp/lib/Ftree/IteratorFilter/Ancestors.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Children.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Containers.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Expanded.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Invisible.php
delete mode 100644 imp/lib/Ftree/IteratorFilter/Nocontainers.php
delete mode 100644 imp/lib/Ftree/IteratorFilter/Prefetch.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Remote.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Special.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Subscribed.php
create mode 100644 imp/lib/Ftree/IteratorFilter/Vfolder.php
http://github.com/horde/horde/commit/5ff6af3d50dfebc67780da0f02fa0fc88208463d
http://git.horde.org/horde-git/-/commit/5ff6af3d50dfebc67780da0f02fa0fc88208463d
-----------------------------------------------------------------------
commit 031d08f33f229278d069651170a083e3cbe92331
Author: Michael M Slusarz <slusarz at horde.org>
Date: Wed Feb 26 14:26:06 2014 -0700
Don't allow duplicate entries (i.e. non-IMAP containers) to appear in ftree
imp/lib/Ftree.php | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
http://github.com/horde/horde/commit/031d08f33f229278d069651170a083e3cbe92331
http://git.horde.org/horde-git/-/commit/031d08f33f229278d069651170a083e3cbe92331
More information about the commits
mailing list