442a988d6d3209b79d93c692c92ec0a71d7c4d97
4 * mail_fetch/options.php
6 * Copyright (c) 1999-2003 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
9 * Setup of the mailfetch plugin.
14 define('SM_PATH','../../');
16 require_once(SM_PATH
. 'include/validate.php');
17 require_once(SM_PATH
. 'functions/imap.php');
18 require_once(SM_PATH
. 'include/load_prefs.php');
21 $username = $_SESSION['username'];
22 $key = $_COOKIE['key'];
23 $onetimepad = $_SESSION['onetimepad'];
24 $delimiter = $_SESSION['delimiter'];
26 if(isset($_POST['mf_cypher'])) {
27 $mf_cypher = $_POST['mf_cypher'];
32 if(isset($_POST['mf_sn'])) {
33 $mf_sn = $_POST['mf_sn'];
35 if(isset($_POST['mf_server'])) {
36 $mf_server = $_POST['mf_server'];
38 if(isset($_POST['mf_port'])) {
39 $mf_port = $_POST['mf_port'];
41 if(isset($_POST['mf_alias'])) {
42 $mf_alias = $_POST['mf_alias'];
44 if(isset($_POST['mf_user'])) {
45 $mf_user = $_POST['mf_user'];
47 if(isset($_POST['mf_pass'])) {
48 $mf_pass = $_POST['mf_pass'];
50 if(isset($_POST['mf_subfolder'])) {
51 $mf_subfolder = $_POST['mf_subfolder'];
53 if(isset($_POST['mf_login'])) {
54 $mf_login = $_POST['mf_login'];
56 if(isset($_POST['mf_fref'])) {
57 $mf_fref = $_POST['mf_fref'];
59 if(isset($_POST['submit_mailfetch'])) {
60 $submit_mailfetch = $_POST['submit_mailfetch'];
62 if(isset($_POST['mf_lmos'])) {
63 $mf_lmos = $_POST['mf_lmos'];
67 displayPageHeader( $color, 'None' );
69 //if dosen't select any option
70 if (!isset($_POST['mf_action'])) {
71 $mf_action = 'config';
73 $mf_action = $_POST['mf_action'];
76 switch( $mf_action ) {
78 if ($mf_sn<1) $mf_sn=0;
79 if (!isset($mf_server)) return;
80 setPref($data_dir,$username,"mailfetch_server_$mf_sn", (isset($mf_server)?
$mf_server:""));
81 setPref($data_dir,$username,"mailfetch_port_$mf_sn", (isset($mf_port)?
$mf_port:110));
82 setPref($data_dir,$username,"mailfetch_alias_$mf_sn", (isset($mf_alias)?
$mf_alias:""));
83 setPref($data_dir,$username,"mailfetch_user_$mf_sn",(isset($mf_user)?
$mf_user:""));
84 setPref($data_dir,$username,"mailfetch_pass_$mf_sn",(isset($mf_pass)?
encrypt( $mf_pass ) :""));
85 if( isset($mf_cypher) && $mf_cypher <> 'on' ) SetPref($data_dir,$username,'mailfetch_cypher', 'on');
86 setPref($data_dir,$username,"mailfetch_lmos_$mf_sn",(isset($mf_lmos)?
$mf_lmos:""));
87 setPref($data_dir,$username,"mailfetch_login_$mf_sn",(isset($mf_login)?
$mf_login:""));
88 setPref($data_dir,$username,"mailfetch_fref_$mf_sn",(isset($mf_fref)?
$mf_fref:""));
89 setPref($data_dir,$username,"mailfetch_subfolder_$mf_sn",(isset($mf_subfolder)?
$mf_subfolder:""));
91 setPref($data_dir,$username,'mailfetch_server_number', $mf_sn);
92 $mf_action = 'config';
94 case 'confirm_modify':
96 if (!isset($mf_server)) return;
97 setPref($data_dir,$username,"mailfetch_server_$mf_sn", (isset($mf_server)?
$mf_server:""));
98 setPref($data_dir,$username,"mailfetch_port_$mf_sn", (isset($mf_port)?
$mf_port:110));
99 setPref($data_dir,$username,"mailfetch_alias_$mf_sn", (isset($mf_alias)?
$mf_alias:""));
100 setPref($data_dir,$username,"mailfetch_user_$mf_sn",(isset($mf_user)?
$mf_user:""));
101 setPref($data_dir,$username,"mailfetch_pass_$mf_sn",(isset($mf_pass)?
encrypt( $mf_pass ) :""));
102 if( $mf_cypher <> 'on' ) setPref($data_dir,$username,"mailfetch_cypher", 'on');
103 setPref($data_dir,$username,"mailfetch_lmos_$mf_sn",(isset($mf_lmos)?
$mf_lmos:""));
104 setPref($data_dir,$username,"mailfetch_login_$mf_sn",(isset($mf_login)?
$mf_login:""));
105 setPref($data_dir,$username,"mailfetch_fref_$mf_sn",(isset($mf_fref)?
$mf_fref:""));
106 setPref($data_dir,$username,"mailfetch_subfolder_$mf_sn",(isset($mf_subfolder)?
$mf_subfolder:""));
107 $mf_action = 'config';
109 case 'confirm_delete':
111 $mailfetch_server_number = getPref($data_dir, $username, "mailfetch_server_number");
112 if ($mf_sn+
1==$mailfetch_server_number) {
113 //is the last server, whe can only decrase $mailfetch_server_number
114 $mailfetch_server_number--;
115 setPref($data_dir,$username,"mailfetch_server_number", $mailfetch_server_number);
117 //if not the last, all the sequel server come up one step
118 //then whe decrase $mailfetch_server_number
119 $mailfetch_server_number--;
120 for ($i=$mf_sn;$i<$mailfetch_server_number;$i++
) {
122 setPref($data_dir,$username,"mailfetch_server_$i", getPref($data_dir, $username, "mailfetch_server_$tmp"));
123 setPref($data_dir,$username,"mailfetch_port_$i", getPref($data_dir,$username, "mailfetch_port_$tmp"));
124 setPref($data_dir,$username,"mailfetch_alias_$i", getPref($data_dir, $username, "mailfetch_alias_$tmp"));
125 setPref($data_dir,$username,"mailfetch_user_$i", getPref($data_dir, $username, "mailfetch_user_$tmp"));
126 setPref($data_dir,$username,"mailfetch_pass_$i",(isset($mf_pass)?
encrypt( $mf_pass ) :""));
127 // if( $mf_cypher <> 'on' ) setPref($data_dir,$username,"mailfetch_cypher", 'on');
128 setPref($data_dir,$username,"mailfetch_lmos_$i", getPref($data_dir, $username, "mailfetch_lmos_$tmp"));
129 setPref($data_dir,$username,"mailfetch_login_$i", getPref($data_dir, $username, "mailfetch_login_$tmp"));
130 setPref($data_dir,$username,"mailfetch_fref_$i", getPref($data_dir, $username, "mailfetch_fref_$tmp"));
131 setPref($data_dir,$username,"mailfetch_subfolder_$i", getPref($data_dir, $username, "mailfetch_subfolder_$tmp"));
133 setPref($data_dir,$username,"mailfetch_server_number", $mailfetch_server_number);
135 $mf_action = 'config';
139 $mailfetch_server_number = getPref($data_dir, $username, 'mailfetch_server_number', 0);
140 $mailfetch_cypher = getPref( $data_dir, $username, 'mailfetch_cypher' );
141 if ($mailfetch_server_number<1) {
142 $mailfetch_server_number=0;
144 for ($i=0;$i<$mailfetch_server_number;$i++
) {
145 $mailfetch_server_[$i] = getPref($data_dir, $username, "mailfetch_server_$i");
146 $mailfetch_port_[$i] = getPref($data_dir, $username, "mailfetch_port_$i");
147 $mailfetch_alias_[$i] = getPref($data_dir, $username, "mailfetch_alias_$i");
148 $mailfetch_user_[$i] = getPref($data_dir, $username, "mailfetch_user_$i");
149 $mailfetch_pass_[$i] = getPref($data_dir, $username, "mailfetch_pass_$i");
150 $mailfetch_lmos_[$i] = getPref($data_dir, $username, "mailfetch_lmos_$i");
151 $mailfetch_login_[$i] = getPref($data_dir, $username, "mailfetch_login_$i");
152 $mailfetch_fref_[$i] = getPref($data_dir, $username, "mailfetch_fref_$i");
153 $mailfetch_uidl_[$i] = getPref($data_dir, $username, "mailfetch_uidl_$i");
154 $mailfetch_subfolder_[$i] = getPref($data_dir, $username, "mailfetch_subfolder_$i");
155 if( $mailfetch_cypher == 'on' ) $mailfetch_pass_[$i] = decrypt( $mailfetch_pass_[$i] );
159 echo '<BR><form method=post action="'.$PHP_SELF.'">' .
163 '<b>' . _("Remote POP server settings") . '</b>',
164 'center', $color[0] )
166 'center', '', 'width="95%" cols="1"' ) .
170 _("You should be aware that the encryption used to store your password is not perfectly secure. However, if you are using pop, there is inherently no encryption anyway. Additionally, the encryption that we do to save it on the server can be undone by a hacker reading the source to this file." ) ,
175 _("If you leave password empty, it will be required when you fetch mail.") ,
180 '<input type=checkbox name=mf_cypher ' .
181 (($mailfetch_cypher=='on')?
'checked >':'>') .
182 _("Encrypt passwords (informative only)") ,
185 'center', '', 'width="95%" cols="1"' );
187 switch( $mf_action ) {
189 echo html_tag( 'table', '', 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' ) .
191 html_tag( 'td', '<b>' . _("Add Server") . '</b>', 'center', $color[9] )
194 html_tag( 'td', '', 'center', $color[0] ) .
196 "<INPUT TYPE=\"hidden\" NAME=\"mf_sn\" VALUE=\"$mailfetch_server_number\">" .
197 '<INPUT TYPE="hidden" NAME="mf_action" VALUE="add">' .
198 html_tag( 'table' ) .
200 html_tag( 'th', _("Server:"), 'right' ) .
201 html_tag( 'td', '<input type=text name=mf_server value="" size=40>', 'left' )
204 html_tag( 'th', _("Port:"), 'right') .
205 html_tag( 'td', '<input type=text name=mf_port value="110" size=20', 'left')
208 html_tag( 'th', _("Alias:"), 'right' ) .
209 html_tag( 'td', '<input type=text name=mf_alias value="" size=20>', 'left' )
212 html_tag( 'th', _("Username:"), 'right' ) .
213 html_tag( 'td', '<input type=text name=mf_user value="" size=20>', 'left' )
216 html_tag( 'th', _("Password:"), 'right' ) .
217 html_tag( 'td', '<input type=password name=mf_pass value="" size=20>', 'left' )
220 html_tag( 'th', _("Store in Folder:"), 'right' ) .
221 html_tag( 'td', '', 'left' );
222 $imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0);
223 $boxes = sqimap_mailbox_list($imapConnection);
224 echo '<select name="mf_subfolder">';
227 if ( isset($mf_subfolder) )
228 $selected = array(strtolower($mf_subfolder));
229 echo sqimap_mailbox_option_list($imapConnection, $selected);
230 echo '</select></td></tr>' .
232 html_tag( 'th', ' ', 'right' ) .
233 html_tag( 'td', '<input type="checkbox" name="mf_lmos" checked>' . _("Leave Mail on Server"), 'left' )
236 html_tag( 'th', ' ', 'right' ) .
237 html_tag( 'td', '<input type="checkbox" name="mf_login">' . _("Check mail during login"), 'left' )
240 html_tag( 'th', ' ', 'right' ) .
241 html_tag( 'td', '<input type="checkbox" name="mf_fref">' . _("Check mail during folder refresh"), 'left' )
245 '<input type=submit name="submit_mailfetch" value="' . _("Add Server") . '">',
246 'center', '', 'colspan="2"' )
248 '</table></form></td></tr></table>';
251 echo '<font size=-5><BR></font>' .
252 html_tag( 'table', '', 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' ) .
254 html_tag( 'td', '<b>' . _("Modify Server") . '</b>', 'center', $color[9] )
257 html_tag( 'td', '', 'center', $color[0] );
258 if ($mailfetch_server_number>0) {
259 echo "<form action=\"$PHP_SELF\" method=\"post\" target=\"_self\">";
260 echo '<b>' . _("Server Name:") . '</b> <select name="mf_sn">';
261 for ($i=0;$i<$mailfetch_server_number;$i++
) {
262 echo "<option value=\"$i\">" .
263 (($mailfetch_alias_[$i]=='')?
$mailfetch_server_[$i]:$mailfetch_alias_[$i]) . "</option>>";
266 ' <INPUT TYPE=submit name=mf_action value="' . _("Modify") . '">'.
267 ' <INPUT TYPE=submit name=mf_action value="' . _("Delete") . '">'.
270 echo _("No-one server in use. Try to add.");
272 echo '</td></tr></table>';
274 case _("Delete"): //erase confirmation about a server
275 echo html_tag( 'table',
277 html_tag( 'td', '<b>' . _("Fetching Servers") . '</b>', 'center', $color[0] )
279 'center', '', 'width="95%" cols="1" cellpadding="5" cellspacing="1"' ) .
283 html_tag( 'td', '<b>' . _("Confirm Deletion of a Server") . '</b>', 'center', $color[9] )
287 "<INPUT TYPE=\"hidden\" NAME=\"mf_sn\" VALUE=\"$mf_sn\">" .
288 '<INPUT TYPE="hidden" NAME="mf_action" VALUE="confirm_delete">' .
289 '<br>' . _("Selected Server:") . " <b>$mailfetch_server_[$mf_sn]</b><br>" .
290 _("Confirm delete of selected server?") . '<br><br>' .
291 '<input type=submit name=submit_mailfetch value="' . _("Confirm Delete") . '">' .
293 'center', $color[9] )
295 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' );
296 break; //modify a server
298 echo html_tag( 'table',
300 html_tag( 'td', '<b>' . _("Fetching Servers") . '</b>', 'center', $color[0] )
302 'center', '', 'width="95%" cols="1" cellpadding="5" cellspacing="1"' ) .
304 html_tag( 'table', '', 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' ) .
306 html_tag( 'td', '<b>' . _("Mofify a Server") . '</b>', 'center', $color[9] )
309 html_tag( 'td', '', 'center', $color[0] ) .
311 "<INPUT TYPE=\"hidden\" NAME=\"mf_sn\" VALUE=\"$mf_sn\">" .
312 '<INPUT TYPE="hidden" NAME="mf_action" VALUE="confirm_modify">' .
313 html_tag( 'table' ) .
315 html_tag( 'th', _("Server:"), 'right' ) .
316 html_tag( 'td', '<input type="text" name="mf_server" value="' . $mailfetch_server_[$mf_sn] . '" size="40">', 'left' )
319 html_tag( 'th', _("Port:"), 'right' ) .
320 html_tag( 'td', '<input type="text" name="mf_port" value="' . $mailfetch_port_[$mf_sn] . '" size="40">', 'left' )
323 html_tag( 'th', _("Alias:"), 'right' ) .
324 html_tag( 'td', '<input type="text" name="mf_alias" value="' . $mailfetch_alias_[$mf_sn] . '" size="40">', 'left' )
327 html_tag( 'th', _("Username:"), 'right' ) .
328 html_tag( 'td', '<input type="text" name="mf_user" value="' . $mailfetch_user_[$mf_sn] . '" size="20">', 'left' )
331 html_tag( 'th', _("Password:"), 'right' ) .
332 html_tag( 'td', '<input type="password" name="mf_pass" value="' . $mailfetch_pass_[$mf_sn] . '" size="20">', 'left' )
335 html_tag( 'th', _("Store in Folder:"), 'right' ) .
336 html_tag( 'td', '', 'left' );
338 $imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0);
339 $boxes = sqimap_mailbox_list($imapConnection);
340 echo '<select name="mf_subfolder">';
342 if ( isset($mf_subfolder) )
343 $selected = array(strtolower($mf_subfolder));
344 echo sqimap_mailbox_option_list($imapConnection, $selected);
345 echo '</select></td></tr>' .
348 html_tag( 'th', ' ', 'right' ) .
350 '<input type=checkbox name=mf_lmos ' . (($mailfetch_lmos_[$mf_sn] == 'on')?
'checked':'') .
351 '>' . _("Leave Mail on Server") ,
355 html_tag( 'th', ' ', 'right' ) .
357 '<input type=checkbox name=mf_login ' . ( ($mailfetch_login_[$mf_sn] == 'on')?
'checked':'') .
358 '>' . _("Check mail during login"),
362 html_tag( 'th', ' ', 'right' ) .
364 '<input type=checkbox name=mf_fref ' . ( ($mailfetch_fref_[$mf_sn] == 'on')?
'checked':'') .
365 '>' . _("Check mail during folder refresh") ,
370 '<input type=submit name="submit_mailfetch" value="' . _("Modify Server") . '">',
371 'center', '', 'colspan="2"' )
374 '</table></form></td></tr></table>';
376 default: //unsupported action
380 html_tag( 'td', '<b>' . _("Fetching Servers") . '</b>', 'center', $color[0] )
382 'center', '', 'width="95%" cols="1"' ) .
386 html_tag( 'td', '<b>' . _("Undefined Function") . '</b>', 'center', $color[9] ) .
387 html_tag( 'td', '<b>' . _("Hey! Wath do You are looking for?") . '</b>', 'center', $color[0] )
389 'center', '', 'width="70%" cols="1"' );