X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=plugins%2Fmail_fetch%2Foptions.php;h=35eb094e0e6e6ad7b8cc5e185a2fd138145f80fa;hp=82835ac112297b81d71f726fece18445cbe392c3;hb=f54ec17df2bfba971e7e3cba9bdc46a501cf7d97;hpb=6fd953618853477f6ffe569ce3c9733ca9f9c2d0
diff --git a/plugins/mail_fetch/options.php b/plugins/mail_fetch/options.php
index 82835ac1..35eb094e 100644
--- a/plugins/mail_fetch/options.php
+++ b/plugins/mail_fetch/options.php
@@ -3,29 +3,26 @@
/**
* mail_fetch/options.php
*
- * Copyright (c) 1999-2004 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
* Setup of the mailfetch plugin.
*
- * $Id$
+ * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
* @package plugins
* @subpackage mail_fetch
*/
-/** @ignore */
-define('SM_PATH','../../');
-
-require_once(SM_PATH . 'include/validate.php');
-require_once(SM_PATH . 'functions/imap.php');
-require_once(SM_PATH . 'include/load_prefs.php');
+/**
+ * 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');
/* 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)) {
$mf_cypher = '';
}
@@ -51,344 +48,399 @@ 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);
/* end globals */
- displayPageHeader( $color, 'None' );
+displayPageHeader( $color );
- switch( $mf_action ) {
- case 'add':
- 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');
- 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:""));
- $mf_sn++;
- setPref($data_dir,$username,'mailfetch_server_number', $mf_sn);
- $mf_action = 'config';
- break;
- case 'confirm_modify':
- //modify a server
- 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');
- 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:""));
- $mf_action = 'config';
- break;
- case 'confirm_delete':
- //delete a server
- $mailfetch_server_number = getPref($data_dir, $username, "mailfetch_server_number");
- if ($mf_sn+1==$mailfetch_server_number) {
- //is the last server, whe can only decrase $mailfetch_server_number
- $mailfetch_server_number--;
- setPref($data_dir,$username,"mailfetch_server_number", $mailfetch_server_number);
+switch( $mf_action ) {
+ case 'add':
+ 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:""));
+ $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 {
- //if not the last, all the sequel server come up one step
- //then whe decrase $mailfetch_server_number
- $mailfetch_server_number--;
- for ($i=$mf_sn;$i<$mailfetch_server_number;$i++) {
- $tmp=$i+1;
- setPref($data_dir,$username,'mailfetch_server_'.$i,
- getPref($data_dir,$username, 'mailfetch_server_'.$tmp));
- setPref($data_dir,$username,'mailfetch_port_'.$i,
- getPref($data_dir,$username, 'mailfetch_port_'.$tmp));
- setPref($data_dir,$username,'mailfetch_alias_'.$i,
- getPref($data_dir,$username, 'mailfetch_alias_'.$tmp));
- setPref($data_dir,$username,'mailfetch_user_'.$i,
- getPref($data_dir,$username, 'mailfetch_user_'.$tmp));
- setPref($data_dir,$username,'mailfetch_pass_'.$i,
- getPref($data_dir,$username, 'mailfetch_pass_'.$tmp));
- setPref($data_dir,$username,'mailfetch_lmos_'.$i,
- getPref($data_dir,$username, 'mailfetch_lmos_'.$tmp));
- setPref($data_dir,$username,'mailfetch_login_'.$i,
- getPref($data_dir,$username, 'mailfetch_login_'.$tmp));
- setPref($data_dir,$username,'mailfetch_fref_'.$i,
- 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_uidl_'.$i,
- getPref($data_dir,$username, 'mailfetch_uidl_'.$tmp));
- }
- setPref($data_dir,$username,"mailfetch_server_number", $mailfetch_server_number);
+ $pass = $mf_pass;
}
- $mf_action = 'config';
- break;
- }
-
- $mailfetch_server_number = getPref($data_dir, $username, 'mailfetch_server_number', 0);
- $mailfetch_cypher = getPref( $data_dir, $username, 'mailfetch_cypher' );
- if ($mailfetch_server_number<1) {
- $mailfetch_server_number=0;
- }
- for ($i=0;$i<$mailfetch_server_number;$i++) {
- $mailfetch_server_[$i] = getPref($data_dir, $username, "mailfetch_server_$i");
- $mailfetch_port_[$i] = getPref($data_dir, $username, "mailfetch_port_$i");
- $mailfetch_alias_[$i] = getPref($data_dir, $username, "mailfetch_alias_$i");
- $mailfetch_user_[$i] = getPref($data_dir, $username, "mailfetch_user_$i");
- $mailfetch_pass_[$i] = getPref($data_dir, $username, "mailfetch_pass_$i");
- $mailfetch_lmos_[$i] = getPref($data_dir, $username, "mailfetch_lmos_$i");
- $mailfetch_login_[$i] = getPref($data_dir, $username, "mailfetch_login_$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");
- if( $mailfetch_cypher == 'on' ) $mailfetch_pass_[$i] = decrypt( $mailfetch_pass_[$i] );
- }
-
-
- echo '
';
+switch( $mf_action ) {
+ case 'config':
+ echo html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Add Server") . '', 'center', $color[9] )
+ ) .
+ html_tag( 'tr' ) .
+ html_tag( 'td', '', 'center', $color[0] ) .
- // Modify Server
- echo '
' .
- html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
- html_tag( 'tr',
- html_tag( 'td', '' . _("Modify Server") . '', 'center', $color[9] )
- ) .
- html_tag( 'tr' ) .
- html_tag( 'td', '', 'center', $color[0] );
- if ($mailfetch_server_number>0) {
- echo "';
- } else {
- echo _("No-one server in use. Try to add.");
- }
- echo '';
- break;
- case 'Delete': //erase confirmation about a server
- echo html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td', '' . _("Fetching Servers") . '', 'center', $color[0] )
- ) ,
- 'center', '', 'width="95%" cellpadding="5" cellspacing="1"' ) .
- '
' .
- html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td', '' . _("Confirm Deletion of a Server") . '', 'center', $color[9] )
- ) .
- html_tag( 'tr',
- html_tag( 'td',
- "" .
- '' .
- '
' . _("Selected Server:") . " " . htmlspecialchars($mailfetch_server_[$mf_sn]) . "
" .
- _("Confirm delete of selected server?") . '
' .
- '' .
- '
' ,
- 'center', $color[9] )
- ) ,
- 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' );
- break; //modify a server
- case 'Modify':
- echo html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td', '' . _("Fetching Servers") . '', 'center', $color[0] )
- ) ,
- 'center', '', 'width="95%" cellpadding="5" cellspacing="1"' ) .
- '
' .
- html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
- html_tag( 'tr',
- html_tag( 'td', '' . _("Modify Server") . '', 'center', $color[9] )
- ) .
- html_tag( 'tr' ) .
- html_tag( 'td', '', 'center', $color[0] ) .
+ "" .
+ '' .
+ html_tag( 'table' ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Server:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Port:"), 'right') .
+ html_tag( 'td', '', 'left')
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Alias:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Username:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Password:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Authentication type:"), 'right' ) .
+ html_tag( 'td', addSelect('mf_auth',
+ array(MAIL_FETCH_AUTH_USER => _("USER"),
+ MAIL_FETCH_AUTH_APOP => _("APOP"),
+ MAIL_FETCH_AUTH_RFC1939 => _("APOP or USER")),
+ MAIL_FETCH_AUTH_USER,true), 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Connection type:"), 'right' ) .
+ html_tag( 'td', addSelect('mf_type',
+ array(MAIL_FETCH_USE_PLAIN => _("Plain text"),
+ MAIL_FETCH_USE_TLS => _("Use TLS"),
+ MAIL_FETCH_USE_STLS => _("Use StartTLS")),
+ MAIL_FETCH_USE_PLAIN,true), 'left' )
+ ) .
+ html_tag( 'tr' ) .
+ html_tag( 'th', _("Store in Folder:"), 'right' ) .
+ html_tag( 'td', '', 'left' );
+ $imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0);
+ $boxes = sqimap_mailbox_list($imapConnection);
+ echo '' .
+ html_tag( 'tr',
+ html_tag( 'th', ' ', 'right' ) .
+ html_tag( 'td', '' . _("Leave Mail on Server"), 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', ' ', 'right' ) .
+ html_tag( 'td', '' . _("Check mail at login"), 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', ' ', 'right' ) .
+ html_tag( 'td', '' . _("Check mail at folder refresh"), 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'td',
+ '',
+ 'center', '', 'colspan="2"' )
+ ) .
+ '';
- $imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0);
- $boxes = sqimap_mailbox_list($imapConnection);
- echo '' .
+ // Modify Server
+ echo '
' .
+ html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Modify Server") . '', 'center', $color[9] )
+ ) .
+ html_tag( 'tr' ) .
+ html_tag( 'td', '', 'center', $color[0] );
+ if ($mailfetch_server_number>0) {
+ echo "';
+ } else {
+ echo _("No servers known.");
+ }
+ echo '';
+ break;
+ case 'Delete': //erase confirmation about a server
+ echo html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Fetching Servers") . '', 'center', $color[0] )
+ ) ,
+ 'center', '', 'width="95%" cellpadding="5" cellspacing="1"' ) .
+ '
' .
+ html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Confirm Deletion of a Server") . '', 'center', $color[9] )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'td',
+ "" .
+ '' .
+ '
' . _("Selected Server:") . " " . htmlspecialchars($mailfetch_server_[$mf_sn]) . "
" .
+ _("Confirm delete of selected server?") . '
' .
+ '' .
+ '
' ,
+ 'center', $color[9] )
+ ) ,
+ 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' );
+ break; //modify a server
+ case 'Modify':
+ echo html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Fetching Servers") . '', 'center', $color[0] )
+ ) ,
+ 'center', '', 'width="95%" cellpadding="5" cellspacing="1"' ) .
+ '
' .
+ html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Modify Server") . '', 'center', $color[9] )
+ ) .
+ html_tag( 'tr' ) .
+ html_tag( 'td', '', 'center', $color[0] ) .
- html_tag( 'tr',
- html_tag( 'th', ' ', 'right' ) .
- html_tag( 'td',
- '' . _("Leave Mail on Server") ,
- 'left' )
- ) .
- html_tag( 'tr',
- html_tag( 'th', ' ', 'right' ) .
- html_tag( 'td',
- '' . _("Check mail during login"),
- 'left' )
- ) .
- html_tag( 'tr',
- html_tag( 'th', ' ', 'right' ) .
- html_tag( 'td',
- '' . _("Check mail during folder refresh") ,
- 'left' )
- ) .
- html_tag( 'tr',
- html_tag( 'td',
- '',
- 'center', '', 'colspan="2"' )
- ) .
+ "" .
+ '' .
+ html_tag( 'table' ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Server:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Port:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Alias:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Username:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Password:"), 'right' ) .
+ html_tag( 'td', '', 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Authentication type:"), 'right' ) .
+ html_tag( 'td', addSelect('mf_auth',array(MAIL_FETCH_AUTH_USER => _("USER"),
+ MAIL_FETCH_AUTH_APOP => _("APOP"),
+ MAIL_FETCH_AUTH_RFC1939 => _("APOP or USER")),
+ $mailfetch_auth_[$mf_sn],true), 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', _("Connection type:"), 'right' ) .
+ html_tag( 'td', addSelect('mf_type',array(MAIL_FETCH_USE_PLAIN => _("Plain text"),
+ MAIL_FETCH_USE_TLS => _("Use TLS"),
+ MAIL_FETCH_USE_STLS => _("Use StartTLS")),
+ $mailfetch_type_[$mf_sn],true), 'left' )
+ ) .
+ html_tag( 'tr' ) .
+ html_tag( 'th', _("Store in Folder:"), 'right' ) .
+ html_tag( 'td', '', 'left' );
- '';
- break;
- default: //unsupported action
- echo '' .
- html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td', '' . _("Fetching Servers") . '', 'center', $color[0] )
- ) ,
- 'center', '', 'width="95%"' ) .
- '
' .
- html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td', '' . _("Undefined Function") . '', 'center', $color[9] ) .
- html_tag( 'td', '' . _("Hey! Wath do You are looking for?") . '', 'center', $color[0] )
- ) ,
- 'center', '', 'width="70%"' );
- }
+ $imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0);
+ $boxes = sqimap_mailbox_list($imapConnection);
+ echo '' .
+ html_tag( 'tr',
+ html_tag( 'th', ' ', 'right' ) .
+ html_tag( 'td',
+ '' . _("Leave Mail on Server") ,
+ 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', ' ', 'right' ) .
+ html_tag( 'td',
+ '' . _("Check mail at login"),
+ 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'th', ' ', 'right' ) .
+ html_tag( 'td',
+ '' . _("Check mail at folder refresh") ,
+ 'left' )
+ ) .
+ html_tag( 'tr',
+ html_tag( 'td',
+ '',
+ 'center', '', 'colspan="2"' )
+ ) .
+ '';
+ break;
+ default: //unsupported action
+ echo '' .
+ html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Fetching Servers") . '', 'center', $color[0] )
+ ) ,
+ 'center', '', 'width="95%"' ) .
+ '
' .
+ html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td', '' . _("Undefined Function") . '', 'center', $color[9] ) .
+ html_tag( 'td', '' . _("The function you requested is unknown.") . '', 'center', $color[0] )
+ ) ,
+ 'center', '', 'width="70%"' );
+}
- ?>
-