From: Michael M Slusarz Date: Fri, 5 Mar 2010 17:58:57 +0000 (-0700) Subject: Clean up help service script X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=fe0a818b38edd1ce851e3b247011a6e7d047b235;p=horde.git Clean up help service script --- diff --git a/horde/services/help/index.php b/horde/services/help/index.php index b8bf1c531..8a93a4b00 100644 --- a/horde/services/help/index.php +++ b/horde/services/help/index.php @@ -1,5 +1,7 @@ 'none')); +$vars = Horde_Variables::getDefaultVariables(); + $rtl = isset(Horde_Nls::$config['rtl'][$language]); $title = _("Help"); -$show = Horde_String::lower(Horde_Util::getFormData('show', 'index')); -$module = Horde_String::lower(preg_replace('/\W/', '', Horde_Util::getFormData('module', 'horde'))); -$topic = Horde_Util::getFormData('topic', 'overview'); +$show = isset($vars->show) + ? Horde_String::lower($vars->show) + : 'index'; +$module = isset($vars->module) + ? Horde_String::lower(preg_replace('/\W/', '', $vars->module)) + : 'horde'; +$topic = isset($vars->topic) ? $vars->topic : 'overview'; -$base_url = $registry->get('webroot', 'horde') . '/services/help/'; +$base_url = Horde::getServiceLink('help', $module); -$sidebar_url = Horde::url($base_url); -$sidebar_url = Horde_Util::addParameter($sidebar_url, array('show' => 'sidebar', - 'module' => $module, - 'topic' => $topic)); +$sidebar_url = Horde::url($base_url->copy()->add(array( + 'show' => 'sidebar', + 'topic' => $topic +))); + +if ($show == 'index') { + $main_url = Horde::url($base_url->copy()->add(array( + 'show' => 'entry', + 'topic' => $topic + ))); + $menu_url = Horde::url($base_url->copy()->add('show', 'menu')); + + require HORDE_TEMPLATES . '/help/index.inc'; + exit; +} if ($module == 'admin') { $help_app = $registry->get('name', 'horde'); - $fileroot = $registry->get('fileroot'); - $help_file = $fileroot . "/admin/locale/$language/help.xml"; - $help_file_fallback = $fileroot . '/admin/locale/en_US/help.xml'; + $fileroot = $registry->get('fileroot') . '/admin'; } else { $help_app = $registry->get('name', $module); $fileroot = $registry->get('fileroot', $module); - $help_file = $fileroot . "/locale/$language/help.xml"; - $help_file_fallback = $fileroot . '/locale/en_US/help.xml'; } -if ($show == 'index') { - $main_url = Horde::url($base_url); - $main_url = Horde_Util::addParameter($main_url, array('show' => 'entry', - 'module' => $module, - 'topic' => $topic)); - $menu_url = Horde::url($base_url); - $menu_url = Horde_Util::addParameter($menu_url, array('module' => $module, - 'show' => 'menu')); - - require HORDE_TEMPLATES . '/help/index.inc'; - exit; -} +$help = new Horde_Help(Horde_Help::SOURCE_FILE, array($fileroot . '/locale/' . $language . '/help.xml', $fileroot . '/locale/en_US/help.xml')); $bodyClass = 'help help_' . urlencode($show); require HORDE_TEMPLATES . '/common-header.inc'; -if ($show == 'menu') { + +switch ($show) { +case 'menu': $version = Horde_String::ucfirst($module) . ' ' . $registry->getVersion($module); require HORDE_TEMPLATES . '/help/menu.inc'; -} elseif ($show == 'sidebar') { - $vars = Horde_Variables::getDefaultVariables(); + break; - /* Get current page and if empty, load the default */ - $side_show = Horde_Util::getFormData('side_show', 'index'); - $vars->set('side_show', $side_show); +case 'sidebar': + if (!isset($vars->side_show)) { + $vars->set('side_show', 'index'); + } /* Generate Tabs */ $tabs = new Horde_Ui_Tabs('side_show', $vars); @@ -69,28 +75,24 @@ if ($show == 'menu') { $tree->setOption(array('target' => 'help_main')); $contents = ''; - switch ($side_show) { + switch ($vars->side_show) { case 'index': - $help = new Horde_Help(Horde_Help::SOURCE_FILE, array($help_file, $help_file_fallback)); $topics = $help->topics(); $added_nodes = array(); + $node_params_master = array( + 'target' => 'help_main', + 'icon' => 'help.png', + 'icondir' => $registry->getImageDir('horde') + ); foreach ($topics as $id => $title) { if (!$title) { continue; } + $node_params = $node_params_master; $parent = null; - $url = Horde::url($registry->get('webroot', 'horde') . '/services/help/'); - $url = Horde_Util::addParameter($url, array('show' => 'entry', 'module' => $module, 'topic' => $id)); - $node_params = array( - 'url' => $url, - 'target' => 'help_main', - 'icon' => 'help.png', - 'icondir' => $registry->getImageDir('horde'), - ); - /* If the title doesn't begin with :: then replace all * double colons with single colons. */ if (substr($title, 0, 2) != '::') { @@ -109,10 +111,11 @@ if ($show == 'menu') { $idx .= '|' . $name; if (empty($added_nodes[$idx])) { $added_nodes[$idx] = true; - if (count($levels)) { - unset($node_params['url']); - } else { - $node_params['url'] = $url; + if (!count($levels)) { + $node_params['url'] = $base_url->copy()->add(array( + 'show' => 'entry', + 'topic' => $id + )); } $tree->addNode($idx, $parent, $name, 0, false, $node_params); } @@ -131,25 +134,21 @@ if ($show == 'menu') { $searchForm->addHidden('', 'module', 'text', false); $searchForm->addHidden('', 'side_show', 'text', false); - $vars->set('side_show', $side_show); $searchForm->addVariable(_("Keyword"), 'keyword', 'text', false, false, null, array(null, 20)); $renderer = new Horde_Form_Renderer(); $renderer->setAttrColumnWidth('50%'); - $contents = Horde_Util::bufferOutput(array($searchForm, 'renderActive'), $renderer, $vars, $sidebar_url, 'post') . + $contents = Horde_Util::bufferOutput(array($searchForm, 'renderActive'), $renderer, $vars, $sidebar_url->copy()->setRaw(true), 'post') . '
'; $keywords = $vars->get('keyword'); if (!empty($keywords)) { - $help = new Horde_Help(Horde_Help::SOURCE_FILE, array($help_file, $help_file_fallback)); $results = $help->search($keywords); foreach ($results as $id => $title) { if (empty($title)) { continue; } - $link = Horde::url($registry->get('webroot', 'horde') . '/services/help/'); - $link = Horde_Util::addParameter($link, array('show' => 'entry', 'module' => $module, 'topic' => $id)); - $contents .= Horde::link($link, null, null, 'help_main') . + $contents .= Horde::link($base_url->copy()->add(array('show' => 'entry', 'topic' => $id)), null, null, 'help_main') . htmlspecialchars($title) . "
\n"; } } @@ -157,12 +156,14 @@ if ($show == 'menu') { } require HORDE_TEMPLATES . '/help/sidebar.inc'; -} else { - $help = new Horde_Help(Horde_Help::SOURCE_FILE, array($help_file, $help_file_fallback)); - if (($show == 'entry') && $topic) { + break; + +case 'entry': + if ($topic) { $help->lookup($topic); $help->display(); } + break; } require HORDE_TEMPLATES . '/common-footer.inc'; diff --git a/horde/templates/help/menu.inc b/horde/templates/help/menu.inc index 8e4365ad2..fbc1ad468 100644 --- a/horde/templates/help/menu.inc +++ b/horde/templates/help/menu.inc @@ -1,4 +1,3 @@
-  
diff --git a/horde/templates/help/sidebar.inc b/horde/templates/help/sidebar.inc index ba33e8eff..13990dff3 100644 --- a/horde/templates/help/sidebar.inc +++ b/horde/templates/help/sidebar.inc @@ -3,7 +3,7 @@
- render($side_show) ?> + render($vars->side_show) ?>
renderTree() ?>