6.0.0-git
2021-01-18

[#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 2005-01-03 (5859 days ago)
Due
Updated 2005-01-10 (5852 days ago)
Assigned 2005-01-03 (5859 days ago)
Resolved 2005-01-10 (5852 days ago)
Milestone 3.1
Patch No

History
2005-01-10 20:08:03 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.
2005-01-03 17:06:48 Jan Schneider Comment #2
State ⇒ Assigned
Assigned to Horde DevelopersHorde Developers
Reply to this comment
Nice idea.
2005-01-03 16:21:15 pier (at) apache (dot) org Comment #1
Type ⇒ Enhancement
State ⇒ New
Priority ⇒ 1. Low
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