Initial groundwork to use phpdocumentor.
[squirrelmail.git] / plugins / mail_fetch / options.php
index 10c9dd3e013e702e87747fb468897faf04ca6cbf..5ac6ae26ac242cf824cfe74a959a6a85dcddd45f 100644 (file)
@@ -1,38 +1,73 @@
 <?php
 
-   /**
-    **  mail_fetch/options.php
-    **
-    **  Copyright (c) 1999-2002 The SquirrelMail Project Team
-    **  Licensed under the GNU GPL. For full terms see the file COPYING.
-    **
-    **  Setup of the mailfetch plugin.
-    **
-    **  $Id$
-    **/
+/**
+ * mail_fetch/options.php
+ *
+ * Copyright (c) 1999-2003 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
+ */
 
-    chdir('..');
-    define('SM_PATH','../');
+/** @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');
+require_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'include/load_prefs.php');
 
-    displayPageHeader( $color, 'None' );
-
-    //if dosen't select any option
-    if (!isset($mf_action))
+/* 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 = '';
+}
+if(! sqgetGlobalVar('mf_action', $mf_action, SQ_POST) ) {
+    if (sqgetGlobalVar('mf_action_mod', $mf_action_mod, SQ_POST)) {
+        $mf_action = 'Modify';
+    }
+    elseif (sqgetGlobalVar('mf_action_del', $mf_action_del, SQ_POST)) {
+        $mf_action = 'Delete';
+    }
+    else {
         $mf_action = 'config';
+    }
+}
+
+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);
+
+
+/* end globals */
+
+    displayPageHeader( $color, 'None' );
 
     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( $mf_cypher <> 'on' ) SetPref($data_dir,$username,"mailfetch_cypher",    'on');
+        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:""));
@@ -45,6 +80,7 @@
         //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 )    :""));
             $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_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);
         }
     }
     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");
     }
 
 
-    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',
                 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] )
                     ) .
                     html_tag( 'th', _("Server:"), 'right' ) .
                     html_tag( 'td', '<input type=text name=mf_server value="" size=40>', 'left' )
                 ) .
+                html_tag( 'tr',
+                    html_tag( 'th', _("Port:"), 'right') .
+                    html_tag( 'td', '<input type=text name=mf_port value="110" size=20>', 'left')
+                ) .
                 html_tag( 'tr',
                     html_tag( 'th', _("Alias:"), 'right' ) .
                     html_tag( 'td', '<input type=text name=mf_alias value="" size=20>', 'left' )
         $imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0);
         $boxes = sqimap_mailbox_list($imapConnection);
         echo '<select name="mf_subfolder">';
-        $boxes = sqimap_mailbox_list($imapConnection);
-        for ($i = 0; $i < count($boxes); $i++) {
-            if (!in_array('noselect', $boxes[$i]['flags'])) {
-                $box = $boxes[$i]['unformatted'];
-                $box2 = str_replace(' ', '&nbsp;', $boxes[$i]['unformatted-disp']);
-                if ( strtolower( $box2 ) == 'inbox' ) {
-                    $box2 = _("INBOX");
-                }
-                echo "<option value=\"$box\">$box2</option>\n";
-            }
-        }        
+
+        $selected = 0;
+        if ( isset($mf_subfolder) )
+          $selected = array(strtolower($mf_subfolder));
+        echo sqimap_mailbox_option_list($imapConnection, $selected);
         echo '</select></td></tr>' .
                 html_tag( 'tr',
                     html_tag( 'th', '&nbsp;', 'right' ) .
                         '<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] )
                 ) .
             echo '<b>' . _("Server Name:") . '</b> <select name="mf_sn">';
             for ($i=0;$i<$mailfetch_server_number;$i++) {
                 echo "<option value=\"$i\">" .
-                    (($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',
                     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>$mailfetch_server_[$mf_sn]</b><br>" .
+                        '<br>' . _("Selected Server:") . " <b>" . htmlentities($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] ) .
             html_tag( 'table' ) .
                 html_tag( 'tr',
                     html_tag( 'th', _("Server:"), 'right' ) .
-                    html_tag( 'td', '<input type="text" name="mf_server" value="' . $mailfetch_server_[$mf_sn] . '" size="40">', 'left' )
+                    html_tag( 'td', '<input type="text" name="mf_server" value="' . htmlentities($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( 'tr',
                     html_tag( 'th', _("Alias:"), 'right' ) .
-                    html_tag( 'td', '<input type="text" name="mf_alias" value="' . $mailfetch_alias_[$mf_sn] . '" size="40">', 'left' )
+                    html_tag( 'td', '<input type="text" name="mf_alias" value="' . htmlentities($mailfetch_alias_[$mf_sn]) . '" size="40">', 'left' )
                 ) .
                 html_tag( 'tr',
                     html_tag( 'th', _("Username:"), 'right' ) .
         $imapConnection = sqimap_login ($username, $key, $imapServerAddress, $imapPort, 0);
         $boxes = sqimap_mailbox_list($imapConnection);
         echo '<select name="mf_subfolder">';
-        $boxes = sqimap_mailbox_list($imapConnection);
-        for ($i = 0; $i < count($boxes); $i++) {
-            if (!in_array('noselect', $boxes[$i]['flags'])) {
-                $box = $boxes[$i]['unformatted'];
-                $box2 = str_replace(' ', '&nbsp;', $boxes[$i]['unformatted-disp']);
-                if ( strtolower( $box2 ) == 'inbox' ) {
-                    $box2 = _("INBOX");
-                }
-                echo '<option ' .
-                     (strcmp($mailfetch_subfolder_[$mf_sn],$box)==0?'selected':'') .
-                     " value=\"$box\">$box2</option>\n";
-            }
-        }                
-        echo '</select></td></tr>' .
+        $selected = 0;
+        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' ) .
             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%"' );
     }
 
     ?>