X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Fmail_fetch%2Foptions.php;h=aaec073d465e638aea54257e907223054c7bcbae;hb=c0d968010e710870fdfee2f22d7cc9fad370c7a9;hp=4f9abd17e8db460b7b5ad3fa641176d6bbbe366e;hpb=929da10db42a7764d611a14ac36b07a1a6089710;p=squirrelmail.git diff --git a/plugins/mail_fetch/options.php b/plugins/mail_fetch/options.php index 4f9abd17..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 @@ -20,6 +20,11 @@ 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('delimiter', $delimiter, SQ_SESSION); @@ -51,22 +56,45 @@ 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:"")); @@ -75,17 +103,44 @@ switch( $mf_action ) { 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:"")); @@ -187,6 +242,14 @@ echo '
' . ) , 'center', '', 'width="95%"' ); +// display error or other messages if necessary +// +if (!empty($message)) { + echo html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) . + html_tag( 'tr', + html_tag( 'td', '' . $message . '', 'center', $color[2] )); +} + switch( $mf_action ) { case 'config': echo html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) . @@ -426,4 +489,4 @@ switch( $mf_action ) { 'center', '', 'width="70%"' ); } -$oTemplate->display('footer.tpl'); \ No newline at end of file +$oTemplate->display('footer.tpl');