+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 ) :""));
+ 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:""));
+ setPref($data_dir,$username,"mailfetch_auth_$mf_sn",(isset($mf_auth)?$mf_auth:MAIL_FETCH_AUTH_USER));
+ 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;
+ 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 ) :""));
+ setPref($data_dir,$username,"mailfetch_cypher", ($mf_cypher == 'on' ? '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:""));
+ setPref($data_dir,$username,"mailfetch_auth_$mf_sn",(isset($mf_auth)?$mf_auth:MAIL_FETCH_AUTH_USER));
+ setPref($data_dir,$username,"mailfetch_type_$mf_sn",(isset($mf_type)?$mf_type:MAIL_FETCH_USE_PLAIN));
+ $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_'.$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_auth_'.$i,
+ getPref($data_dir,$username, 'mailfetch_auth_'.$tmp,MAIL_FETCH_AUTH_USER));
+ setPref($data_dir,$username,'mailfetch_type_'.$i,
+ getPref($data_dir,$username, 'mailfetch_type_'.$tmp,MAIL_FETCH_USE_PLAIN));
+ setPref($data_dir,$username,'mailfetch_uidl_'.$i,
+ getPref($data_dir,$username, 'mailfetch_uidl_'.$tmp));
+ }
+ setPref($data_dir,$username,"mailfetch_server_number", $mailfetch_server_number);
+ }
+ $mf_action = 'config';
+ break;
+}