aaf9abef |
1 | <?php |
2 | /** |
3 | ** options_identities.php |
4 | ** |
5 | ** $Id$ |
6 | **/ |
7 | |
ff8a98e7 |
8 | require_once('../src/validate.php'); |
9 | require_once('../functions/display_messages.php'); |
aaf9abef |
10 | |
11 | if (isset($return)) { |
12 | SaveUpdateFunction(); |
13 | header('Location: options_personal.php'); |
14 | exit(); |
15 | } |
16 | |
17 | displayPageHeader($color, 'None'); |
18 | |
0f101579 |
19 | $Info = do_hook('options_identities_process', 0); |
20 | if ($Info[1]) |
21 | SaveUpdateFunction(); |
22 | |
aaf9abef |
23 | if (CheckAndDoDefault() || CheckAndDoPromote()) { |
24 | SaveUpdateFunction(); |
25 | } |
d20f2df6 |
26 | if (isset($update) || CheckForDelete()) |
aaf9abef |
27 | SaveUpdateFunction(); |
28 | |
29 | LoadInfo($full_name, $email_address, $reply_to, ''); |
30 | |
31 | ?> |
32 | <br> |
33 | <table width=95% align=center border=0 cellpadding=2 cellspacing=0> |
e7db48af |
34 | <tr><td bgcolor="<?php echo $color[0] ?>" align="center"> |
35 | |
36 | <b><?php echo _("Options") . ' - ' . _("Advanced Identities"); ?></b> |
37 | |
38 | <table width="100%" border="0" cellpadding="1" cellspacing="1"> |
39 | <tr><td bgcolor="<?php echo $color[4] ?>" align="center"> |
aaf9abef |
40 | |
e7db48af |
41 | <form name=f action="options_identities.php" method=post><br> |
8d4949e4 |
42 | |
0f101579 |
43 | <?PHP do_hook('options_identities_top'); ?> |
44 | |
e7db48af |
45 | <table width=80% cellpadding=2 cellspacing=0 border=0> |
aaf9abef |
46 | <tr bgcolor="<?PHP echo $color[9] ?>"> |
47 | <th colspan=2 align=center><?PHP echo _("Default Identity") ?></th> |
48 | </tr> |
49 | <?PHP |
50 | |
51 | ShowTableInfo($full_name, $email_address, $reply_to, ''); |
52 | |
53 | $num = 1; |
54 | while (LoadInfo($full_name, $email_address, $reply_to, $num)) |
55 | { |
56 | ?> |
57 | <tr bgcolor="<?PHP echo $color[9] ?>"> |
58 | <th colspan=2 align=center><?PHP printf (_("Alternate Identity %d"), |
59 | $num) ?></th> |
60 | </tr> |
61 | <?PHP |
62 | ShowTableInfo($full_name, $email_address, $reply_to, $num); |
63 | $num ++; |
64 | } |
65 | |
66 | ?> |
67 | <tr bgcolor="<?PHP echo $color[9] ?>"> |
68 | <th colspan=2 align=center><?PHP echo _("Add a New Identity") ?></th> |
69 | </tr> |
70 | <? |
71 | |
72 | ShowTableInfo('', '', '', $num); |
73 | ?> |
74 | </table> |
75 | </form> |
e7db48af |
76 | |
77 | </td></tr> |
78 | </table> |
79 | |
80 | </td></tr> |
81 | </table> |
aaf9abef |
82 | </body></html> |
e7db48af |
83 | |
aaf9abef |
84 | <?PHP |
85 | |
86 | function SaveUpdateFunction() |
87 | { |
88 | global $username, $data_dir, $full_name, $email_address, $reply_to; |
89 | |
90 | $i = 1; |
91 | $fakeI = 1; |
92 | $name = 'form_for_' . $i; |
93 | global $$name; |
94 | while (isset($$name)) |
95 | { |
96 | $name = 'delete_' . $i; |
97 | global $$name; |
98 | if (isset($$name)) { |
99 | $fakeI --; |
100 | } else { |
0f101579 |
101 | do_hook('options_identities_renumber', $i, $fakeI); |
aaf9abef |
102 | $filled = 0; |
103 | |
104 | $name = 'full_name' . $i; |
105 | global $$name; |
106 | if ($$name != '') |
107 | $filled ++; |
108 | setPref($data_dir, $username, 'full_name' . $fakeI, $$name); |
109 | |
110 | $name = 'email_address' . $i; |
111 | global $$name; |
112 | if ($$name != '') |
113 | $filled ++; |
114 | setPref($data_dir, $username, 'email_address' . $fakeI, $$name); |
115 | |
116 | $name = 'reply_to' . $i; |
117 | global $$name; |
118 | if ($$name != '') |
119 | $filled ++; |
120 | setPref($data_dir, $username, 'reply_to' . $fakeI, $$name); |
121 | |
122 | if ($filled == 0) |
123 | $fakeI --; |
124 | } |
125 | |
126 | $fakeI ++; |
127 | $i ++; |
128 | $name = 'form_for_' . $i; |
129 | global $$name; |
130 | } |
131 | |
132 | setPref($data_dir, $username, 'identities', $fakeI); |
133 | |
134 | while ($fakeI != $i) |
135 | { |
136 | removePref($data_dir, $username, 'full_name' . $fakeI); |
137 | removePref($data_dir, $username, 'email_address' . $fakeI); |
138 | removePref($data_dir, $username, 'reply_to' . $fakeI); |
139 | $fakeI ++; |
140 | } |
141 | |
142 | setPref($data_dir, $username, 'full_name', $full_name); |
143 | setPref($data_dir, $username, 'email_address', $email_address); |
144 | setPref($data_dir, $username, 'reply_to', $reply_to); |
145 | } |
146 | |
147 | function CheckAndDoDefault() |
148 | { |
149 | global $username, $data_dir, $full_name, $email_address, $reply_to; |
150 | |
151 | $i = 1; |
152 | $name = 'form_for_' . $i; |
153 | global $$name; |
154 | while (isset($$name)) |
155 | { |
156 | $name = 'make_default_' . $i; |
157 | global $$name; |
158 | if (isset($$name)) { |
0f101579 |
159 | do_hook('options_identities_renumber', $i, 'default'); |
aaf9abef |
160 | global $full_name, $email_address, $reply_to; |
161 | |
8d4949e4 |
162 | $name = 'full_name' . $i; |
163 | global $$name; |
164 | $temp = $full_name; |
165 | $full_name = $$name; |
166 | $$name = $temp; |
167 | |
168 | $name = 'email_address' . $i; |
169 | global $$name; |
170 | $temp = $email_address; |
171 | $email_address = $$name; |
172 | $$name = $temp; |
173 | |
174 | $name = 'reply_to' . $i; |
175 | global $$name; |
176 | $temp = $reply_to; |
177 | $reply_to = $$name; |
178 | $$name = $temp; |
179 | |
180 | return true; |
aaf9abef |
181 | } |
182 | |
183 | $i ++; |
184 | $name = 'form_for_' . $i; |
185 | global $$name; |
186 | } |
187 | return false; |
188 | } |
189 | |
d20f2df6 |
190 | function CheckForDelete() |
191 | { |
192 | global $username, $data_dir, $full_name, $email_address, $reply_to; |
193 | |
194 | $i = 1; |
195 | $name = 'form_for_' . $i; |
196 | global $$name; |
197 | while (isset($$name)) |
198 | { |
199 | $name = 'delete_' . $i; |
200 | global $$name; |
201 | if (isset($$name)) { |
202 | return true; |
203 | } |
204 | |
205 | $i ++; |
206 | $name = 'form_for_' . $i; |
207 | global $$name; |
208 | } |
209 | return false; |
210 | } |
211 | |
aaf9abef |
212 | function CheckAndDoPromote() |
213 | { |
214 | global $username, $data_dir, $full_name, $email_address, $reply_to; |
215 | |
216 | $i = 1; |
217 | $name = 'form_for_' . $i; |
218 | global $$name; |
219 | while (isset($$name)) |
220 | { |
221 | $name = 'promote_' . $i; |
222 | global $$name; |
223 | if (isset($$name) && $i > 1) { |
0f101579 |
224 | do_hook('options_identities_renumber', $i, $i - 1); |
225 | |
aaf9abef |
226 | $nameA = 'full_name' . $i; |
227 | $nameB = 'full_name' . ($i - 1); |
228 | global $$nameA, $$nameB; |
229 | $temp = $$nameA; |
230 | $$nameA = $$nameB; |
231 | $$nameB = $temp; |
232 | |
233 | $nameA = 'email_address' . $i; |
234 | $nameB = 'email_address' . ($i - 1); |
235 | global $$nameA, $$nameB; |
236 | $temp = $$nameA; |
237 | $$nameA = $$nameB; |
238 | $$nameB = $temp; |
239 | |
0f101579 |
240 | $nameA = 'reply_to' . $i; |
241 | $nameB = 'reply_to' . ($i - 1); |
aaf9abef |
242 | global $$nameA, $$nameB; |
243 | $temp = $$nameA; |
244 | $$nameA = $$nameB; |
245 | $$nameB = $temp; |
246 | |
247 | return true; |
248 | } |
249 | |
250 | $i ++; |
251 | $name = 'form_for_' . $i; |
252 | global $$name; |
253 | } |
254 | return false; |
255 | } |
256 | |
257 | function LoadInfo(&$n, &$e, &$r, $post) |
258 | { |
259 | global $username, $data_dir; |
260 | |
261 | $n = getPref($data_dir, $username, 'full_name' . $post); |
262 | $e = getPref($data_dir, $username, 'email_address' . $post); |
263 | $r = getPref($data_dir, $username, 'reply_to' . $post); |
264 | |
265 | if ($n != '' || $e != '' || $r != '') |
266 | return true; |
267 | } |
268 | |
269 | function ShowTableInfo($full_name, $email_address, $reply_to, $post) |
270 | { |
271 | global $color; |
272 | |
8d4949e4 |
273 | $OtherBG = ' bgcolor="' . $color[0] . '"'; |
274 | if ($full_name == '' && $email_address == '' && $reply_to == '') |
275 | $OtherBG = ''; |
aaf9abef |
276 | |
277 | if ($full_name == '' && $email_address == '' && $reply_to == '') |
278 | $isEmptySection = true; |
279 | else |
280 | $isEmptySection = false; |
281 | |
282 | ?> |
283 | <tr<?PHP echo $OtherBG ?>> |
284 | <td align=right nowrap> |
285 | <?php echo _("Full Name"); ?>: |
286 | </td> |
287 | <td> |
288 | <input size=50 type=text value="<?php echo htmlspecialchars($full_name) |
289 | ?>" name="full_name<?PHP echo $post ?>"> |
290 | </td> |
291 | </tr> |
292 | <tr<?PHP echo $OtherBG ?>> |
293 | <td align=right nowrap> |
294 | <?php echo _("E-Mail Address"); ?>: |
295 | </td> |
296 | <td> |
297 | <input size=50 type=text value="<?php echo htmlspecialchars($email_address) |
298 | ?>" name="email_address<?PHP echo $post ?>"> |
299 | </td> |
300 | </tr> |
301 | <tr<?PHP echo $OtherBG ?>> |
302 | <td align=right nowrap> |
303 | <?php echo _("Reply To"); ?>: |
304 | </td> |
305 | <td> |
306 | <input size=50 type=text value="<?php echo htmlspecialchars($reply_to) |
307 | ?>" name="reply_to<?PHP echo $post ?>"> |
308 | </td> |
309 | </tr> |
0f101579 |
310 | <?PHP do_hook('options_identities_table', $OtherBG, $isEmptySection, $post); ?> |
8d4949e4 |
311 | <tr<?PHP echo $OtherBG ?>> |
312 | <td> </td><td> |
aaf9abef |
313 | <input type=hidden name="form_for_<?PHP echo $post ?>" value="1"> |
5e217f08 |
314 | <input type=submit name="update" value="<?PHP |
315 | echo _("Save / Update") . '">'; |
aaf9abef |
316 | if (! $isEmptySection && $post != '') { |
317 | ?> |
318 | <input type=submit name="make_default_<?PHP echo $post ?>" value="<?PHP |
319 | echo _("Make Default") ?>"> |
8d4949e4 |
320 | <input type=submit name="delete_<?PHP echo $post ?>" value="<?PHP echo _("Delete") ?>"> |
aaf9abef |
321 | <?PHP |
322 | } |
323 | if (! $isEmptySection && $post != '' && $post > 1) { |
324 | ?> |
325 | <input type=submit name="promote_<?PHP echo $post ?>" value="<?PHP |
326 | echo _("Move Up") ?>"> |
327 | <?PHP |
328 | } |
0f101579 |
329 | do_hook('options_identities_buttons', $isEmptySection, $post); |
aaf9abef |
330 | ?> |
331 | </td> |
332 | </tr> |
8d4949e4 |
333 | <tr> |
334 | <td colspan="2"> </td> |
335 | </tr> |
aaf9abef |
336 | <?PHP |
337 | } |
ff8a98e7 |
338 | ?> |