From: <jgr...@us...> - 2003-03-05 21:16:25
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1:/tmp/cvs-serv23158/UI Modified Files: HTML.pm Log Message: Statistics and reclassification now work; all configuration parameters now fixed correctly and configuration screens work; history now updates; can look up words; TODO: magnets not working and security page partly broken, need to decide whether to drop stop words or not Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.105 retrieving revision 1.106 diff -C2 -d -r1.105 -r1.106 *** HTML.pm 5 Mar 2003 20:06:18 -0000 1.105 --- HTML.pm 5 Mar 2003 21:15:37 -0000 1.106 *************** *** 592,597 **** my $result = "<table class=\"footer\" summary=\"\">\n<tr>\n"; $result .= "<td class=\"footerBody\">\n"; ! $result .= "POPFile $self->{configuration}{major_version}.$self->{configuration}{minor_version}."; ! $result .= "$self->{configuration}{build_version} - \n"; $result .= "<a class=\"bottomLink\" href=\""; --- 592,597 ---- my $result = "<table class=\"footer\" summary=\"\">\n<tr>\n"; $result .= "<td class=\"footerBody\">\n"; ! $result .= "POPFile X.X."; ! $result .= "X - \n"; $result .= "<a class=\"bottomLink\" href=\""; *************** *** 700,707 **** $self->config_( 'skin', $self->{form__}{skin} ) if ( defined($self->{form__}{skin}) ); ! $self->config_( 'debug', $self->{form__}{debug}-1 ) if ( ( defined($self->{form__}{debug}) ) && ( ( $self->{form__}{debug} >= 1 ) && ( $self->{form__}{debug} <= 4 ) ) ); ! $self->config_( 'subject', $self->{form__}{subject}-1 ) if ( ( defined($self->{form__}{subject}) ) && ( ( $self->{form__}{subject} >= 1 ) && ( $self->{form__}{subject} <= 2 ) ) ); ! $self->config_( 'xtc', $self->{form__}{xtc}-1 ) if ( ( defined($self->{form__}{xtc}) ) && ( ( $self->{form__}{xtc} >= 1 ) && ( $self->{form__}{xtc} <= 2 ) ) ); ! $self->config_( 'xpl', $self->{form__}{xpl}-1 ) if ( ( defined($self->{form__}{xpl}) ) && ( ( $self->{form__}{xpl} >= 1 ) && ( $self->{form__}{xpl} <= 2 ) ) ); if ( defined($self->{form__}{language}) ) { --- 700,707 ---- $self->config_( 'skin', $self->{form__}{skin} ) if ( defined($self->{form__}{skin}) ); ! $self->global_config_( 'debug', $self->{form__}{debug}-1 ) if ( ( defined($self->{form__}{debug}) ) && ( ( $self->{form__}{debug} >= 1 ) && ( $self->{form__}{debug} <= 4 ) ) ); ! $self->global_config_( 'subject', $self->{form__}{subject}-1 ) if ( ( defined($self->{form__}{subject}) ) && ( ( $self->{form__}{subject} >= 1 ) && ( $self->{form__}{subject} <= 2 ) ) ); ! $self->global_config_( 'xtc', $self->{form__}{xtc}-1 ) if ( ( defined($self->{form__}{xtc}) ) && ( ( $self->{form__}{xtc} >= 1 ) && ( $self->{form__}{xtc} <= 2 ) ) ); ! $self->global_config_( 'xpl', $self->{form__}{xpl}-1 ) if ( ( defined($self->{form__}{xpl}) ) && ( ( $self->{form__}{xpl} >= 1 ) && ( $self->{form__}{xpl} <= 2 ) ) ); if ( defined($self->{form__}{language}) ) { *************** *** 714,718 **** if ( defined($self->{form__}{separator}) ) { if ( length($self->{form__}{separator}) == 1 ) { ! $self->config_( 'separator', $self->{form__}{separator} ); } else { $separator_error = "<blockquote>\n<div class=\"error01\">\n"; --- 714,718 ---- if ( defined($self->{form__}{separator}) ) { if ( length($self->{form__}{separator}) == 1 ) { ! $self->module_config_( 'pop3', 'separator', $self->{form__}{separator} ); } else { $separator_error = "<blockquote>\n<div class=\"error01\">\n"; *************** *** 734,738 **** if ( defined($self->{form__}{port}) ) { if ( ( $self->{form__}{port} >= 1 ) && ( $self->{form__}{port} < 65536 ) ) { ! $self->config_( 'port', $self->{form__}{port} ); } else { $port_error = "<blockquote><div class=\"error01\">$self->{language__}{Configuration_Error3}</div></blockquote>"; --- 734,738 ---- if ( defined($self->{form__}{port}) ) { if ( ( $self->{form__}{port} >= 1 ) && ( $self->{form__}{port} < 65536 ) ) { ! $self->module_config_( 'pop3', 'port', $self->{form__}{port} ); } else { $port_error = "<blockquote><div class=\"error01\">$self->{language__}{Configuration_Error3}</div></blockquote>"; *************** *** 761,765 **** if ( defined($self->{form__}{timeout}) ) { if ( ( $self->{form__}{timeout} >= 10 ) && ( $self->{form__}{timeout} <= 300 ) ) { ! $self->config_( 'timeout', $self->{form__}{timeout} ); } else { $timeout_error = "<blockquote><div class=\"error01\">$self->{language__}{Configuration_Error6}</div></blockquote>"; --- 761,765 ---- if ( defined($self->{form__}{timeout}) ) { if ( ( $self->{form__}{timeout} >= 10 ) && ( $self->{form__}{timeout} <= 300 ) ) { ! $self->global_config_( 'timeout', $self->{form__}{timeout} ); } else { $timeout_error = "<blockquote><div class=\"error01\">$self->{language__}{Configuration_Error6}</div></blockquote>"; *************** *** 857,861 **** $body .= "<table width=\"100%\" summary=\"$self->{language__}{Configuration_InsertionTableSummary}\">\n<tr>\n"; $body .= "<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_SubjectLine}:</span>\n</th>\n"; ! if ( $self->config_( 'subject' ) == 1 ) { $body .= "<td valign=\"baseline\" align=\"right\">\n"; $body .= "<form class=\"configSwitch\" style=\"margin: 0\" action=\"/configuration\">\n"; --- 857,861 ---- $body .= "<table width=\"100%\" summary=\"$self->{language__}{Configuration_InsertionTableSummary}\">\n<tr>\n"; $body .= "<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_SubjectLine}:</span>\n</th>\n"; ! if ( $self->global_config_( 'subject' ) == 1 ) { $body .= "<td valign=\"baseline\" align=\"right\">\n"; $body .= "<form class=\"configSwitch\" style=\"margin: 0\" action=\"/configuration\">\n"; *************** *** 875,879 **** # X-Text-Classification insertion widget $body .= "</tr>\n<tr>\n<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_XTCInsertion}:</span></th>\n"; ! if ( $self->config_( 'xtc' ) == 1 ) { $body .= "<td valign=\"baseline\" align=\"right\">\n"; $body .= "<form class=\"configSwitch\" style=\"margin: 0\" action=\"/configuration\">\n"; --- 875,879 ---- # X-Text-Classification insertion widget $body .= "</tr>\n<tr>\n<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_XTCInsertion}:</span></th>\n"; ! if ( $self->global_config_( 'xtc' ) == 1 ) { $body .= "<td valign=\"baseline\" align=\"right\">\n"; $body .= "<form class=\"configSwitch\" style=\"margin: 0\" action=\"/configuration\">\n"; *************** *** 893,897 **** # X-POPFile-Link insertion widget $body .= "</tr>\n<tr>\n<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_XPLInsertion}:</span></th>\n"; ! if ( $self->config_( 'xpl' ) == 1 ) { $body .= "<td valign=\"baseline\" align=\"right\">\n"; $body .= "<form class=\"configSwitch\" style=\"margin: 0\" action=\"/configuration\">\n"; --- 893,897 ---- # X-POPFile-Link insertion widget $body .= "</tr>\n<tr>\n<th valign=\"baseline\" scope=\"row\">\n<span class=\"configurationLabel\">$self->{language__}{Configuration_XPLInsertion}:</span></th>\n"; ! if ( $self->global_config_( 'xpl' ) == 1 ) { $body .= "<td valign=\"baseline\" align=\"right\">\n"; $body .= "<form class=\"configSwitch\" style=\"margin: 0\" action=\"/configuration\">\n"; *************** *** 917,932 **** $body .= "<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configPopPort\">$self->{language__}{Configuration_POP3Port}:</label><br />\n"; ! $body .= "<input name=\"port\" type=\"text\" id=\"configPopPort\" value=\"" . $self->config_( 'port' ) . "\" />\n"; $body .= "<input type=\"submit\" class=\"submit\" name=\"update_port\" value=\"$self->{language__}{Apply}\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$port_error\n"; ! $body .= sprintf( $self->{language__}{Configuration_POP3Update}, $self->config_( 'port' ) ) if ( defined($self->{form__}{port}) ); # Separator Character widget $body .= "\n<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configSeparator\">$self->{language__}{Configuration_Separator}:</label><br />\n"; ! $body .= "<input name=\"separator\" id=\"configSeparator\" type=\"text\" value=\"" . $self->config_( 'separator' ) . "\" />\n"; $body .= "<input type=\"submit\" class=\"submit\" name=\"update_separator\" value=\"$self->{language__}{Apply}\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$separator_error\n"; ! $body .= sprintf( $self->{language__}{Configuration_SepUpdate}, $self->config_( 'separator' ) ) if ( defined($self->{form__}{separator}) ); # User Interface Port widget --- 917,932 ---- $body .= "<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configPopPort\">$self->{language__}{Configuration_POP3Port}:</label><br />\n"; ! $body .= "<input name=\"port\" type=\"text\" id=\"configPopPort\" value=\"" . $self->module_config_( 'pop3', 'port' ) . "\" />\n"; $body .= "<input type=\"submit\" class=\"submit\" name=\"update_port\" value=\"$self->{language__}{Apply}\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$port_error\n"; ! $body .= sprintf( $self->{language__}{Configuration_POP3Update}, $self->module_config_( 'pop3', 'port' ) ) if ( defined($self->{form__}{port}) ); # Separator Character widget $body .= "\n<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configSeparator\">$self->{language__}{Configuration_Separator}:</label><br />\n"; ! $body .= "<input name=\"separator\" id=\"configSeparator\" type=\"text\" value=\"" . $self->module_config_( 'pop3', 'separator' ) . "\" />\n"; $body .= "<input type=\"submit\" class=\"submit\" name=\"update_separator\" value=\"$self->{language__}{Apply}\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$separator_error\n"; ! $body .= sprintf( $self->{language__}{Configuration_SepUpdate}, $self->module_config_( 'pop3', 'separator' ) ) if ( defined($self->{form__}{separator}) ); # User Interface Port widget *************** *** 946,953 **** $body .= "<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configTCPTimeout\">$self->{language__}{Configuration_TCPTimeoutSecs}:</label><br />\n"; ! $body .= "<input name=\"timeout\" type=\"text\" id=\"configTCPTimeout\" value=\"" . $self->config_( 'timeout' ) . "\" />\n"; $body .= "<input type=\"submit\" class=\"submit\" name=\"update_timeout\" value=\"$self->{language__}{Apply}\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$timeout_error"; ! $body .= sprintf( $self->{language__}{Configuration_TCPTimeoutUpdate}, $self->config_( 'timeout' ) ) if ( defined($self->{form__}{timeout}) ); $body .= "</td>\n"; --- 946,953 ---- $body .= "<form action=\"/configuration\">\n"; $body .= "<label class=\"configurationLabel\" for=\"configTCPTimeout\">$self->{language__}{Configuration_TCPTimeoutSecs}:</label><br />\n"; ! $body .= "<input name=\"timeout\" type=\"text\" id=\"configTCPTimeout\" value=\"" . $self->global_config_( 'timeout' ) . "\" />\n"; $body .= "<input type=\"submit\" class=\"submit\" name=\"update_timeout\" value=\"$self->{language__}{Apply}\" />\n"; $body .= "<input type=\"hidden\" name=\"session\" value=\"$self->{session_key__}\" />\n</form>\n$timeout_error"; ! $body .= sprintf( $self->{language__}{Configuration_TCPTimeoutUpdate}, $self->global_config_( 'timeout' ) ) if ( defined($self->{form__}{timeout}) ); $body .= "</td>\n"; *************** *** 960,973 **** $body .= "<select name=\"debug\" id=\"configLogging\">\n"; $body .= "<option value=\"1\""; ! $body .= " selected=\"selected\"" if ( $self->config_( 'debug' ) == 0 ); $body .= ">$self->{language__}{Configuration_None}</option>\n"; $body .= "<option value=\"2\""; ! $body .= " selected=\"selected\"" if ( $self->config_( 'debug' ) == 1 ); $body .= ">$self->{language__}{Configuration_ToFile}</option>\n"; $body .= "<option value=\"3\""; ! $body .= " selected=\"selected\"" if ( $self->config_( 'debug' ) == 2 ); $body .= ">$self->{language__}{Configuration_ToScreen}</option>\n"; $body .= "<option value=\"4\""; ! $body .= " selected=\"selected\"" if ( $self->config_( 'debug' ) == 3 ); $body .= ">$self->{language__}{Configuration_ToScreenFile}</option>\n"; $body .= "</select>\n<input type=\"submit\" class=\"submit\" name=\"submit_debug\" value=\"$self->{language__}{Apply}\" />\n"; --- 960,973 ---- $body .= "<select name=\"debug\" id=\"configLogging\">\n"; $body .= "<option value=\"1\""; ! $body .= " selected=\"selected\"" if ( $self->global_config_( 'debug' ) == 0 ); $body .= ">$self->{language__}{Configuration_None}</option>\n"; $body .= "<option value=\"2\""; ! $body .= " selected=\"selected\"" if ( $self->global_config_( 'debug' ) == 1 ); $body .= ">$self->{language__}{Configuration_ToFile}</option>\n"; $body .= "<option value=\"3\""; ! $body .= " selected=\"selected\"" if ( $self->global_config_( 'debug' ) == 2 ); $body .= ">$self->{language__}{Configuration_ToScreen}</option>\n"; $body .= "<option value=\"4\""; ! $body .= " selected=\"selected\"" if ( $self->global_config_( 'debug' ) == 3 ); $body .= ">$self->{language__}{Configuration_ToScreenFile}</option>\n"; $body .= "</select>\n<input type=\"submit\" class=\"submit\" name=\"submit_debug\" value=\"$self->{language__}{Apply}\" />\n"; *************** *** 1317,1321 **** if ( ( defined($self->{form__}{type}) ) && ( $self->{form__}{bucket} ne '' ) && ( $self->{form__}{text} ne '' ) ) { my $found = 0; ! for my $bucket (keys %{$self->{classifier__}->{magnets}}) { if ( defined($self->{classifier__}->{magnets}{$bucket}{$self->{form__}{type}}{$self->{form__}{text}}) ) { $found = 1; --- 1317,1321 ---- if ( ( defined($self->{form__}{type}) ) && ( $self->{form__}{bucket} ne '' ) && ( $self->{form__}{text} ne '' ) ) { my $found = 0; ! for my $bucket ($self->{classifier__}->get_buckets_with_magnets()) { if ( defined($self->{classifier__}->{magnets}{$bucket}{$self->{form__}{type}}{$self->{form__}{text}}) ) { $found = 1; *************** *** 1588,1592 **** $self->{classifier__}->write_parameters(); $self->config_( 'last_reset', localtime ); ! $self->{configuration}->save_configuration(); } --- 1588,1592 ---- $self->{classifier__}->write_parameters(); $self->config_( 'last_reset', localtime ); ! $self->{configuration__}->save_configuration(); } *************** *** 1682,1686 **** $body .= "<td align=\"right\">$unique</td><td width=\"1%\"> </td>"; ! if ( $self->config_( 'subject' ) == 1 ) { # Subject Modification on/off widget --- 1682,1686 ---- $body .= "<td align=\"right\">$unique</td><td width=\"1%\"> </td>"; ! if ( $self->global_config_( 'subject' ) == 1 ) { # Subject Modification on/off widget *************** *** 1730,1735 **** my $color = $self->{classifier__}->get_bucket_color($bucket); $body .= "<td bgcolor=\"$color\">\n<img class=\"colorChooserImg\" border=\"0\" alt='" . sprintf( $self->{language__}{Bucket_CurrentColor}, $bucket, $color ) . "' src=\"pix.gif\" width=\"10\" height=\"20\" /></td>\n<td> </td>\n"; ! for my $i ( 0 .. $#{$self->{classifier__}->{possible_colors}} ) { ! my $color = $self->{classifier__}->{possible_colors}[$i]; if ( $color ne $self->{classifier__}->get_bucket_color($bucket) ) { $body .= "<td bgcolor=\"$color\" title=\"". sprintf( $self->{language__}{Bucket_SetColorTo}, $bucket, $color ) . "\">\n"; --- 1730,1735 ---- my $color = $self->{classifier__}->get_bucket_color($bucket); $body .= "<td bgcolor=\"$color\">\n<img class=\"colorChooserImg\" border=\"0\" alt='" . sprintf( $self->{language__}{Bucket_CurrentColor}, $bucket, $color ) . "' src=\"pix.gif\" width=\"10\" height=\"20\" /></td>\n<td> </td>\n"; ! for my $i ( 0 .. $#{$self->{classifier__}->{possible_colors__}} ) { ! my $color = $self->{classifier__}->{possible_colors__}[$i]; if ( $color ne $self->{classifier__}->get_bucket_color($bucket) ) { $body .= "<td bgcolor=\"$color\" title=\"". sprintf( $self->{language__}{Bucket_SetColorTo}, $bucket, $color ) . "\">\n"; *************** *** 1751,1755 **** my $accuracy = $self->{language__}{Bucket_NotEnoughData}; my $percent = 0; ! if ( $self->config_( 'mcount' ) > 0 ) { $percent = int( 10000 * ( $self->global_config_( 'mcount' ) - $self->global_config_( 'ecount' ) ) / $self->global_config_( 'mcount' ) ) / 100; $accuracy = "$percent%"; --- 1751,1755 ---- my $accuracy = $self->{language__}{Bucket_NotEnoughData}; my $percent = 0; ! if ( $self->global_config_( 'mcount' ) > 0 ) { $percent = int( 10000 * ( $self->global_config_( 'mcount' ) - $self->global_config_( 'ecount' ) ) / $self->global_config_( 'mcount' ) ) / 100; $accuracy = "$percent%"; *************** *** 1909,1913 **** if ( ( defined($self->{form__}{lookup}) ) || ( defined($self->{form__}{word}) ) ) { ! my $word = $self->{classifier__}->{mangler}->mangle($self->{form__}{word}, 1); $body .= "<blockquote>\n"; --- 1909,1913 ---- if ( ( defined($self->{form__}{lookup}) ) || ( defined($self->{form__}{word}) ) ) { ! my $word = $self->{classifier__}->{mangler__}->mangle($self->{form__}{word}, 1); $body .= "<blockquote>\n"; *************** *** 1929,1934 **** my $total = 0; foreach my $bucket (@buckets) { ! if ( $self->{classifier__}->get_value( $bucket, $word ) != 0 ) { ! my $prob = exp( $self->{classifier__}->get_value( $bucket, $word ) ); $total += $prob; if ( $max_bucket eq '' ) { --- 1929,1934 ---- my $total = 0; foreach my $bucket (@buckets) { ! if ( $self->{classifier__}->get_value_( $bucket, $word ) != 0 ) { ! my $prob = exp( $self->{classifier__}->get_value_( $bucket, $word ) ); $total += $prob; if ( $max_bucket eq '' ) { *************** *** 1950,1955 **** foreach my $bucket (@buckets) { ! if ( $self->{classifier__}->get_value( $bucket, $word ) != 0 ) { ! my $prob = exp( $self->{classifier__}->get_value( $bucket, $word ) ); my $n = ($total > 0)?$prob / $total:0; my $score = ($#buckets >= 0)?log($n)/log(@buckets)+1:0; --- 1950,1955 ---- foreach my $bucket (@buckets) { ! if ( $self->{classifier__}->get_value_( $bucket, $word ) != 0 ) { ! my $prob = exp( $self->{classifier__}->get_value_( $bucket, $word ) ); my $n = ($total > 0)?$prob / $total:0; my $score = ($#buckets >= 0)?log($n)/log(@buckets)+1:0; *************** *** 2434,2441 **** $self->global_config_( 'ecount', $self->global_config_( 'ecount' ) + 1 ) if ( $newbucket ne $bucket ); ! $self->{logger}->debug( "Reclassifying $mail_file from $bucket to $newbucket" ); ! # TODO $self->{classifier__}->set_parameters( $newbucket, count} += 1; ! # TODO $self->{classifier__}->{parameters}{$bucket}{count} -= 1; # Update the class file --- 2434,2443 ---- $self->global_config_( 'ecount', $self->global_config_( 'ecount' ) + 1 ) if ( $newbucket ne $bucket ); ! $self->log_( "Reclassifying $mail_file from $bucket to $newbucket" ); ! $self->{classifier__}->set_bucket_parameter( $newbucket, 'count', ! $self->{classifier__}->get_bucket_parameter( $newbucket, 'count' ) + 1 ); ! $self->{classifier__}->set_bucket_parameter( $bucket, 'count', ! $self->{classifier__}->get_bucket_parameter( $bucket, 'count' ) - 1 ); # Update the class file *************** *** 2452,2458 **** # Add message feedback ! $self->{feedback}{$mail_file} = sprintf( $self->{language__}{History_ChangedTo}, $self->{classifier__}->get_bucket_color($newbucket), $newbucket ) ! # TODO $self->{configuration}->save_configuration(); } } --- 2454,2460 ---- # Add message feedback ! $self->{feedback}{$mail_file} = sprintf( $self->{language__}{History_ChangedTo}, $self->{classifier__}->get_bucket_color($newbucket), $newbucket ); ! $self->{configuration__}->save_configuration(); } } *************** *** 2481,2485 **** if ( defined( $usedtobe ) ) { ! $self->{classifier__}->remove_message_from_bucket($self->global_config_( 'msgdir' ) . $mail_file); $self->log_( "Undoing $mail_file from $bucket to $usedtobe" ); --- 2483,2487 ---- if ( defined( $usedtobe ) ) { ! $self->{classifier__}->remove_message_from_bucket($self->global_config_( 'msgdir' ) . $mail_file, $bucket); $self->log_( "Undoing $mail_file from $bucket to $usedtobe" ); *************** *** 2487,2492 **** if ( $bucket ne $usedtobe ) { $self->global_config_( 'ecount', $self->global_config_( 'ecount' ) - 1 ) if ( $self->global_config_( 'ecount' ) > 0 ); ! # TODO $self->{classifier__}->{parameters}{$bucket}{count} -= 1; ! # TODO $self->{classifier__}->{parameters}{$usedtobe}{count} += 1; } --- 2489,2497 ---- if ( $bucket ne $usedtobe ) { $self->global_config_( 'ecount', $self->global_config_( 'ecount' ) - 1 ) if ( $self->global_config_( 'ecount' ) > 0 ); ! ! $self->{classifier__}->set_bucket_parameter( $bucket, 'count', ! $self->{classifier__}->get_bucket_parameter( $bucket, 'count' ) - 1 ); ! $self->{classifier__}->set_bucket_parameter( $usedtobe, 'count', ! $self->{classifier__}->get_bucket_parameter( $usedtobe, 'count' ) + 1 ); } *************** *** 2505,2508 **** --- 2510,2515 ---- $self->{feedback}{$mail_file} = sprintf( $self->{language__}{History_ChangedTo}, ($self->{classifier__}->get_bucket_color($usedtobe) || ''), $usedtobe ); + + $self->{configuration__}->save_configuration(); } } |