Improve HTML escaping
[squirrelmail.git] / plugins / mail_fetch / options.php
index 1ba30642deeeba3b5581f6c60fde4569330ddb9c..1b91d718466196ab5b59cbbd12ea5cc71a8da03c 100644 (file)
@@ -3,75 +3,60 @@
 /**
  * mail_fetch/options.php
  *
- * Copyright (c) 1999-2003 The SquirrelMail Project Team
+ * 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$
+ * @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');
 
-    /* globals */
-    $username = $_SESSION['username'];
-    $key = $_COOKIE['key'];
-    $onetimepad = $_SESSION['onetimepad'];
-    $delimiter = $_SESSION['delimiter'];
+/* globals */
+sqgetGlobalVar('username',   $username,   SQ_SESSION);
+sqgetGlobalVar('key',        $key,        SQ_COOKIE);
+sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
+sqgetGlobalVar('delimiter',  $delimiter,  SQ_SESSION);
     
-    if(isset($_POST['mf_cypher'])) {
-        $mf_cypher = $_POST['mf_cypher'];
+if(!sqgetGlobalVar('mf_cypher', $mf_cypher, SQ_POST)) {
+    $mf_cypher = '';
+}
+if(! sqgetGlobalVar('mf_action', $mf_action, SQ_POST) ) {
+    if (sqgetGlobalVar('mf_action_mod', $mf_action_mod, SQ_POST)) {
+        $mf_action = 'Modify';
     }
-    else {
-        $mf_cyper = '';
-    }
-    if(isset($_POST['mf_sn'])) {
-        $mf_sn = $_POST['mf_sn'];
-    }
-    if(isset($_POST['mf_server'])) {
-        $mf_server = $_POST['mf_server'];
-    }
-    if(isset($_POST['mf_port'])) {
-        $mf_port = $_POST['mf_port'];
-    }
-    if(isset($_POST['mf_alias'])) {
-        $mf_alias = $_POST['mf_alias'];
-    }
-    if(isset($_POST['mf_user'])) {
-        $mf_user = $_POST['mf_user'];
-    }
-    if(isset($_POST['mf_pass'])) {
-        $mf_pass = $_POST['mf_pass'];
+    elseif (sqgetGlobalVar('mf_action_del', $mf_action_del, SQ_POST)) {
+        $mf_action = 'Delete';
     }
-    if(isset($_POST['mf_subfolder'])) {
-        $mf_subfolder = $_POST['mf_subfolder'];
-    }
-    if(isset($_POST['mf_login'])) {
-        $mf_login = $_POST['mf_login'];
-    }
-    if(isset($_POST['mf_fref'])) {
-        $mf_fref = $_POST['mf_fref'];
-    }
-    if(isset($_POST['submit_mailfetch'])) {
-        $submit_mailfetch = $_POST['submit_mailfetch'];
-    }
-    if(isset($_POST['mf_lmos'])) {
-        $mf_lmos = $_POST['mf_lmos'];
+    else {
+        $mf_action = 'config';
     }
-    /* end globals */
+}
 
-    displayPageHeader( $color, 'None' );
+sqgetGlobalVar('mf_sn',            $mf_sn,            SQ_POST);
+sqgetGlobalVar('mf_server',        $mf_server,        SQ_POST);
+sqgetGlobalVar('mf_port',          $mf_port,          SQ_POST);
+sqgetGlobalVar('mf_alias',         $mf_alias,         SQ_POST);
+sqgetGlobalVar('mf_user',          $mf_user,          SQ_POST);
+sqgetGlobalVar('mf_pass',          $mf_pass,          SQ_POST);
+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('submit_mailfetch', $submit_mailfetch, SQ_POST);
 
-    //if dosen't select any option
-    if (!isset($_POST['mf_action'])) {
-        $mf_action = 'config';
-    } else {
-        $mf_action = $_POST['mf_action'];
-    }
+
+/* end globals */
+
+    displayPageHeader( $color, 'None' );
 
     switch( $mf_action ) {
     case 'add':
@@ -119,16 +104,26 @@ require_once(SM_PATH . 'include/load_prefs.php');
             $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",(isset($mf_pass)?encrypt( $mf_pass ) :""));
-                // if( $mf_cypher <> 'on' ) setPref($data_dir,$username,"mailfetch_cypher", 'on');
-                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_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);
         }
@@ -156,14 +151,14 @@ require_once(SM_PATH . 'include/load_prefs.php');
     }
 
 
-    echo '<BR><form method=post action="'.$PHP_SELF.'">' .
+    echo '<br><form method="post" action="'.$PHP_SELF.'">' .
             html_tag( 'table',
                 html_tag( 'tr',
                     html_tag( 'td',
                         '<b>' . _("Remote POP server settings") . '</b>',
                     'center', $color[0] )
                 ),
-            'center', '', 'width="95%" cols="1"' ) .
+            'center', '', 'width="95%"' ) .
             html_tag( 'table',
                 html_tag( 'tr',
                     html_tag( 'td',
@@ -178,15 +173,15 @@ require_once(SM_PATH . 'include/load_prefs.php');
                 html_tag( 'tr',
                     html_tag( 'td',
                         '<input type=checkbox name=mf_cypher ' .
-                        (($mailfetch_cypher=='on')?'checked >':'>') .
+                        (($mailfetch_cypher=='on')?'checked>':'>') .
                         _("Encrypt passwords (informative only)") ,
                     'right' )
                 ) ,
-            'center', '', 'width="95%" cols="1"' );
+            'center', '', 'width="95%"' );
 
     switch( $mf_action ) {
     case 'config':
-        echo html_tag( 'table', '', 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' ) .
+        echo html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
                     html_tag( 'tr',
                         html_tag( 'td', '<b>' . _("Add Server") . '</b>', 'center', $color[9] )
                     ) .
@@ -202,7 +197,7 @@ require_once(SM_PATH . 'include/load_prefs.php');
                 ) .
                 html_tag( 'tr',
                     html_tag( 'th', _("Port:"), 'right') .
-                    html_tag( 'td', '<input type=text name=mf_port value="110" size=20', 'left')
+                    html_tag( 'td', '<input type=text name=mf_port value="110" size=20>', 'left')
                 ) .
                 html_tag( 'tr',
                     html_tag( 'th', _("Alias:"), 'right' ) .
@@ -245,11 +240,11 @@ require_once(SM_PATH . 'include/load_prefs.php');
                         '<input type=submit name="submit_mailfetch" value="' . _("Add Server") . '">',
                     'center', '', 'colspan="2"' )
                 ) .
-            '</table></form></td></tr></table>';
+            '</table></td></tr></table></form>';
 
         // Modify Server
         echo '<font size=-5><BR></font>' .
-            html_tag( 'table', '', 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' ) .
+            html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
                 html_tag( 'tr',
                     html_tag( 'td', '<b>' . _("Modify Server") . '</b>', 'center', $color[9] )
                 ) .
@@ -260,23 +255,23 @@ require_once(SM_PATH . 'include/load_prefs.php');
             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>>";
+                    htmlspecialchars( (($mailfetch_alias_[$i]=='')?$mailfetch_server_[$i]:$mailfetch_alias_[$i])) . "</option>";
             }
             echo '</select>'.
-                 '&nbsp;&nbsp;<INPUT TYPE=submit name=mf_action value="' . _("Modify") . '">'.
-                 '&nbsp;&nbsp;<INPUT TYPE=submit name=mf_action value="' . _("Delete") . '">'.
+                 '&nbsp;&nbsp;<INPUT TYPE=submit name=mf_action_mod value="' . _("Modify") . '">'.
+                 '&nbsp;&nbsp;<INPUT TYPE=submit name=mf_action_del value="' . _("Delete") . '">'.
                  '</form>';
         } else {
             echo _("No-one server in use. Try to add.");
         }
         echo '</td></tr></table>';
         break;
