Finish Horde_Prefs rewrite
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 8 Nov 2010 22:49:57 +0000 (15:49 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 15 Nov 2010 23:41:24 +0000 (16:41 -0700)
commite42b0c9a2e41ab5d6e42ebec540ce70af56a1f38
tree5f7078e8e5c404641612fe0c2812556863abd39a
parentf89e332c0329a986eefc31ff6e0b5e4b6ece5e5f
Finish Horde_Prefs rewrite

Main focus: ability to to stack storage drivers to allow for multiple
drivers to build a preferences scope.

Horde now uses 3 storage drivers to build the final prefs hash: the
configuration file, prefs backend, and hooks.

Caching needed to be separated from storage since the two objects do
*not* store the same data.  Caching is intended to store the entire
preference scope, storage only handles discrete preference values.

Default/dirty bits are now entirely handled internally by the Scope
object.

Remove all external charset conversion API for prefs.  Charset
conversion, if needed, should be done entirely within the storage
driver (prefs now assumes all in-memory prefs are in UTF-8).
31 files changed:
framework/Core/lib/Horde/Core/Factory/Prefs.php
framework/Core/lib/Horde/Core/Prefs.php [deleted file]
framework/Core/lib/Horde/Core/Prefs/Cache/Session.php [new file with mode: 0644]
framework/Core/lib/Horde/Core/Prefs/Storage/Configuration.php [new file with mode: 0644]
framework/Core/lib/Horde/Core/Prefs/Storage/Hooks.php [new file with mode: 0644]
framework/Core/lib/Horde/Core/Prefs/Storage/Session.php [deleted file]
framework/Core/package.xml
framework/Prefs/lib/Horde/Prefs.php
framework/Prefs/lib/Horde/Prefs/Cache.php [new file with mode: 0644]
framework/Prefs/lib/Horde/Prefs/Cache/Null.php [new file with mode: 0644]
framework/Prefs/lib/Horde/Prefs/Cache/Session.php [new file with mode: 0644]
framework/Prefs/lib/Horde/Prefs/Identity.php
framework/Prefs/lib/Horde/Prefs/Scope.php [new file with mode: 0644]
framework/Prefs/lib/Horde/Prefs/Storage.php
framework/Prefs/lib/Horde/Prefs/Storage/File.php
framework/Prefs/lib/Horde/Prefs/Storage/Imsp.php
framework/Prefs/lib/Horde/Prefs/Storage/KolabImap.php
framework/Prefs/lib/Horde/Prefs/Storage/Ldap.php
framework/Prefs/lib/Horde/Prefs/Storage/Null.php
framework/Prefs/lib/Horde/Prefs/Storage/Session.php [deleted file]
framework/Prefs/lib/Horde/Prefs/Storage/Sql.php
framework/Prefs/package.xml
hermes/entry.php
hermes/lib/Application.php
hermes/start.php
horde/config/hooks.php.dist
horde/config/prefs.php.dist
horde/lib/LoginTasks/SystemTask/UpgradeFromHorde3.php [deleted file]
imp/lib/Compose/Stationery.php
imp/lib/LoginTasks/SystemTask/UpgradeFromImp4.php
ingo/lib/Storage/Prefs.php