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