X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Fmail_fetch%2Foptions.php;h=aaec073d465e638aea54257e907223054c7bcbae;hb=c0d968010e710870fdfee2f22d7cc9fad370c7a9;hp=6cea52716e5acc974e28b5e49f65255e85532714;hpb=202bcbcc2b67c7c153db1b09b608b62beeba0496;p=squirrelmail.git
diff --git a/plugins/mail_fetch/options.php b/plugins/mail_fetch/options.php
index 6cea5271..aaec073d 100644
--- a/plugins/mail_fetch/options.php
+++ b/plugins/mail_fetch/options.php
@@ -5,7 +5,7 @@
*
* Setup of the mailfetch plugin.
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright 1999-2012 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package plugins
@@ -16,13 +16,16 @@
* Include the SquirrelMail initialization file.
*/
require('../../include/init.php');
-
+include_once(SM_PATH . 'plugins/mail_fetch/functions.php' );
include_once(SM_PATH . 'functions/imap_general.php');
+include_once(SM_PATH . 'functions/forms.php');
+
+// don't load this page if this plugin is not enabled
+//
+global $plugins;
+if (!in_array('mail_fetch', $plugins)) exit;
/* globals */
-sqgetGlobalVar('username', $username, SQ_SESSION);
-sqgetGlobalVar('key', $key, SQ_COOKIE);
-sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION);
if(!sqgetGlobalVar('mf_cypher', $mf_cypher, SQ_POST)) {
@@ -50,44 +53,100 @@ sqgetGlobalVar('mf_subfolder', $mf_subfolder, SQ_POST);
sqgetGlobalVar('mf_login', $mf_login, SQ_POST);
sqgetGlobalVar('mf_fref', $mf_fref, SQ_POST);
sqgetGlobalVar('mf_lmos', $mf_lmos, SQ_POST);
+sqgetGlobalVar('mf_auth', $mf_auth, SQ_POST);
+sqgetGlobalVar('mf_type', $mf_type, SQ_POST);
sqgetGlobalVar('submit_mailfetch', $submit_mailfetch, SQ_POST);
+$mf_port = trim($mf_port);
+$mf_server = trim($mf_server);
/* end globals */
-displayPageHeader( $color, 'None' );
+displayPageHeader( $color );
switch( $mf_action ) {
case 'add':
+
+ $mf_action = 'config';
+
+ // restrict port number if necessary
+ //
+ $message = validate_mail_fetch_port_number($mf_port);
+ if (!empty($message)) break;
+
+ // restrict server address if necessary
+ //
+ $message = validate_mail_fetch_server_address($mf_server);
+ if (!empty($message)) break;
+
if ($mf_sn<1) $mf_sn=0;
if (!isset($mf_server)) return;
setPref($data_dir,$username,"mailfetch_server_$mf_sn", (isset($mf_server)?$mf_server:""));
setPref($data_dir,$username,"mailfetch_port_$mf_sn", (isset($mf_port)?$mf_port:110));
setPref($data_dir,$username,"mailfetch_alias_$mf_sn", (isset($mf_alias)?$mf_alias:""));
setPref($data_dir,$username,"mailfetch_user_$mf_sn",(isset($mf_user)?$mf_user:""));
- setPref($data_dir,$username,"mailfetch_pass_$mf_sn",(isset($mf_pass)?encrypt( $mf_pass ) :""));
- if( isset($mf_cypher) && $mf_cypher <> 'on' ) SetPref($data_dir,$username,'mailfetch_cypher', 'on');
+ $pass = "";
+ if ( isset($mf_pass) ) {
+ if ( isset($mf_cypher) && $mf_cypher == 'on' ) {
+ setPref($data_dir,$username,"mailfetch_cypher", ($mf_cypher == 'on' ? 'on' : ''));
+ $pass = encrypt($mf_pass);
+ } else {
+ $pass = $mf_pass;
+ }
+ }
+ setPref($data_dir,$username,"mailfetch_pass_$mf_sn",$pass);
setPref($data_dir,$username,"mailfetch_lmos_$mf_sn",(isset($mf_lmos)?$mf_lmos:""));
setPref($data_dir,$username,"mailfetch_login_$mf_sn",(isset($mf_login)?$mf_login:""));
setPref($data_dir,$username,"mailfetch_fref_$mf_sn",(isset($mf_fref)?$mf_fref:""));
setPref($data_dir,$username,"mailfetch_subfolder_$mf_sn",(isset($mf_subfolder)?$mf_subfolder:""));
+ setPref($data_dir,$username,"mailfetch_auth_$mf_sn",(isset($mf_auth)?$mf_auth:MAIL_FETCH_AUTH_USER));
+ setPref($data_dir,$username,"mailfetch_type_$mf_sn",(isset($mf_type)?$mf_type:MAIL_FETCH_USE_PLAIN));
$mf_sn++;
setPref($data_dir,$username,'mailfetch_server_number', $mf_sn);
- $mf_action = 'config';
break;
+
+ // modify a server
+ //
case 'confirm_modify':
- //modify a server
+
+ // restrict port number if necessary
+ //
+ $message = validate_mail_fetch_port_number($mf_port);
+ if (!empty($message)) {
+ $mf_action = 'Modify';
+ break;
+ }
+
+ // restrict server address if necessary
+ //
+ $message = validate_mail_fetch_server_address($mf_server);
+ if (!empty($message)) {
+ $mf_action = 'Modify';
+ break;
+ }
+
if (!isset($mf_server)) return;
setPref($data_dir,$username,"mailfetch_server_$mf_sn", (isset($mf_server)?$mf_server:""));
setPref($data_dir,$username,"mailfetch_port_$mf_sn", (isset($mf_port)?$mf_port:110));
setPref($data_dir,$username,"mailfetch_alias_$mf_sn", (isset($mf_alias)?$mf_alias:""));
setPref($data_dir,$username,"mailfetch_user_$mf_sn",(isset($mf_user)?$mf_user:""));
- setPref($data_dir,$username,"mailfetch_pass_$mf_sn",(isset($mf_pass)?encrypt( $mf_pass ) :""));
- if( $mf_cypher <> 'on' ) setPref($data_dir,$username,"mailfetch_cypher", 'on');
+ $pass = "";
+ if ( isset($mf_pass) ) {
+ if ( isset($mf_cypher) && $mf_cypher == 'on' ) {
+ setPref($data_dir,$username,"mailfetch_cypher", 'on');
+ $pass = encrypt($mf_pass);
+ } else {
+ setPref($data_dir,$username,"mailfetch_cypher", '');
+ $pass = $mf_pass;
+ }
+ }
+ setPref($data_dir,$username,"mailfetch_pass_$mf_sn",$pass);
setPref($data_dir,$username,"mailfetch_lmos_$mf_sn",(isset($mf_lmos)?$mf_lmos:""));
setPref($data_dir,$username,"mailfetch_login_$mf_sn",(isset($mf_login)?$mf_login:""));
setPref($data_dir,$username,"mailfetch_fref_$mf_sn",(isset($mf_fref)?$mf_fref:""));
setPref($data_dir,$username,"mailfetch_subfolder_$mf_sn",(isset($mf_subfolder)?$mf_subfolder:""));
+ setPref($data_dir,$username,"mailfetch_auth_$mf_sn",(isset($mf_auth)?$mf_auth:MAIL_FETCH_AUTH_USER));
+ setPref($data_dir,$username,"mailfetch_type_$mf_sn",(isset($mf_type)?$mf_type:MAIL_FETCH_USE_PLAIN));
$mf_action = 'config';
break;
case 'confirm_delete':
@@ -121,6 +180,10 @@ switch( $mf_action ) {
getPref($data_dir,$username, 'mailfetch_fref_'.$tmp));
setPref($data_dir,$username,'mailfetch_subfolder_'.$i,
getPref($data_dir,$username, 'mailfetch_subfolder_'.$tmp));
+ setPref($data_dir,$username,'mailfetch_auth_'.$i,
+ getPref($data_dir,$username, 'mailfetch_auth_'.$tmp,MAIL_FETCH_AUTH_USER));
+ setPref($data_dir,$username,'mailfetch_type_'.$i,
+ getPref($data_dir,$username, 'mailfetch_type_'.$tmp,MAIL_FETCH_USE_PLAIN));
setPref($data_dir,$username,'mailfetch_uidl_'.$i,
getPref($data_dir,$username, 'mailfetch_uidl_'.$tmp));
}
@@ -146,6 +209,8 @@ for ($i=0;$i<$mailfetch_server_number;$i++) {
$mailfetch_fref_[$i] = getPref($data_dir, $username, "mailfetch_fref_$i");
$mailfetch_uidl_[$i] = getPref($data_dir, $username, "mailfetch_uidl_$i");
$mailfetch_subfolder_[$i] = getPref($data_dir, $username, "mailfetch_subfolder_$i");
+ $mailfetch_auth_[$i] = getPref($data_dir, $username, "mailfetch_auth_$i",MAIL_FETCH_AUTH_USER);
+ $mailfetch_type_[$i] = getPref($data_dir, $username, "mailfetch_type_$i",MAIL_FETCH_USE_PLAIN);
if( $mailfetch_cypher == 'on' ) $mailfetch_pass_[$i] = decrypt( $mailfetch_pass_[$i] );
}
@@ -177,6 +242,14 @@ echo '