e222c290 |
1 | <?php |
895905c0 |
2 | |
ef870322 |
3 | /** |
390372b4 |
4 | ** help.php |
ef870322 |
5 | ** |
895905c0 |
6 | ** Copyright (c) 1999-2001 The SquirrelMail development team |
ef870322 |
7 | ** Licensed under the GNU GPL. For full terms see the file COPYING. |
8 | ** |
390372b4 |
9 | ** Displays help for the user |
ef870322 |
10 | ** |
245a6892 |
11 | ** $Id$ |
ef870322 |
12 | **/ |
e222c290 |
13 | |
ff8a98e7 |
14 | require_once('../src/validate.php'); |
15 | require_once('../functions/display_messages.php'); |
16 | require_once('../functions/imap.php'); |
17 | require_once('../functions/array.php'); |
390372b4 |
18 | |
390372b4 |
19 | |
2d367c68 |
20 | displayPageHeader($color, 'None' ); |
21 | |
22 | $helpdir[0] = 'basic.hlp'; |
23 | $helpdir[1] = 'main_folder.hlp'; |
24 | $helpdir[2] = 'read_mail.hlp'; |
25 | $helpdir[3] = 'compose.hlp'; |
26 | $helpdir[4] = 'addresses.hlp'; |
27 | $helpdir[5] = 'folders.hlp'; |
28 | $helpdir[6] = 'options.hlp'; |
29 | $helpdir[7] = 'search.hlp'; |
30 | $helpdir[8] = 'FAQ.hlp'; |
390372b4 |
31 | |
32 | /****************[ HELP FUNCTIONS ]********************/ |
2d367c68 |
33 | // parses through and gets the information from the different documents. |
99fa2b21 |
34 | // this returns one section at a time. You must keep track of the position |
35 | // so that it knows where to start to look for the next section. |
36 | |
390372b4 |
37 | function get_info($doc, $pos) { |
38 | for ($n=$pos; $n < count($doc); $n++) { |
39 | if (trim(strtolower($doc[$n])) == "<chapter>" || trim(strtolower($doc[$n])) == "<section>") { |
40 | for ($n++;$n < count($doc) && (trim(strtolower($doc[$n])) != "</section>") && (trim(strtolower($doc[$n])) != "</chapter>"); $n++) { |
41 | if (trim(strtolower($doc[$n])) == "<title>") { |
42 | $n++; |
43 | $ary[0] = trim($doc[$n]); |
44 | } |
45 | if (trim(strtolower($doc[$n])) == "<description>") { |
2d367c68 |
46 | $ary[1] = ""; |
390372b4 |
47 | for ($n++;$n < count($doc) && (trim(strtolower($doc[$n])) != "</description>"); $n++) { |
48 | $ary[1] .= $doc[$n]; |
49 | } |
50 | } |
51 | if (trim(strtolower($doc[$n])) == "<summary>") { |
2d367c68 |
52 | $ary[2] = ""; |
390372b4 |
53 | for ($n++;$n < count($doc) && (trim(strtolower($doc[$n])) != "</summary>"); $n++) { |
54 | $ary[2] .= $doc[$n]; |
55 | } |
56 | } |
2d367c68 |
57 | } |
1863670d |
58 | if (isset($ary)) { |
390372b4 |
59 | $ary[3] = $n; |
60 | return $ary; |
61 | } else { |
62 | $ary[0] = "ERROR: Help files are not in the right format!"; |
63 | $ary[1] = "ERROR: Help files are not in the right format!"; |
64 | $ary[2] = "ERROR: Help files are not in the right format!"; |
65 | return $ary; |
2d367c68 |
66 | } |
390372b4 |
67 | } |
68 | } |
69 | $ary[0] = "ERROR: Help files are not in the right format!"; |
70 | $ary[1] = "ERROR: Help files are not in the right format!"; |
71 | return $ary; |
e222c290 |
72 | } |
2d367c68 |
73 | |
390372b4 |
74 | /**************[ END HELP FUNCTIONS ]******************/ |
75 | |
76 | ?> |
77 | |
78 | <br> |
79 | <table width=95% align=center cellpadding=2 cellspacing=2 border=0> |
8442ac08 |
80 | <tr><td bgcolor="<?php echo $color[0] ?>"> |
81 | <center><b><?php echo _("Help") ?></b></center> |
390372b4 |
82 | </td></tr></table> |
83 | |
d7d3c4d4 |
84 | <?php do_hook("help_top") ?> |
390372b4 |
85 | |
86 | <table width=90% cellpadding=0 cellspacing=10 border=0 align=center><tr><td> |
87 | <?php |
88 | if ($HTTP_REFERER) { |
89 | $ref = strtolower($HTTP_REFERER); |
90 | if (strpos($ref, "src/compose")) |
2d367c68 |
91 | $context = "compose"; |
390372b4 |
92 | else if (strpos($ref, "src/addr")) |
2d367c68 |
93 | $context = "address"; |
390372b4 |
94 | else if (strpos($ref, "src/folders")) |
2d367c68 |
95 | $context = "folders"; |
390372b4 |
96 | else if (strpos($ref, "src/options")) |
2d367c68 |
97 | $context = "options"; |
390372b4 |
98 | else if (strpos($ref, "src/right_main")) |
2d367c68 |
99 | $context = "index"; |
390372b4 |
100 | else if (strpos($ref, "src/read_body")) |
2d367c68 |
101 | $context = "read"; |
d7d3c4d4 |
102 | else if (strpos($ref, "src/search")) |
2d367c68 |
103 | $context = "search"; |
e222c290 |
104 | } |
2d367c68 |
105 | |
0493a8d9 |
106 | if (!$squirrelmail_language) |
107 | $squirrelmail_language = "en"; |
108 | |
99fa2b21 |
109 | if (file_exists("../help/$squirrelmail_language")) { |
390372b4 |
110 | $help_exists = true; |
61afa89e |
111 | $user_language = $squirrelmail_language; |
390372b4 |
112 | } else if (file_exists("../help/en")) { |
113 | $help_exists = true; |
114 | echo "<center><font color=\"$color[2]\">"; |
99fa2b21 |
115 | printf (_("The help has not been translated to %s. It will be displayed in English instead."), $languages[$squirrelmail_language]["NAME"]); |
390372b4 |
116 | echo "</font></center><br>"; |
117 | $user_language = "en"; |
f7942326 |
118 | } else { |
390372b4 |
119 | $help_exists = false; |
120 | echo "<br><center><font color=\"$color[2]\">"; |
121 | echo _("Some or all of the help documents are not present!"); |
122 | echo "</font></center>"; |
61afa89e |
123 | echo "</td></tr></table>"; |
124 | exit; |
f7942326 |
125 | } |
2d367c68 |
126 | |
390372b4 |
127 | if ($help_exists) { |
1863670d |
128 | if (! isset($context)) |
129 | $context = ''; |
390372b4 |
130 | if ($context == "compose") |
131 | $chapter = 4; |
132 | else if ($context == "address") |
133 | $chapter = 5; |
134 | else if ($context == "folders") |
135 | $chapter = 6; |
136 | else if ($context == "options") |
137 | $chapter = 7; |
138 | else if ($context == "index") |
139 | $chapter = 2; |
140 | else if ($context == "read") |
141 | $chapter = 3; |
d7d3c4d4 |
142 | else if ($context == "search") |
143 | $chapter = 8; |
f7942326 |
144 | |
1863670d |
145 | if (!isset($chapter)) { |
390372b4 |
146 | echo "<table cellpadding=0 cellspacing=0 border=0 align=center><tr><td>\n"; |
147 | echo "<b><center>" . _("Table of Contents") . "</center></b><br>"; |
06ad27a2 |
148 | do_hook("help_chapter"); |
390372b4 |
149 | echo "<ol>\n"; |
150 | for ($i=0; $i < count($helpdir); $i++) { |
151 | $doc = file("../help/$user_language/$helpdir[$i]"); |
152 | $help_info = get_info($doc, 0); |
153 | echo "<li><a href=\"../src/help.php?chapter=". ($i+1) ."\">$help_info[0]</a>\n"; |
154 | echo "<ul>$help_info[2]</ul>"; |
155 | } |
156 | echo "</ol>\n"; |
157 | echo "</td></tr></table>\n"; |
158 | } else { |
159 | $doc = file("../help/$user_language/".$helpdir[$chapter-1]); |
160 | $help_info = get_info($doc, 0); |
161 | |
162 | echo "<small><center>"; |
163 | |
32f4685b |
164 | if ($chapter <= 1) echo "<font color=\"$color[9]\">"._("Previous")."</font> | "; |
165 | else echo "<a href=\"../src/help.php?chapter=".($chapter-1)."\">"._("Previous")."</a> | "; |
166 | echo "<a href=\"../src/help.php\">"._("Table of Contents")."</a>"; |
167 | if ($chapter >= count($helpdir)) echo " | <font color=\"$color[9]\">"._("Next")."</font>"; |
168 | else echo " | <a href=\"../src/help.php?chapter=".($chapter+1)."\">"._("Next")."</a>\n"; |
390372b4 |
169 | echo "</center></small><br>\n"; |
e222c290 |
170 | |
390372b4 |
171 | echo "<font size=5><b>$chapter - $help_info[0]</b></font><br><br>\n"; |
1863670d |
172 | if (isset($help_info[1])) |
04632dbc |
173 | echo "$help_info[1]\n"; |
2d367c68 |
174 | else |
04632dbc |
175 | echo "<p>$help_info[2]</p>\n"; |
390372b4 |
176 | |
1863670d |
177 | $section = 0; |
390372b4 |
178 | for ($n = $help_info[3]; $n < count($doc); $n++) { |
179 | $section++; |
180 | $help_info = get_info($doc, $n); |
181 | echo "<b>$chapter.$section - $help_info[0]</b>"; |
182 | echo "<ul>"; |
183 | echo "$help_info[1]"; |
184 | echo "</ul>"; |
185 | $n = $help_info[3]; |
186 | } |
187 | |
04632dbc |
188 | echo "<br><center><a href=\"#pagetop\">" . _("Top") . "</a></center>\n"; |
390372b4 |
189 | } |
190 | } |
2d367c68 |
191 | do_hook("help_bottom"); |
e222c290 |
192 | ?> |
8442ac08 |
193 | <tr><td bgcolor="<?php echo $color[0] ?>"> </td></tr></table> |
390372b4 |
194 | <td></tr></table> |
ff8a98e7 |
195 | </body></html> |