*
* Setup of the mailfetch plugin.
*
- * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @copyright 1999-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package plugins
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);
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);
+global $imap_stream_options; // in case not defined in config
/* end globals */
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_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));
) ,
'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', '<b>' . $message . '</b>', 'center', $color[2] ));
+}
+
switch( $mf_action ) {
case 'config':
echo html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
html_tag( 'tr' ) .
html_tag( 'th', _("Store in Folder:"), 'right' ) .
html_tag( 'td', '', 'left' );
- $imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0);
+ $imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0, $imap_stream_options);
$boxes = sqimap_mailbox_list($imapConnection);
echo '<select name="mf_subfolder">';
echo '<b>' . _("Server Name:") . '</b> <select name="mf_sn">';
for ($i=0;$i<$mailfetch_server_number;$i++) {
echo "<option value=\"$i\">" .
- htmlspecialchars( (($mailfetch_alias_[$i]=='')?$mailfetch_server_[$i]:$mailfetch_alias_[$i])) . "</option>";
+ sm_encode_html_special_chars( (($mailfetch_alias_[$i]=='')?$mailfetch_server_[$i]:$mailfetch_alias_[$i])) . "</option>";
}
echo '</select>'.
' <input type="submit" name="mf_action_mod" value="' . _("Modify") . '" />'.
html_tag( 'td',
"<input type=\"hidden\" name=\"mf_sn\" value=\"$mf_sn\" />" .
'<input type="hidden" name="mf_action" value="confirm_delete" />' .
- '<br />' . _("Selected Server:") . " <b>" . htmlspecialchars($mailfetch_server_[$mf_sn]) . "</b><br />" .
+ '<br />' . _("Selected Server:") . " <b>" . sm_encode_html_special_chars($mailfetch_server_[$mf_sn]) . "</b><br />" .
_("Confirm delete of selected server?") . '<br /><br />' .
'<input type="submit" name="submit_mailfetch" value="' . _("Confirm Delete") . '" />' .
'<br /></form>' ,
html_tag( 'tr',
html_tag( 'th', _("Server:"), 'right' ) .
html_tag( 'td', '<input type="text" name="mf_server" value="' .
- htmlspecialchars($mailfetch_server_[$mf_sn]) . '" size="40" />', 'left' )
+ sm_encode_html_special_chars($mailfetch_server_[$mf_sn]) . '" size="40" />', 'left' )
) .
html_tag( 'tr',
html_tag( 'th', _("Port:"), 'right' ) .
html_tag( 'td', '<input type="text" name="mf_port" value="' .
- htmlspecialchars($mailfetch_port_[$mf_sn]) . '" size="40" />', 'left' )
+ sm_encode_html_special_chars($mailfetch_port_[$mf_sn]) . '" size="40" />', 'left' )
) .
html_tag( 'tr',
html_tag( 'th', _("Alias:"), 'right' ) .
html_tag( 'td', '<input type="text" name="mf_alias" value="' .
- htmlspecialchars($mailfetch_alias_[$mf_sn]) . '" size="40" />', 'left' )
+ sm_encode_html_special_chars($mailfetch_alias_[$mf_sn]) . '" size="40" />', 'left' )
) .
html_tag( 'tr',
html_tag( 'th', _("Username:"), 'right' ) .
html_tag( 'td', '<input type="text" name="mf_user" value="' .
- htmlspecialchars($mailfetch_user_[$mf_sn]) . '" size="20" />', 'left' )
+ sm_encode_html_special_chars($mailfetch_user_[$mf_sn]) . '" size="20" />', 'left' )
) .
html_tag( 'tr',
html_tag( 'th', _("Password:"), 'right' ) .
html_tag( 'td', '<input type="password" name="mf_pass" value="' .
- htmlspecialchars($mailfetch_pass_[$mf_sn]) . '" size="20" />', 'left' )
+ sm_encode_html_special_chars($mailfetch_pass_[$mf_sn]) . '" size="20" />', 'left' )
) .
html_tag( 'tr',
html_tag( 'th', _("Authentication type:"), 'right' ) .
html_tag( 'th', _("Store in Folder:"), 'right' ) .
html_tag( 'td', '', 'left' );
- $imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0);
+ $imapConnection = sqimap_login ($username, false, $imapServerAddress, $imapPort, 0, $imap_stream_options);
$boxes = sqimap_mailbox_list($imapConnection);
echo '<select name="mf_subfolder">';
$selected = 0;