6.0.0-beta1
7/5/25

[#1058] Complete the options sidebar with configurable applications
Summary Complete the options sidebar with configurable applications
Queue Horde Base
Queue Version 3.0
Type Enhancement
State Resolved
Priority 1. Low
Owners Horde Developers (at)
Requester pier (at) apache (dot) org
Created 01/03/2005 (7488 days ago)
Due
Updated 01/10/2005 (7481 days ago)
Assigned 01/03/2005 (7488 days ago)
Resolved 01/10/2005 (7481 days ago)
Milestone 3.1
Patch No

History
01/10/2005 08:08:03 PM Chuck Hagenbuch Comment #3
State ⇒ Resolved
Reply to this comment
I've tweaked the code a little, sorted apps alphabetically, and 
committed it. Thanks! This will be in Horde 3.1.
01/03/2005 05:06:48 PM Jan Schneider Comment #2
Assigned to Horde DevelopersHorde Developers
State ⇒ Assigned
Reply to this comment
Nice idea.
01/03/2005 04:21:15 PM pier (at) apache (dot) org Comment #1
State ⇒ New
Priority ⇒ 1. Low
Type ⇒ Enhancement
Summary ⇒ Complete the options sidebar with configurable applications
Queue ⇒ Horde Base
Reply to this comment
The UI for changing the options for (for example) IMP when installed 
in Horde is quite difficult to find. One either has to click on the 
Mail on the left sidebar and then Options on the top menu, or on the 
Options on the left sidebar and then select the appropriate 
application in a combo box.



Took me 2 hours to find! :-)



This little patch simply puts those applications configurable through 
horde as children element of the "Options" menu in the left sidebar, 
and making them easier to find for unexperienced users.



--- services/portal/sidebar.php.orig    2005-01-03 16:14:04.720035864 +0000

+++ services/portal/sidebar.php 2005-01-03 16:13:24.556141704 +0000

@@ -151,6 +151,41 @@

                                   'status' => 'active',

                                   'icon' => $registry->getImageDir() 
. '/prefs.png',

                                   'url' => 
Horde::applicationUrl('services/prefs.php'));

+

+        /* Get list of customizable applications. */

+        $apps = array();

+        foreach ($registry->applications as $application => $params) {

+            if ($application == 'horde') {

+                continue;

+            }

+

+            // Make sure the app is installed

+            if (!file_exists($registry->get('fileroot', $application))) {

+                continue;

+            }

+

+            if ($params['status'] == 'heading' ||

+                $params['status'] == 'block') {

+                continue;

+            }

+

+            /* Check if the current user has permisson to see this

+             * application, and if the application is active.

+             * Administrators always see all applications. */

+            if ((Auth::isAdmin() && $params['status'] != 'inactive') ||

+                ($registry->hasPermission($application) &&

+                 ($params['status'] == 'active' || $params['status'] 
== 'notoolbar'))) {

+                $apps[$application] = _($params['name']);

+            }

+        }

+

+       foreach ($apps as $key => $val) {

+            $menu['options_' . $key] = array('name' => _($val),

+                                             'status' => 'active',

+                                             'menu_parent' => 'options',

+                                             'icon' => 
$registry->get('icon', $key),

+                                             'url' => 
Horde::applicationUrl('services/prefs.php?app=' . $key));

+       }

      }



      if (Auth::isAuthenticated()) {


Saved Queries