public static getPreferredBackend ( ) : string | ||
Результат | string | The preferred backend key. |
public static function getPreferredBackend()
{
if ($backend_key = $GLOBALS['session']->get('gollem', 'backend_key')) {
return $backend_key;
}
/* Determine the preferred backend. */
foreach (self::getBackend() as $key => $backend) {
if (empty($backend_key) && substr($key, 0, 1) != '_') {
$backend_key = $key;
}
if (empty($backend['preferred'])) {
continue;
}
$preferred = is_array($backend['preferred']) ? $backend['preferred'] : array($backend['preferred']);
if (in_array($_SERVER['SERVER_NAME'], $preferred) || in_array($_SERVER['HTTP_HOST'], $preferred)) {
$backend_key = $key;
}
}
return $backend_key;
}
/** * Add additional items to the sidebar. * * @param Horde_View_Sidebar $sidebar The sidebar object. */ public function sidebar($sidebar) { $backend = Gollem_Auth::getPreferredBackend(); $url = $GLOBALS['registry']->getServiceLink('login', 'horde')->add(array('url' => (string) Horde::url('manager.php', true), 'app' => 'gollem')); if ($GLOBALS['conf']['backend']['backend_list'] == 'shown') { foreach (Gollem_Auth::getBackend() as $key => $val) { $row = array('selected' => $backend == $key, 'url' => $url->add('backend_key', $key), 'label' => $val['name'], 'type' => 'radiobox'); $sidebar->addRow($row, 'backends'); } } }