defaults in load_prefs are not needed when config-default is populated
[squirrelmail.git] / src / help.php
index 60f9235857156f4c2517cd44165a8ef1e4ffa714..67aa1c0d530ac7dfc0f3dc423f9b4eaecfdabdfe 100644 (file)
@@ -7,35 +7,16 @@
     **
     **  Displays help for the user
     **
+    **  $Id$
     **/
 
-   session_start();
-
-   if (!isset($config_php))
-      include("../config/config.php");
-   if (!isset($strings_php))
-      include("../functions/strings.php");
-   if (!isset($page_header_php))
-      include("../functions/page_header.php");
-   if (!isset($display_messages_php))
-      include("../functions/display_messages.php");
-   if (!isset($imap_php))
-      include("../functions/imap.php");
-   if (!isset($array_php))
-      include("../functions/array.php");
-   if (!isset($i18n_php))
-      include("../functions/i18n.php");
-   if (!isset($auth_php))
-      include ("../functions/auth.php"); 
-
-   if ($language) {
-      setcookie("squirrelmail_language", $language, time()+2592000);
-      $squirrelmail_language = $language;
-   }   
-
-   include("../src/load_prefs.php");
+   require_once('../src/validate.php');
+   require_once('../functions/display_messages.php');
+   require_once('../functions/imap.php');
+   require_once('../functions/array.php');
+
+
    displayPageHeader($color, "None");
-   is_logged_in(); 
 
        $helpdir[0] = "basic.hlp";
        $helpdir[1] = "main_folder.hlp";
        $helpdir[4] = "addresses.hlp";
        $helpdir[5] = "folders.hlp";
        $helpdir[6] = "options.hlp";
-       $helpdir[7] = "FAQ.hlp";
+       $helpdir[7] = "search.hlp";
+       $helpdir[8] = "FAQ.hlp";
 
    /****************[ HELP FUNCTIONS ]********************/
+   // parses through and gets the information from the different documents.  
+   // this returns one section at a time.  You must keep track of the position
+   // so that it knows where to start to look for the next section.
+
    function get_info($doc, $pos) {
       for ($n=$pos; $n < count($doc); $n++) {
          if (trim(strtolower($doc[$n])) == "<chapter>" || trim(strtolower($doc[$n])) == "<section>") {
                   $ary[0] = trim($doc[$n]);
                }
                if (trim(strtolower($doc[$n])) == "<description>") {
+                 $ary[1] = "";
                   for ($n++;$n < count($doc) && (trim(strtolower($doc[$n])) != "</description>"); $n++) {
                      $ary[1] .= $doc[$n];
                   }
                }
                if (trim(strtolower($doc[$n])) == "<summary>") {
+                 $ary[2] = "";
                   for ($n++;$n < count($doc) && (trim(strtolower($doc[$n])) != "</summary>"); $n++) {
                      $ary[2] .= $doc[$n];
                   }
                }
             }   
-            if ($ary) {
+            if (isset($ary)) {
                $ary[3] = $n;
                return $ary;
             } else {
 
 <br>
 <table width=95% align=center cellpadding=2 cellspacing=2 border=0>
-<tr><td bgcolor="<? echo $color[0] ?>">
-   <center><b><? echo _("Help") ?></b></center>
+<tr><td bgcolor="<?php echo $color[0] ?>">
+   <center><b><?php echo _("Help") ?></b></center>
 </td></tr></table>
 
+<?php do_hook("help_top") ?>
 
 <table width=90% cellpadding=0 cellspacing=10 border=0 align=center><tr><td>
 <?php
          $context = "index"; 
       else if (strpos($ref, "src/read_body"))
          $context = "read"; 
+      else if (strpos($ref, "src/search"))
+         $context = "search"; 
    }
    
-   if (file_exists("../help/$user_language")) {
+   if (!$squirrelmail_language)
+      $squirrelmail_language = "en";
+
+   if (file_exists("../help/$squirrelmail_language")) {
       $help_exists = true;
-      $user_language = $user_language;
+      $user_language = $squirrelmail_language;
    } else if (file_exists("../help/en")) {
       $help_exists = true;
       echo "<center><font color=\"$color[2]\">";
-      echo _("The help has not been translated to your preferred language.  It will be displayed in English instead.");
+      printf (_("The help has not been translated to %s.  It will be displayed in English instead."), $languages[$squirrelmail_language]["NAME"]);
       echo "</font></center><br>";
       $user_language = "en";
    } else {
       echo "<br><center><font color=\"$color[2]\">";
       echo _("Some or all of the help documents are not present!");
       echo "</font></center>";
+      echo "</td></tr></table>";
+      exit;
    }
    
    if ($help_exists) {
+      if (! isset($context))
+          $context = '';
       if ($context == "compose")
          $chapter = 4;
       else if ($context == "address")
          $chapter = 2;
       else if ($context == "read")
          $chapter = 3;
+      else if ($context == "search")
+         $chapter = 8;
 
-      if (!$chapter) {
+      if (!isset($chapter)) {
          echo "<table cellpadding=0 cellspacing=0 border=0 align=center><tr><td>\n";
          echo "<b><center>" . _("Table of Contents") . "</center></b><br>";
+         do_hook("help_chapter");
          echo "<ol>\n";
          for ($i=0; $i < count($helpdir); $i++) {
             $doc = file("../help/$user_language/$helpdir[$i]");
 
          echo "<small><center>";
 
-         if ($chapter <= 1) echo "<font color=\"$color[9]\">Previous</font> | ";
-         else echo "<a href=\"../src/help.php?chapter=".($chapter-1)."\">Previous</a> | ";
-         echo "<a href=\"../src/help.php\">Table of Contents</a>";
-         if ($chapter >= count($helpdir)) echo " | <font color=\"$color[9]\">Next</font>";
-         else echo " | <a href=\"../src/help.php?chapter=".($chapter+1)."\">Next</a>";
+         if ($chapter <= 1) echo "<font color=\"$color[9]\">"._("Previous")."</font> | ";
+         else echo "<a href=\"../src/help.php?chapter=".($chapter-1)."\">"._("Previous")."</a> | ";
+         echo "<a href=\"../src/help.php\">"._("Table of Contents")."</a>";
+         if ($chapter >= count($helpdir)) echo " | <font color=\"$color[9]\">"._("Next")."</font>";
+         else echo " | <a href=\"../src/help.php?chapter=".($chapter+1)."\">"._("Next")."</a>\n";
          echo "</center></small><br>\n";
 
          echo "<font size=5><b>$chapter - $help_info[0]</b></font><br><br>\n";
-         if ($help_info[1])
-            echo "$help_info[1]";
+         if (isset($help_info[1]))
+            echo "$help_info[1]\n";
          else   
-            echo "<p>$help_info[2]</p>";
+            echo "<p>$help_info[2]</p>\n";
 
+         $section = 0;
          for ($n = $help_info[3]; $n < count($doc); $n++) {
             $section++;
             $help_info = get_info($doc, $n);
             $n = $help_info[3];
          }
 
-         echo "<br><center><a href=\"#pagetop\">" . _("Top") . "</a></center>";
+         echo "<br><center><a href=\"#pagetop\">" . _("Top") . "</a></center>\n";
       }
    }
+   do_hook("help_bottom"); 
 ?>
-<tr><td bgcolor="<? echo $color[0] ?>">&nbsp;</td></tr></table>
+<tr><td bgcolor="<?php echo $color[0] ?>">&nbsp;</td></tr></table>
 <td></tr></table>
-</body></html>
+</body></html>
\ No newline at end of file