[horde] Adding a menu link Horde 5

Andy Dorman adorman at ironicdesign.com
Mon Oct 21 15:47:24 UTC 2013


On 10/21/2013 09:22 AM, Robert Moldenhauer wrote:
> Hi,
>
> Ok, I have Horde running on a machine as http://xxx.xxx.edu and I want to create a menu item under my account to connect to a webpage that allows the user to change their password and set forwards.  The application runs on https://yyy.xxx.edu/cgi-bin/setup.pl, different server, outside of horde.  They will be asked to login again so there is no need to pass user information.  The wiki has 95% of the information I need, I just need to know the format of the entry into registry.local.php.
>
> This doesn’t seem to work:
>
>     'vacforward' => array(
>          'webroot' => 'https://yyy.xxx.edu/cgi-bin/setup.pl',
>          'name' => _("Vacation & Forward"),
>          'status' => 'active',
>          'target' => '_blank',
>          'menu_parent' => 'myaccount',
>          'fileroot' => '/tmp',
>          'icon' => ''
>      ),
>
> Even though My Account appears because of Password, there is nothing else in the menu.I tried name => “vacation” thinking it was the ampersand, but that made no difference.  What am I doing wrong?
>
>   Robert
>

Robert, I do not know if the example below will help, but we run an 
external spam & virus filtering system called AnteSpam and the following 
works nicely to add a new menu "AnteSpam" with menu items for the 
various parts of the spam filtering site.

The menu links open a new browser tab.

I am honestly not sure why we have to specify 'fileroot', especially if 
the AnteSpam service is not on the webmail server....But I found through 
hard experience that without 'fileroot' my menu does not show.

===== registry.d/antespam.php code snippet =====

$user = strtolower ($GLOBALS['registry']->getAuth());

$this->applications['antespam'] = array(
     'name' => _("AnteSpam"),
     'icon' => '/themes/graphics/asicon.png',
     'status' => 'heading'
);
$this->applications['as_sideline'] = array(
     'fileroot' => dirname(__FILE__) . '/../../antespam',
     'initial_page' => 'sideline',
     'menu_parent' => 'antespam',
     'name' => _("Sideline"),
     'target' => 'AnteSpam',
     'url' => 'https://antespam.com/address/' . $user . '/sideline?uid=' 
. $user . '&lab=' . urlencode($encrypted),
     'webroot' => '/'
);
$this->applications['as_settings'] = array(
     'fileroot' => dirname(__FILE__) . '/../../antespam',
     'initial_page' => 'update',
     'menu_parent' => 'antespam',
     'name' => _("Settings"),
     'target' => 'AnteSpam',
     'url' => 'https://antespam.com/address/' . $user . '/update?uid=' . 
$user . '&lab=' . urlencode($encrypted),
     'webroot' => '/'
);
$this->applications['as_passlist'] = array(
     'fileroot' => dirname(__FILE__) . '/../../antespam',
     'initial_page' => 'list/pass/',
     'menu_parent' => 'antespam',
     'name' => _("Passlist"),
     'target' => 'AnteSpam',
     'url' => 'https://antespam.com/address/' . $user . 
'/list/pass/?uid=' . $user . '&lab=' . urlencode($encrypted),
     'webroot' => '/'
);
$this->applications['as_blocklist'] = array(
     'fileroot' => dirname(__FILE__) . '/../../antespam',
     'initial_page' => 'list/block/',
     'menu_parent' => 'antespam',
     'name' => _("Blocklist"),
     'target' => 'AnteSpam',
     'url' => 'https://antespam.com/address/' . $user . 
'/list/block/?uid=' . $user . '&lab=' . urlencode($encrypted),
     'webroot' => '/'
);

Good luck and hope this helps.

-- 
Andy Dorman



More information about the horde mailing list