6.0.0-RC7
6/27/26

[#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 1/3/05 (7845 days ago)
Due
Updated 1/10/05 (7838 days ago)
Assigned 1/3/05 (7845 days ago)
Resolved 1/10/05 (7838 days ago)
Milestone 3.1
Patch No

History
38 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.
485 Jan Schneider Comment #2
Assigned to Horde DevelopersHorde Developers
State ⇒ Assigned
Reply to this comment
Nice idea.
154 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