-    case _("Delete"):                                     //erase confirmation about a server
+    case 'Delete':                                     //erase confirmation about a server
         echo html_tag( 'table',
                     html_tag( 'tr',
                         html_tag( 'td', '<b>' . _("Fetching Servers") . '</b>', 'center', $color[0] )
                     ) ,
-                'center', '', 'width="95%" cols="1" cellpadding="5" cellspacing="1"' ) .
+                'center', '', 'width="95%" cellpadding="5" cellspacing="1"' ) .
             '<br>' .
             html_tag( 'table',
                 html_tag( 'tr',
@@ -286,24 +281,24 @@ require_once(SM_PATH . 'include/load_prefs.php');
                     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>" . htmlentities($mailfetch_server_[$mf_sn]) . "</b><br>" .
+                        '<br>' . _("Selected Server:") . " <b>" . htmlspecialchars($mailfetch_server_[$mf_sn]) . "</b><br>" .
                         _("Confirm delete of selected server?") . '<br><br>' .
                         '<input type=submit name=submit_mailfetch value="' . _("Confirm Delete") . '">' .
                         '<br></form>' ,
                     'center', $color[9] )
                 ) ,
-            'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' );
+            'center', '', 'width="70%" cellpadding="5" cellspacing="1"' );
         break;                                  //modify a server
