<?php /** * registry.php -- Horde application registry. * * $Horde: horde/config/registry.php.dist,v 1.255.2.20 2007/03/29 23:02:48 jan Exp $ * * This configuration file is used by Horde to determine which Horde * applications are installed and where, as well as how they interact. * * Application registry * -------------------- * The following settings register installed Horde applications. * By default, Horde assumes that the application directories live * inside the horde directory. * * Attribute Type Description * --------- ---- ----------- * fileroot string The base filesystem path for the module's files. * webroot string The base URI for the module. * jsuri string The base URI for static javascript files. * jsfs string The base filesystem path for static javascript files. * themesuri string The base URI for the themes. This can be used to * serve all icons and style sheets from a separate * server. * themesfs string The base file system directory for the themes. * icon string The URI for an icon to show in menus for the module. * Setting this will override the default theme-based * logic in the code. * name string The name used in menus and descriptions for a module * status string 'inactive', 'hidden', 'notoolbar', 'heading', * 'block', 'admin', or 'active'. * provides string Service types the module provides. * initial_page string The initial (default) page (filename) for the module. * templates string The filesystem path to the templates directory. * menu_parent string The name of the 'heading' group that this app should * show up under. * target string The (optional) target frame for the link. * url string The (optional) URL of 'heading' entries. */ // We try to automatically determine the proper webroot for Horde here. This // still assumes that applications live under horde/. If this results in // incorrect results for you, simply change the 'webroot' setting in the // 'horde' stanza below. define('FEDORA_FILEROOT', '/usr/share/horde'); define('FEDORA_WEBROOT', '/horde'); $this->applications['horde'] = array( 'fileroot' => FEDORA_FILEROOT, 'webroot' => FEDORA_WEBROOT, 'initial_page' => 'login.php', 'name' => _("Horde"), 'status' => 'active', 'templates' => FEDORA_FILEROOT . '/templates', 'provides' => 'horde' ); $this->applications['mimp'] = array( 'fileroot' => FEDORA_FILEROOT . '/mimp', 'webroot' => $this->applications['horde']['webroot'] . '/mimp', 'name' => _("Mobile Mail"), 'status' => 'notoolbar' ); $this->applications['imp'] = array( 'fileroot' => FEDORA_FILEROOT . '/imp', 'webroot' => $this->applications['horde']['webroot'] . '/imp', 'name' => _("Mail"), 'status' => 'active', 'provides' => 'mail', ); $this->applications['ingo'] = array( 'fileroot' => FEDORA_FILEROOT . '/ingo', 'webroot' => $this->applications['horde']['webroot'] . '/ingo', 'name' => _("Filters"), 'status' => 'active', 'provides' => array('mail/blacklistFrom', 'mail/showBlacklist', 'mail/whitelistFrom', 'mail/showWhitelist', 'mail/applyFilters', 'mail/canApplyFilters', 'mail/showFilters'), 'menu_parent' => 'imp' ); $this->applications['sam'] = array( 'fileroot' => FEDORA_FILEROOT . '/sam', 'webroot' => $this->applications['horde']['webroot'] . '/sam', 'name' => _("Spam"), 'status' => 'inactive', // Uncomment this line if you want Sam to handle the blacklist filter // instead of Ingo: // 'provides' => array('mail/blacklistFrom', 'mail/showBlacklist', 'mail/whitelistFrom', 'mail/showWhitelist'), 'menu_parent' => 'imp' ); $this->applications['forwards'] = array( 'fileroot' => FEDORA_FILEROOT . '/forwards', 'webroot' => $this->applications['horde']['webroot'] . '/forwards', 'name' => _("Forwards"), 'status' => 'active', 'provides' => 'forwards', 'menu_parent' => 'imp', ); $this->applications['vacation'] = array( 'fileroot' => FEDORA_FILEROOT . '/vacation', 'webroot' => $this->applications['horde']['webroot'] . '/vacation', 'name' => _("Vacation"), 'status' => 'active', 'provides' => 'vacation', 'menu_parent' => 'imp' ); $this->applications['imp-folders'] = array( 'status' => 'block', 'app' => 'imp', 'blockname' => 'tree_folders', 'menu_parent' => 'imp', ); $this->applications['organizing'] = array( 'name' => _("Organizing"), 'status' => 'heading', ); $this->applications['turba'] = array( 'fileroot' => FEDORA_FILEROOT . '/turba', 'webroot' => $this->applications['horde']['webroot'] . '/turba', 'name' => _("Address Book"), 'status' => 'active', 'provides' => array('contacts', 'clients'), 'menu_parent' => 'organizing' ); $this->applications['turba-menu'] = array( 'status' => 'block', 'app' => 'turba', 'blockname' => 'tree_menu', 'menu_parent' => 'turba', ); $this->applications['kronolith'] = array( 'fileroot' => FEDORA_FILEROOT . '/kronolith', 'webroot' => $this->applications['horde']['webroot'] . '/kronolith', 'name' => _("Calendar"), 'status' => 'active', 'provides' => 'calendar', 'menu_parent' => 'organizing' ); $this->applications['kronolith-alarms'] = array( 'status' => 'block', 'app' => 'kronolith', 'blockname' => 'tree_alarms', 'menu_parent' => 'kronolith', ); $this->applications['kronolith-menu'] = array( 'status' => 'block', 'app' => 'kronolith', 'blockname' => 'tree_menu', 'menu_parent' => 'kronolith', ); $this->applications['mnemo'] = array( 'fileroot' => FEDORA_FILEROOT . '/mnemo', 'webroot' => $this->applications['horde']['webroot'] . '/mnemo', 'name' => _("Notes"), 'status' => 'active', 'provides' => 'notes', 'menu_parent' => 'organizing' ); $this->applications['nag'] = array( 'fileroot' => FEDORA_FILEROOT . '/nag', 'webroot' => $this->applications['horde']['webroot'] . '/nag', 'name' => _("Tasks"), 'status' => 'active', 'provides' => 'tasks', 'menu_parent' => 'organizing' ); $this->applications['genie'] = array( 'fileroot' => FEDORA_FILEROOT . '/genie', 'webroot' => $this->applications['horde']['webroot'] . '/genie', 'name' => _("Wishlist"), 'status' => 'inactive', 'provides' => 'wishlist', 'menu_parent' => 'organizing' ); $this->applications['trean'] = array( 'fileroot' => FEDORA_FILEROOT . '/trean', 'webroot' => $this->applications['horde']['webroot'] . '/trean', 'name' => _("Bookmarks"), 'status' => 'inactive', 'provides' => 'bookmarks', 'menu_parent' => 'organizing' ); $this->applications['trean-menu'] = array( 'status' => 'block', 'app' => 'trean', 'blockname' => 'tree_menu', 'menu_parent' => 'trean', ); $this->applications['devel'] = array( 'name' => _("Development"), 'status' => 'heading', ); $this->applications['chora'] = array( 'fileroot' => FEDORA_FILEROOT . '/chora', 'webroot' => $this->applications['horde']['webroot'] . '/chora', 'name' => _("Version Control"), 'status' => 'active', 'menu_parent' => 'devel' ); $this->applications['whups'] = array( 'fileroot' => FEDORA_FILEROOT . '/whups', 'webroot' => $this->applications['horde']['webroot'] . '/whups', 'name' => _("Tickets"), 'status' => 'inactive', 'provides' => 'tickets', 'menu_parent' => 'devel' ); $this->applications['luxor'] = array( 'fileroot' => FEDORA_FILEROOT . '/luxor', 'webroot' => $this->applications['horde']['webroot'] . '/luxor', 'name' => _("X-Ref"), 'status' => 'inactive', 'menu_parent' => 'devel' ); $this->applications['nic'] = array( 'fileroot' => FEDORA_FILEROOT . '/nic', 'webroot' => $this->applications['horde']['webroot'] . '/nic', 'name' => _("Network"), 'status' => 'inactive', 'menu_parent' => 'devel' ); $this->applications['info'] = array( 'name' => _("Information"), 'status' => 'heading', ); $this->applications['klutz'] = array( 'fileroot' => FEDORA_FILEROOT . '/klutz', 'webroot' => $this->applications['horde']['webroot'] . '/klutz', 'name' => _("Comics"), 'status' => 'inactive', 'provides' => 'comics', 'menu_parent' => 'info' ); $this->applications['occam'] = array( 'fileroot' => FEDORA_FILEROOT . '/occam', 'webroot' => $this->applications['horde']['webroot'] . '/occam', 'name' => _("Courses"), 'status' => 'inactive', 'menu_parent' => 'info' ); $this->applications['mottle'] = array( 'fileroot' => FEDORA_FILEROOT . '/mottle', 'webroot' => $this->applications['horde']['webroot'] . '/mottle', 'name' => _("MOTD"), 'status' => 'inactive', 'menu_parent' => 'info' ); $this->applications['jonah'] = array( 'fileroot' => FEDORA_FILEROOT . '/jonah', 'webroot' => $this->applications['horde']['webroot'] . '/jonah', 'name' => _("News"), 'status' => 'inactive', 'provides' => 'news', 'menu_parent' => 'info' ); $this->applications['jonah-menu'] = array( 'status' => 'block', 'app' => 'jonah', 'blockname' => 'tree_menu', 'menu_parent' => 'jonah', ); $this->applications['troll'] = array( 'fileroot' => FEDORA_FILEROOT . '/troll', 'webroot' => $this->applications['horde']['webroot'] . '/troll', 'name' => _("Newsgroups"), 'status' => 'inactive', 'menu_parent' => 'info' ); $this->applications['troll-menu'] = array( 'status' => 'block', 'app' => 'troll', 'blockname' => 'tree_menu', 'menu_parent' => 'troll', ); $this->applications['goops'] = array( 'fileroot' => FEDORA_FILEROOT . '/goops', 'webroot' => $this->applications['horde']['webroot'] . '/goops', 'name' => _("Search Engines"), 'status' => 'inactive', 'menu_parent' => 'info' ); $this->applications['office'] = array( 'name' => _("Office"), 'status' => 'heading', ); $this->applications['juno'] = array( 'fileroot' => FEDORA_FILEROOT . '/juno', 'webroot' => $this->applications['horde']['webroot'] . '/juno', 'name' => _("Accounting"), 'status' => 'inactive', 'menu_parent' => 'office' ); $this->applications['midas'] = array( 'fileroot' => FEDORA_FILEROOT . '/midas', 'webroot' => $this->applications['horde']['webroot'] . '/midas', 'name' => _("Ads"), 'status' => 'inactive', 'menu_parent' => 'office' ); $this->applications['hylax'] = array( 'fileroot' => FEDORA_FILEROOT . '/hylax', 'webroot' => $this->applications['horde']['webroot'] . '/hylax', 'name' => _("Faxes"), 'status' => 'inactive', 'menu_parent' => 'office', ); $this->applications['sesha'] = array( 'fileroot' => FEDORA_FILEROOT . '/sesha', 'webroot' => $this->applications['horde']['webroot'] . '/sesha', 'name' => _("Inventory"), 'status' => 'inactive', // Uncomment this line if you want Sesha to provide queue and version // names instead of Whups: // 'provides' => array('tickets/listQueues', 'tickets/getQueueDetails', 'tickets/listVersions', 'tickets/getVersionDetails'), 'menu_parent' => 'office', ); $this->applications['thor'] = array( 'fileroot' => FEDORA_FILEROOT . '/thor', 'webroot' => $this->applications['horde']['webroot'] . '/thor', 'name' => _("Projects"), 'status' => 'inactive', 'provides' => 'projects', 'menu_parent' => 'office' ); $this->applications['rakim'] = array( 'fileroot' => FEDORA_FILEROOT . '/rakim', 'webroot' => $this->applications['horde']['webroot'] . '/rakim', 'name' => _("Support"), 'status' => 'inactive', 'menu_parent' => 'office' ); $this->applications['hermes'] = array( 'fileroot' => FEDORA_FILEROOT . '/hermes', 'webroot' => $this->applications['horde']['webroot'] . '/hermes', 'name' => _("Time Tracking"), 'status' => 'inactive', 'menu_parent' => 'office', 'provides' => 'time' ); $this->applications['hermes-watch'] = array( 'status' => 'block', 'app' => 'hermes', 'blockname' => 'stopwatch', 'menu_parent' => 'hermes', ); $this->applications['myaccount'] = array( 'name' => _("My Account"), 'status' => 'heading', ); $this->applications['gollem'] = array( 'fileroot' => FEDORA_FILEROOT . '/gollem', 'webroot' => $this->applications['horde']['webroot'] . '/gollem', 'name' => _("File Manager"), 'status' => 'active', 'menu_parent' => 'myaccount', 'provides' => 'files', ); $this->applications['gollem-menu'] = array( 'status' => 'block', 'app' => 'gollem', 'blockname' => 'tree_menu', 'menu_parent' => 'gollem', ); $this->applications['passwd'] = array( 'fileroot' => FEDORA_FILEROOT . '/passwd', 'webroot' => $this->applications['horde']['webroot'] . '/passwd', 'name' => _("Password"), 'status' => 'active', 'menu_parent' => 'myaccount' ); $this->applications['jeta'] = array( 'fileroot' => FEDORA_FILEROOT . '/jeta', 'webroot' => $this->applications['horde']['webroot'] . '/jeta', 'name' => _("SSH"), 'status' => 'active', 'menu_parent' => 'myaccount' ); $this->applications['website'] = array( 'name' => _("Web Site"), 'status' => 'heading', ); $this->applications['giapeto'] = array( 'fileroot' => FEDORA_FILEROOT . '/giapeto', 'webroot' => $this->applications['horde']['webroot'] . '/giapeto', 'name' => _("CMS"), 'status' => 'inactive', 'provides' => 'cms', 'menu_parent' => 'website' ); $this->applications['agora'] = array( 'fileroot' => FEDORA_FILEROOT . '/agora', 'webroot' => $this->applications['horde']['webroot'] . '/agora', 'name' => _("Forums"), 'status' => 'inactive', 'provides' => 'forums', 'menu_parent' => 'website' ); $this->applications['ulaform'] = array( 'fileroot' => FEDORA_FILEROOT . '/ulaform', 'webroot' => $this->applications['horde']['webroot'] . '/ulaform', 'name' => _("Forms"), 'status' => 'inactive', 'menu_parent' => 'website' ); $this->applications['volos'] = array( 'fileroot' => FEDORA_FILEROOT . '/volos', 'webroot' => $this->applications['horde']['webroot'] . '/volos', 'name' => _("Guestbook"), 'status' => 'inactive', 'menu_parent' => 'website' ); $this->applications['ansel'] = array( 'fileroot' => FEDORA_FILEROOT . '/ansel', 'webroot' => $this->applications['horde']['webroot'] . '/ansel', 'name' => _("Photos"), 'status' => 'inactive', 'provides' => 'images', 'menu_parent' => 'website' ); $this->applications['scry'] = array( 'fileroot' => FEDORA_FILEROOT . '/scry', 'webroot' => $this->applications['horde']['webroot'] . '/scry', 'name' => _("Polls"), 'status' => 'inactive', 'provides' => 'polls', 'menu_parent' => 'website' ); $this->applications['merk'] = array( 'fileroot' => FEDORA_FILEROOT . '/merk', 'webroot' => $this->applications['horde']['webroot'] . '/merk', 'name' => _("Shopping"), 'status' => 'inactive', 'menu_parent' => 'website' ); $this->applications['swoosh'] = array( 'fileroot' => FEDORA_FILEROOT . '/swoosh', 'webroot' => $this->applications['horde']['webroot'] . '/swoosh', 'name' => _("SMS Messaging"), 'status' => 'inactive', 'provides' => 'sms', 'menu_parent' => 'website' ); $this->applications['wicked'] = array( 'fileroot' => FEDORA_FILEROOT . '/wicked', 'webroot' => $this->applications['horde']['webroot'] . '/wicked', 'name' => _("Wiki"), 'status' => 'inactive', 'provides' => 'wiki', 'menu_parent' => 'website' ); $this->applications['vilma'] = array( 'fileroot' => FEDORA_FILEROOT . '/vilma', 'webroot' => $this->applications['horde']['webroot'] . '/vilma', 'name' => _("Mail Admin"), 'status' => 'inactive', 'menu_parent' => 'administration' ); function _detect_webroot() { // Note for Windows users: the below assumes that your PHP_SELF variable // uses forward slashes. If it does not, you'll have to tweak this. if (isset($_SERVER['SCRIPT_URL']) || isset($_SERVER['SCRIPT_NAME'])) { $path = empty($_SERVER['SCRIPT_URL']) ? $_SERVER['SCRIPT_NAME'] : $_SERVER['SCRIPT_URL']; $hordedir = str_replace(DIRECTORY_SEPARATOR, '/', __FILE__); $hordedir = basename(preg_replace(';/config/registry.php$;', '', $hordedir)); $webroot = preg_replace(';/' . $hordedir . '.*;', '/' . $hordedir, $path); } elseif (isset($_SERVER['PHP_SELF'])) { $webroot = preg_split(';/;', $_SERVER['PHP_SELF'], 2, PREG_SPLIT_NO_EMPTY); $webroot = strstr(dirname(__FILE__), DIRECTORY_SEPARATOR . array_shift($webroot)); if ($webroot !== false) { $webroot = preg_replace(array('/\\\\/', ';/config$;'), array('/', ''), $webroot); } elseif ($webroot === false) { $webroot = ''; } else { $webroot = '/horde'; } } else { $webroot = '/horde'; } return $webroot; }