X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Fhelpviewer.php;h=d1828ac92086ba6f49b13232096f3f85baaa4ac6;hb=be6a0e4897da0b88b201934fc652e688898885c6;hp=d515328546dc2d6156f9bf35b8506f45daffc8af;hpb=e474b33288b761727d21e934b04402bf37786c1b;p=gosa.git diff --git a/html/helpviewer.php b/html/helpviewer.php index d51532854..d1828ac92 100644 --- a/html/helpviewer.php +++ b/html/helpviewer.php @@ -23,9 +23,12 @@ @require_once ("functions.inc"); @require_once ("functions_helpviewer.inc"); -error_reporting(0); +error_reporting(E_ALL); +restore_error_handler(); header("Content-type: text/html; charset=UTF-8"); + session_start(); +$ui= $_SESSION["ui"]; $config= $_SESSION['config']; /* If no config object is found in the session, abort help */ @@ -42,11 +45,8 @@ if ($config->data['MAIN']['LANG'] == ""){ $lang= $config->data['MAIN']['LANG']; } -if(isset($_SESSION['ui']->language)){ - $lang = $_SESSION['ui']->language; -} - $lang.=".UTF-8"; + putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -64,6 +64,7 @@ if (isset ($config->data['MAIN']['COMPILE'])){ } else { $smarty->compile_dir= '/var/spool/gosa/'; } +$smarty->assign("title", "GOsa - "._("Help browser")); /* HELP management starts here ... */ @@ -94,6 +95,7 @@ $backward =$defaultpage; $index =$defaultpage; $forward ="node1.html"; +$helpdir =""; /* Every class which is called within a tab, stores its name in the Session. * If $_SESSION['current_class_for_help'] isset, * get the helpfile specified in the xml file and display it. @@ -108,12 +110,12 @@ if(isset($_SESSION['current_class_for_help'])){ $str = $xml->parse(); /* __LANG__ is used as placeholder for the used language*/ - $helpdir= preg_replace("/__LANG__/i",$lang,$str[($_SESSION['current_class_for_help'])]['PATH']); + $helpdir= @preg_replace("/__LANG__/i",$lang,$str[($_SESSION['current_class_for_help'])]['PATH']); /* If there is no entry in the xml file for this class, display an error message */ if($helpdir == ""){ - $smarty->assign("help_contents","

"._("There is no helpfile specified for this class."))."

"; + $smarty->assign("help_contents","

"._("There is no helpfile specified for this class"))."

"; $header= "".$smarty->fetch(get_template_path('headers.tpl')); $display= ( $header.$smarty->fetch(get_template_path('help.tpl'))); echo $display; @@ -170,7 +172,6 @@ if(isset($_GET['pg'])){ } } } - $helpdir.="/"; /* Save current settings */ @@ -180,6 +181,42 @@ $_SESSION['helpobject'] = $helpobject; * Display management */ +$files = array(); +$f = opendir($helpdir); +while($file = readdir($f)){ + $files[$file]=$file; +} + +/* Some replacements */ +$backwardlink = " + \""._("previous")."\" + "; + +$forwardlink = " + \""._("next")."\" + "; + + +$back = $for =""; +if($helpobject['file'] == "index.html"){ + $back = " "; + $for = sprintf($forwardlink, $prefix."1".$suffix); +}else{ + $current = preg_replace("/^".$prefix."/","",$helpobject['file']); + $current = preg_replace("/\.html$/","",$current); + + if(isset($files[$prefix.($current+1).$suffix])) { + $for = sprintf($forwardlink, $prefix.($current+1).$suffix); + } + if(isset($files[$prefix.($current-1).$suffix])) { + $back = sprintf($backwardlink, $prefix.($current-1).$suffix); + } + if(($current-1) == 0){ + $back = sprintf($backwardlink, "index.html"); + } +} + + /* If there is no helpdir or file defined, display the index */ if(isset($_POST['search'])){ $helpdir = "../doc/guide/user/".$helpobject['lang']."/html/"; @@ -217,6 +254,8 @@ if(isset($_POST['search'])){ $header= "".$smarty->fetch(get_template_path('headers.tpl')); /* I don't know why, but we must use utf8_encode to avoid dispplay errors */ + $smarty->assign("backward",$back); + $smarty->assign("forward" ,$for); $display= utf8_encode( $header.$smarty->fetch(get_template_path('help.tpl'))); echo $display;