-    case _("Modify"):
+    case 'Modify':
         echo html_tag( 'table',
                     html_tag( 'tr',
                         html_tag( 'td', '<b>' . _("Fetching Servers") . '</b>', 'center', $color[0] )
                     ) ,
-                'center', '', 'width="95%" cols="1" cellpadding="5" cellspacing="1"' ) .
+                'center', '', 'width="95%" cellpadding="5" cellspacing="1"' ) .
             '<br>' .
-            html_tag( 'table', '', 'center', '', 'width="70%" cols="1" cellpadding="5" cellspacing="1"' ) .
+            html_tag( 'table', '', 'center', '', 'width="70%" cellpadding="5" cellspacing="1"' ) .
                 html_tag( 'tr',
-                    html_tag( 'td', '<b>' . _("Mofify a Server") . '</b>', 'center', $color[9] )
+                    html_tag( 'td', '<b>' . _("Modify Server") . '</b>', 'center', $color[9] )
                 ) .
                 html_tag( 'tr' ) .
                     html_tag( 'td', '', 'center', $color[0] ) .
@@ -313,23 +308,28 @@ require_once(SM_PATH . 'include/load_prefs.php');
             html_tag( 'table' ) .
                 html_tag( 'tr',
                     html_tag( 'th', _("Server:"), 'right' ) .
-                    html_tag( 'td', '<input type="text" name="mf_server" value="' . htmlentities($mailfetch_server_[$mf_sn]) . '" size="40">', 'left' )
+                    html_tag( 'td', '<input type="text" name="mf_server" value="' .
+                        htmlspecialchars($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="' . $mailfetch_port_[$mf_sn] . '" size="40">', 'left' )
+                    html_tag( 'td', '<input type="text" name="mf_port" value="' .
+                        htmlspecialchars($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="' . htmlentities($mailfetch_alias_[$mf_sn]) . '" size="40">', 'left' )
+                    html_tag( 'td', '<input type="text" name="mf_alias" value="' .
+                        htmlspecialchars($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="' . $mailfetch_user_[$mf_sn] . '" size="20">', 'left' )
+                    html_tag( 'td', '<input type="text" name="mf_user" value="' . 
+                        htmlspecialchars($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="' . $mailfetch_pass_[$mf_sn] . '" size="20">', 'left' )
+                    html_tag( 'td', '<input type="password" name="mf_pass" value="' .
+                        htmlspecialchars($mailfetch_pass_[$mf_sn]) . '" size="20">', 'left' )
                 ) .
                 html_tag( 'tr' ) .
                     html_tag( 'th', _("Store in Folder:"), 'right' ) .
@@ -339,10 +339,11 @@ require_once(SM_PATH . 'include/load_prefs.php');
         $boxes = sqimap_mailbox_list($imapConnection);
         echo '<select name="mf_subfolder">';
         $selected = 0;
-        if ( isset($mf_subfolder) )
-          $selected = array(strtolower($mf_subfolder));
-        echo sqimap_mailbox_option_list($imapConnection, $selected);
-        echo '</select></td></tr>' .
+        if ( isset($mailfetch_subfolder_[$mf_sn]) ) {
+            $selected = array(strtolower($mailfetch_subfolder_[$mf_sn]));
+       } 
+        echo sqimap_mailbox_option_list($imapConnection, $selected) .
+             '</select></td></tr>' .
 
                 html_tag( 'tr',
                     html_tag( 'th', '&nbsp;', 'right' ) .
@@ -379,14 +380,14 @@ require_once(SM_PATH . 'include/load_prefs.php');
             html_tag( 'tr',
                 html_tag( 'td', '<b>' . _("Fetching Servers") . '</b>', 'center', $color[0] )
             ) ,
-        'center', '', 'width="95%" cols="1"' ) .
+        'center', '', 'width="95%"' ) .
         '<br>' .
         html_tag( 'table',
             html_tag( 'tr',
                 html_tag( 'td', '<b>' . _("Undefined Function") . '</b>', 'center', $color[9] ) .
                 html_tag( 'td', '<b>' . _("Hey! Wath do You are looking for?") . '</b>', 'center', $color[0] )
             ) ,
-        'center', '', 'width="70%" cols="1"' );
+        'center', '', 'width="70%"' );
     }
 
     ?>