Summary | horde and imp apps-menus get mixed up in dynamic view |
Queue | Horde Framework Packages |
Queue Version | Git master |
Type | Bug |
State | Resolved |
Priority | 1. Low |
Owners | Horde Developers (at) |
Requester | thpo+horde (at) dotrc (dot) de |
Created | 07/26/2011 (5104 days ago) |
Due | |
Updated | 12/16/2011 (4961 days ago) |
Assigned | 07/26/2011 (5104 days ago) |
Resolved | 12/16/2011 (4961 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
Version ⇒ Git master
Queue ⇒ Horde Framework Packages
State ⇒ Resolved
[mms] Fix merging config data (
Bug #10381).4 files changed, 184 insertions(+), 2 deletions(-)
http://git.horde.org/horde-git/-/commit/c9274cd01b407ed251d4a130943ef146e71278d1
following:
$a1 = array('a', 'b', 'c');
$a2 = array('d');
array_replace_recursive($a1, $a2) = array('d', 'b', 'c');
What we really want in this case is actually just: array('d'). In
other words, we want the value of $conf['menu']['apps'] in imp to
completely overwrite the value of $conf['menu']['apps'] from horde.
This is because these arrays are nothing more than lists. If an array
is a list (as opposed to a hash map), it should be directly replaced.
However, PHP does not provide an API to determine if an array is
currently a list or a hash map. We could fake around it by doing
something like checking if every key is a number and, if so, we would
treat that array as a list and overwrite it with an applications list.
Or we have to specially treat the menu/apps config option within
Horde_Registry.
Assigned to
State ⇒ Assigned
merging of both configuration settings.
the menu, but no entry for ansel is a irritating for me as a user.
State ⇒ Not A Bug
horde-base directory. So yes, one is on the turba config and the
second on the horde config.
State ⇒ Feedback
instead of Turba?
Patch ⇒ No
State ⇒ Unconfirmed
Milestone ⇒
Queue ⇒ IMP
Summary ⇒ horde and imp apps-menus get mixed up in dynamic view
Type ⇒ Bug
Priority ⇒ 1. Low
# grep turba imp/config/conf.php
$conf['menu']['apps'] = array('turba');
# grep turba config/conf.php
$conf['menu']['apps'] = array('ansel', 'imp', 'kronolith', 'turba');
the resulting menu in the dynamic view of imp is like:
turba
imp
kronolith
turba