From: Manni H. <man...@us...> - 2005-03-16 21:50:09
|
Update of /cvsroot/popfile/engine/Services In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1620/Services Modified Files: IMAP.pm Log Message: Make use of the status and error message feature. Add a couple of previously hard-coded strings to the language file(s). Fix html labels so that they now have the 'for' attribute and let the according input widgets have the corresponding id. Index: IMAP.pm =================================================================== RCS file: /cvsroot/popfile/engine/Services/IMAP.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** IMAP.pm 9 Feb 2005 21:25:06 -0000 1.15 --- IMAP.pm 16 Mar 2005 21:49:29 -0000 1.16 *************** *** 2077,2116 **** my ( $self, $name, $templ, $language, $form ) = @_; # connection details if ( $name eq 'imap_0_connection_details' ) { if ( defined $$form{update_imap_0_connection_details} ) { if ( $$form{imap_hostname} ne '' ) { - $templ->param( IMAP_connection_if_hostname_error => 0 ); $self->user_config_( 1, 'hostname', $$form{imap_hostname} ); } else { ! $templ->param( IMAP_connection_if_hostname_error => 1 ); } if ( $$form{imap_port} >= 1 && $$form{imap_port} < 65536 ) { $self->user_config_( 1, 'port', $$form{imap_port} ); ! $templ->param( IMAP_connection_if_port_error => 0 ); } else { ! $templ->param( IMAP_connection_if_port_error => 1 ); } if ( $$form{imap_login} ne '' ) { $self->user_config_( 1, 'login', $$form{imap_login} ); ! $templ->param( IMAP_connection_if_login_error => 0 ); } else { ! $templ->param( IMAP_connection_if_login_error => 1 ); } if ( $$form{imap_password} ne '' ) { $self->user_config_( 1, 'password', $$form{imap_password} ); ! $templ->param( IMAP_connection_if_password_error => 0 ); } else { ! $templ->param( IMAP_connection_if_password_error => 1 ); } } ! return; } --- 2077,2123 ---- my ( $self, $name, $templ, $language, $form ) = @_; + my ( $status_message, $error_message ); + # connection details if ( $name eq 'imap_0_connection_details' ) { if ( defined $$form{update_imap_0_connection_details} ) { + my $something_happened = 0; + if ( $$form{imap_hostname} ne '' ) { $self->user_config_( 1, 'hostname', $$form{imap_hostname} ); + $something_happened++; } else { ! $error_message = $$language{Imap_ServerNameError}; } if ( $$form{imap_port} >= 1 && $$form{imap_port} < 65536 ) { $self->user_config_( 1, 'port', $$form{imap_port} ); ! $something_happened++; } else { ! $error_message = $$language{Imap_PortError}; } if ( $$form{imap_login} ne '' ) { $self->user_config_( 1, 'login', $$form{imap_login} ); ! $something_happened++; } else { ! $error_message = $$language{Imap_LoginError}; } if ( $$form{imap_password} ne '' ) { $self->user_config_( 1, 'password', $$form{imap_password} ); ! $something_happened++; } else { ! $error_message = $$language{Imap_PasswordError}; } + + $status_message = $$language{Imap_ConnectionDetailsUpdated} if $something_happened; } ! ! return ( $status_message, $error_message ); } *************** *** 2130,2133 **** --- 2137,2141 ---- $self->watched_folders__( sort keys %folders ); $self->{folder_change_flag__} = 1; + $status_message = $$language{Imap_WatchedFoldersUpdated}; } *************** *** 2137,2149 **** if ( defined $$form{"remove_imap_watched_folder_$i"} ) { my @watched = $self->watched_folders__(); ! splice @watched, $i - 1, 1; $self->watched_folders__( @watched ); $self->{folder_change_flag__} = 1; last; } } ! ! return; } --- 2145,2157 ---- if ( defined $$form{"remove_imap_watched_folder_$i"} ) { my @watched = $self->watched_folders__(); ! my $removed = splice @watched, $i - 1, 1; $self->watched_folders__( @watched ); $self->{folder_change_flag__} = 1; + $status_message = sprintf $$language{Imap_WatchedFolderRemoved}, $removed; last; } } ! return ( $status_message, $error_message ); } *************** *** 2154,2159 **** push @current, 'INBOX'; $self->watched_folders__( @current ); } ! return; } --- 2162,2168 ---- push @current, 'INBOX'; $self->watched_folders__( @current ); + $status_message = $$language{Imap_WatchedFolderAdded}; } ! return ( $status_message, $error_message ); } *************** *** 2185,2203 **** } - my $bad = 0; while ( my ( $bucket, $folder ) = each %bucket2folder ) { if ( exists $folders{$folder} && $folders{ $folder } > 1 ) { ! $bad = 1; } else { ! $self->folder_for_bucket__( $bucket, $folder ); ! ! $self->{folder_change_flag__} = 1; } } - $templ->param( IMAP_buckets_to_folders_if_error => $bad ); } ! return; } --- 2194,2213 ---- } while ( my ( $bucket, $folder ) = each %bucket2folder ) { + # If a folder is supposed to be mapped to more than one bucket if ( exists $folders{$folder} && $folders{ $folder } > 1 ) { ! $error_message = $$language{Imap_MapError} } else { ! if ( $self->folder_for_bucket__( $bucket ) ne $folder ) { ! $self->folder_for_bucket__( $bucket, $folder ); ! $self->{folder_change_flag__} = 1; ! $status_message = sprintf $$language{Imap_MapUpdated}, $bucket, $folder; ! } } } } ! return ( $status_message, $error_message ); } *************** *** 2220,2238 **** } else { ! $templ->param( IMAP_update_list_failed => 'Could not login. Verify your login name and password, please.' ); ! # should be language__{Imap_UpdateError1} } } else { ! $templ->param( IMAP_update_list_failed => 'Failed to connect to server. Please check the host name and port and make sure you are online.' ); ! # should be language__{Imap_UpdateError2} } } else { ! $templ->param( IMAP_update_list_failed => 'Please configure the connection details first.' ); ! # should be language__{Imap_UpdateError3} } } ! return; } --- 2230,2249 ---- } else { ! $error_message = $$language{Imap_UpdateError1}; } } else { ! $error_message = $$language{Imap_UpdateError2}; } } else { ! $error_message = $$language{Imap_UpdateError3}; ! } ! ! unless ( defined $error_message ) { ! $status_message = $$language{Imap_UpdateOK}; } } ! return ( $status_message, $error_message ); } *************** *** 2253,2270 **** # update interval my $form_interval = $$form{imap_options_update_interval}; ! if ( defined $form_interval ) { ! if ( $form_interval > 10 && $form_interval < 60*60 ) { $self->user_config_( 1, 'update_interval', $form_interval ); - $templ->param( IMAP_if_interval_error => 0 ); - } - else { - $templ->param( IMAP_if_interval_error => 1 ); - } } else { ! $templ->param( IMAP_if_interval_error => 1 ); } } ! return; } --- 2264,2280 ---- # update interval my $form_interval = $$form{imap_options_update_interval}; ! if ( $form_interval =~ /^\d+$/ && $form_interval > 10 && $form_interval < 60*60 ) { $self->user_config_( 1, 'update_interval', $form_interval ); } else { ! $error_message = $$language{Imap_IntervalError}; ! } ! ! unless ( defined $error_message ) { ! $status_message = $$language{Imap_OptionsUpdated}; } + } ! return ( $status_message, $error_message ); } |