+ 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_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_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_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);
+ } 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_$mf_sn", getPref($data_dir, $username, "mailfetch_server_$tmp"));
+ setPref($data_dir,$username,"mailfetch_alias_$mf_sn", getPref($data_dir, $username, "mailfetch_alias_$tmp"));
+ setPref($data_dir,$username,"mailfetch_user_$mf_sn", getPref($data_dir, $username, "mailfetch_user_$tmp"));
+ 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", getPref($data_dir, $username, "mailfetch_lmos_$tmp"));
+ setPref($data_dir,$username,"mailfetch_login_$mf_sn", getPref($data_dir, $username, "mailfetch_login_$tmp"));
+ setPref($data_dir,$username,"mailfetch_fref_$mf_sn", getPref($data_dir, $username, "mailfetch_fref_$tmp"));
+ setPref($data_dir,$username,"mailfetch_subfolder_$mf_sn", getPref($data_dir, $username, "mailfetch_subfolder_$tmp"));
+ }
+ setPref($data_dir,$username,"mailfetch_server_number", $mailfetch_server_number);
+ }
+ $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;
+ }