X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Fhelpviewer.php;h=511dc06676e4806f08294af1e238d8740a19ac0f;hb=888f9d7ce78494b0c3308f551bd0857e1ecfc0d0;hp=1f0499a42ba5b0e2da76af34b1232bfd65469b7b;hpb=447b0b1d8b38dc528ac09bb3f99b2f62ebe49263;p=gosa.git diff --git a/html/helpviewer.php b/html/helpviewer.php index 1f0499a42..511dc0667 100644 --- a/html/helpviewer.php +++ b/html/helpviewer.php @@ -1,5 +1,4 @@ data['MAIN']['LANG'] == ""){ } $lang.=".UTF-8"; + putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -59,26 +64,25 @@ if (isset ($config->data['MAIN']['COMPILE'])){ } else { $smarty->compile_dir= '/var/spool/gosa/'; } - - +$smarty->assign("title", "GOsa - "._("Help browser")); /* HELP management starts here ... */ - /* Generate helpobject */ 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 = preg_replace("/_.*$/","",get_browser_language()); +$lang = $lang[0].$lang[1]; +$helpobject['lang'] = $lang; $defaultpage = "index.html"; // alternative file, shown on error, or on first call $prefix = "node"; // Prefix of the generated help files $suffix = ".html"; // Suffix of the generated helpfiles @@ -91,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. @@ -104,21 +108,21 @@ if(isset($_SESSION['current_class_for_help'])){ /* Generate help array */ $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(); } - + /* Save filename */ $helpobject['file']= $str[($_SESSION['current_class_for_help'])]['FILE']; @@ -126,7 +130,9 @@ if(isset($_SESSION['current_class_for_help'])){ $helpobject['currentplug'] = $helpdir; /* Avoid displaying the same help every time */ - unset($_SESSION['current_class_for_help']); + if(isset($_GET['pg'])){ + unset($_SESSION['current_class_for_help']); + } }elseif(isset($_GET['plug'])){ /* This displays helpfiles depending on the current $_GET[plug] */ @@ -166,7 +172,6 @@ if(isset($_GET['pg'])){ } } } - $helpdir.="/"; /* Save current settings */ @@ -176,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/"; @@ -185,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 */ @@ -213,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; @@ -221,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: