Esempio n. 1
0
 /**
  * Checks if link should be shown and return the nescessary code.
  *
  * @param string  $type      Type of link to display
  * @param string  $app       The name of the current Horde application.
  * @param boolean $override  Override Horde settings?
  * @param boolean $referrer  Include the current page as the referrer (url=)?
  *
  * @return string  The HTML to create the link.
  */
 function getServiceLink($type, $app, $override = false, $referrer = true)
 {
     if (!Horde::showService($type, $override)) {
         return false;
     }
     switch ($type) {
         case 'help':
             if ($GLOBALS['browser']->hasFeature('javascript')) {
                 Horde::addScriptFile('popup.js', 'horde', true);
             }
             $url = Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/help/', true);
             return Util::addParameter($url, 'module', $app);
         case 'problem':
             return Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/problem.php?return_url=' . urlencode(Horde::selfUrl(true, true, true)));
         case 'logout':
             return Horde::url(Auth::addLogoutParameters($GLOBALS['registry']->get('webroot', 'horde') . '/login.php', AUTH_REASON_LOGOUT));
         case 'login':
             return Auth::getLoginScreen('', $referrer ? Horde::selfUrl(true) : null);
         case 'options':
             global $conf;
             if ($conf['prefs']['driver'] != '' && $conf['prefs']['driver'] != 'none') {
                 return Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/prefs.php?app=' . $app);
             }
             break;
     }
     return false;
 }