X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Fhelpviewer.php;h=d1828ac92086ba6f49b13232096f3f85baaa4ac6;hb=bf6e99ebb13e00dc648dba59408ff958fc16670d;hp=0f0c168056de74dfed575d2165427495deae466c;hpb=36a75b7abebc7a1c914a32d754f6891597b27fc1;p=gosa.git diff --git a/html/helpviewer.php b/html/helpviewer.php index 0f0c16805..d1828ac92 100644 --- a/html/helpviewer.php +++ b/html/helpviewer.php @@ -23,9 +23,13 @@ @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 */ if (!isset($_SESSION['config'])){ @@ -42,6 +46,7 @@ if ($config->data['MAIN']['LANG'] == ""){ } $lang.=".UTF-8"; + putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -59,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 ... */ @@ -67,14 +73,13 @@ if (isset ($config->data['MAIN']['COMPILE'])){ if(isset($_SESSION['helpobject'])){ $helpobject = $_SESSION['helpobject']; }else{ - $helpobject['lang'] = "en"; + $helpobject['lang'] = $lang; $helpobject['helpconf'] = array(); $helpobject['currentplug'] = ""; $helpobject['file'] = "index.html"; $helpobject['helpconf'] = $_SESSION['plist']->gen_headlines(); } -$lang = get_browser_language(); $lang = $lang[0].$lang[1]; $helpobject['lang'] = $lang; @@ -90,7 +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. @@ -105,14 +110,14 @@ 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= utf8_encode( $header.$smarty->fetch(get_template_path('help.tpl'))); + $display= ( $header.$smarty->fetch(get_template_path('help.tpl'))); echo $display; unset($_SESSION['current_class_for_help']); exit(); @@ -167,7 +172,6 @@ if(isset($_GET['pg'])){ } } } - $helpdir.="/"; /* Save current settings */ @@ -177,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/"; @@ -186,7 +226,7 @@ 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 */ - $display= utf8_encode( $header.$smarty->fetch(get_template_path('help.tpl'))); + $display= ( $header.$smarty->fetch(get_template_path('help.tpl'))); echo $display; }elseif(((empty($helpdir)))||($helpdir=="/")){ /* Generate Index and display it */ @@ -214,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; @@ -222,7 +264,7 @@ if(isset($_POST['search'])){ /* There was a file requested which actually doesn't exists */ $smarty->assign("help_contents","

".sprintf(_("Helpdir '%s' is not accessible, can't read any helpfiles."),$helpdir))."


"; $header= "".$smarty->fetch(get_template_path('headers.tpl')); - $display= utf8_encode( $header.$smarty->fetch(get_template_path('help.tpl'))); + $display= ( $header.$smarty->fetch(get_template_path('help.tpl'))); echo $display; } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: