You can subscribe to this list here.
2003 |
Jan
|
Feb
(160) |
Mar
(119) |
Apr
(111) |
May
(118) |
Jun
(101) |
Jul
(304) |
Aug
(113) |
Sep
(140) |
Oct
(137) |
Nov
(87) |
Dec
(122) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(78) |
Feb
(125) |
Mar
(131) |
Apr
(59) |
May
(121) |
Jun
(166) |
Jul
(150) |
Aug
(137) |
Sep
(73) |
Oct
(58) |
Nov
(27) |
Dec
(60) |
2005 |
Jan
(131) |
Feb
(84) |
Mar
(36) |
Apr
(8) |
May
(28) |
Jun
(20) |
Jul
(10) |
Aug
(72) |
Sep
(76) |
Oct
(34) |
Nov
(3) |
Dec
(29) |
2006 |
Jan
(13) |
Feb
(92) |
Mar
(7) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(17) |
Sep
(5) |
Oct
(2) |
Nov
(8) |
Dec
(12) |
2007 |
Jan
(28) |
Feb
(15) |
Mar
|
Apr
|
May
(8) |
Jun
(4) |
Jul
(5) |
Aug
(8) |
Sep
(20) |
Oct
(38) |
Nov
(65) |
Dec
(92) |
2008 |
Jan
(21) |
Feb
(56) |
Mar
(27) |
Apr
(174) |
May
(25) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sam S. <ssc...@us...> - 2005-02-23 19:11:52
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21833/skins/default Modified Files: pix.gif magnet.png otto.png x.gif Log Message: repeat after me: Images are binary |
From: Sam S. <ssc...@us...> - 2005-02-20 10:06:38
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24865/skins/default Modified Files: pop3-chain-panel.thtml pop3-configuration-panel.thtml administration-page.thtml socks-widget.thtml Log Message: Begin refactoring HTML UI "status" and "error" messages to use the new status_message__ and error_message__ functions. Progress: Admin page complete. POP3 widget(s) complete. validate_item now returns ($status, $error), both strings, indicating a status or error string to print to the UI. Index: pop3-configuration-panel.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/pop3-configuration-panel.thtml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** pop3-configuration-panel.thtml 15 Feb 2005 04:23:54 -0000 1.8 --- pop3-configuration-panel.thtml 20 Feb 2005 10:05:57 -0000 1.9 *************** *** 8,29 **** </form> - <TMPL_IF NAME="POP3_Configuration_If_Port_Error"> - - <blockquote> - <div class="error01"> - <TMPL_VAR NAME="Localize_Configuration_Error3"> - </div> - </blockquote> - - </TMPL_IF> - - <TMPL_IF NAME="POP3_Configuration_If_Port_Updated"> - - <blockquote> - <TMPL_VAR NAME="POP3_Configuration_Port_Updated"> - </blockquote> - - </TMPL_IF> - <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> <label class="configurationLabel" for="configSeparator"> --- 8,11 ---- *************** *** 35,56 **** </form> - <TMPL_IF NAME="POP3_Configuration_If_Sep_Error"> - - <blockquote> - <div class="error01"> - <TMPL_VAR NAME="Localize_Configuration_Error1"> - </div> - </blockquote> - - </TMPL_IF> - - <TMPL_IF NAME="POP3_Configuration_If_Sep_Updated"> - - <blockquote> - <TMPL_VAR NAME="POP3_Configuration_Sep_Updated"> - </blockquote> - - </TMPL_IF> - <span class="configurationLabel"> <TMPL_VAR NAME="Localize_Configuration_POPFork">: --- 17,20 ---- Index: administration-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/administration-page.thtml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** administration-page.thtml 15 Feb 2005 04:23:54 -0000 1.5 --- administration-page.thtml 20 Feb 2005 10:05:57 -0000 1.6 *************** *** 163,178 **** </form> - - <TMPL_IF NAME="Configuration_If_UI_Port_Error"> - - <blockquote> - <div class="error01"> - <TMPL_VAR NAME="Localize_Configuration_Error2"> - </div> - </blockquote> - - </TMPL_IF> - - <TMPL_VAR NAME="Configuration_UI_Port_Updated"> <TMPL_VAR NAME="Configuration_Dynamic"> </td> --- 163,166 ---- Index: pop3-chain-panel.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/pop3-chain-panel.thtml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** pop3-chain-panel.thtml 15 Feb 2005 04:23:54 -0000 1.6 --- pop3-chain-panel.thtml 20 Feb 2005 10:05:57 -0000 1.7 *************** *** 8,19 **** </form> - <TMPL_IF NAME="POP3_Chain_If_Server_Updated"> - - <blockquote> - <TMPL_VAR NAME="POP3_Chain_Server_Updated"> - </blockquote> - - </TMPL_IF> - <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> <label class="securityLabel" for="securitySecurePort"> --- 8,11 ---- *************** *** 23,43 **** <input type="text" name="sport" id="securitySecurePort" value="<TMPL_VAR NAME="POP3_Chain_Secure_Port">" /> <input type="submit" class="submit" name="update_sport" value="<TMPL_VAR NAME="Localize_Apply">" /> ! </form> ! ! <TMPL_IF NAME="POP3_Chain_If_Port_Error"> ! ! <blockquote> ! <div class="error01"> ! <TMPL_VAR NAME="Localize_Security_Error1"> ! </div> ! </blockquote> ! ! </TMPL_IF> ! ! <TMPL_IF NAME="POP3_Chain_If_Port_Updated"> ! ! <blockquote> ! <TMPL_VAR NAME="POP3_Chain_Port_Updated"> ! </blockquote> ! ! </TMPL_IF> --- 15,17 ---- <input type="text" name="sport" id="securitySecurePort" value="<TMPL_VAR NAME="POP3_Chain_Secure_Port">" /> <input type="submit" class="submit" name="update_sport" value="<TMPL_VAR NAME="Localize_Apply">" /> ! </form> \ No newline at end of file Index: socks-widget.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/socks-widget.thtml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** socks-widget.thtml 15 Feb 2005 04:23:55 -0000 1.6 --- socks-widget.thtml 20 Feb 2005 10:05:57 -0000 1.7 *************** *** 8,19 **** </form> - <TMPL_IF NAME="Socks_Widget_If_Server_Updated"> - - <blockquote> - <TMPL_VAR NAME="Socks_Widget_Server_Updated"> - </blockquote> - - </TMPL_IF> - <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> <label class="configurationLabel" for="configSOCKSPort"> --- 8,11 ---- *************** *** 24,43 **** <input type="submit" class="submit" name="update_<TMPL_VAR NAME="Socks_Widget_Name">_socks_port" value="<TMPL_VAR NAME="Localize_Apply">" /> </form> - - <TMPL_IF NAME="Socks_Widget_If_Port_Error"> - - <blockquote> - <div class="error01"> - <TMPL_VAR NAME="Localize_Configuration_Error8"> - </div> - </blockquote> - - </TMPL_IF> - - <TMPL_IF NAME="Socks_Widget_If_Port_Updated"> - - <blockquote> - <TMPL_VAR NAME="Socks_Widget_Port_Updated"> - </blockquote> - - </TMPL_IF> --- 16,17 ---- |
From: Sam S. <ssc...@us...> - 2005-02-20 10:06:11
|
Update of /cvsroot/popfile/engine/Proxy In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24865/Proxy Modified Files: Proxy.pm POP3.pm Log Message: Begin refactoring HTML UI "status" and "error" messages to use the new status_message__ and error_message__ functions. Progress: Admin page complete. POP3 widget(s) complete. validate_item now returns ($status, $error), both strings, indicating a status or error string to print to the UI. Index: POP3.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/POP3.pm,v retrieving revision 1.106 retrieving revision 1.107 diff -C2 -d -r1.106 -r1.107 *** POP3.pm 27 Dec 2004 16:51:28 -0000 1.106 --- POP3.pm 20 Feb 2005 10:06:02 -0000 1.107 *************** *** 505,509 **** if ( $response == 0 ) { $self->echo_to_dot_( $mail, $client ); ! } } --- 505,509 ---- if ( $response == 0 ) { $self->echo_to_dot_( $mail, $client ); ! } } *************** *** 524,528 **** if ( $response == 0 ) { $self->echo_to_dot_( $mail, $client ); ! } } else { next; --- 524,528 ---- if ( $response == 0 ) { $self->echo_to_dot_( $mail, $client ); ! } } else { next; *************** *** 692,702 **** if ( $name eq 'pop3_security' ) { $templ->param( 'POP3_Security_Local' => ( $self->config_( 'local' ) == 1 ) ); ! } else { ! if ( $name eq 'pop3_chain' ) { $templ->param( 'POP3_Chain_Secure_Server' => $self->config_( 'secure_server' ) ); $templ->param( 'POP3_Chain_Secure_Port' => $self->config_( 'secure_port' ) ); ! } else { $self->SUPER::configure_item( $name, $templ, $language ); ! } } } --- 692,702 ---- if ( $name eq 'pop3_security' ) { $templ->param( 'POP3_Security_Local' => ( $self->config_( 'local' ) == 1 ) ); ! } else { ! if ( $name eq 'pop3_chain' ) { $templ->param( 'POP3_Chain_Secure_Server' => $self->config_( 'secure_server' ) ); $templ->param( 'POP3_Chain_Secure_Port' => $self->config_( 'secure_port' ) ); ! } else { $self->SUPER::configure_item( $name, $templ, $language ); ! } } } *************** *** 719,730 **** my ( $self, $name, $templ, $language, $form ) = @_; if ( $name eq 'pop3_configuration' ) { if ( defined($$form{pop3_port}) ) { if ( ( $$form{pop3_port} >= 1 ) && ( $$form{pop3_port} < 65536 ) ) { $self->config_( 'port', $$form{pop3_port} ); ! $templ->param( 'POP3_Configuration_If_Port_Updated' => 1 ); ! $templ->param( 'POP3_Configuration_Port_Updated' => sprintf( $$language{Configuration_POP3Update}, $self->config_( 'port' ) ) ); } else { ! $templ->param( 'POP3_Configuration_If_Port_Error' => 1 ); } } --- 719,731 ---- my ( $self, $name, $templ, $language, $form ) = @_; + my ($status_message,$error_message); + if ( $name eq 'pop3_configuration' ) { if ( defined($$form{pop3_port}) ) { if ( ( $$form{pop3_port} >= 1 ) && ( $$form{pop3_port} < 65536 ) ) { $self->config_( 'port', $$form{pop3_port} ); ! $status_message = sprintf( $$language{Configuration_POP3Update}, $self->config_( 'port' ) ); } else { ! $error_message .= $$language{Configuration_Error3}; } } *************** *** 733,740 **** if ( length($$form{pop3_separator}) == 1 ) { $self->config_( 'separator', $$form{pop3_separator} ); ! $templ->param( 'POP3_Configuration_If_Sep_Updated' => 1 ); ! $templ->param( 'POP3_Configuration_Sep_Updated' => sprintf( $$language{Configuration_POP3SepUpdate}, $self->config_( 'separator' ) ) ); } else { ! $templ->param( 'POP3_Configuration_If_Sep_Error' => 1 ); } } --- 734,742 ---- if ( length($$form{pop3_separator}) == 1 ) { $self->config_( 'separator', $$form{pop3_separator} ); ! $status_message .= "\n" if ( defined( $status_message ) ); ! $status_message .= sprintf( $$language{Configuration_POP3SepUpdate}, $self->config_( 'separator' ) ) } else { ! $error_message .= "\n" if ( defined( $error_message ) ); ! $error_message .= $$language{Configuration_Error1}; } } *************** *** 744,748 **** } ! return; } --- 746,750 ---- } ! return($status_message, $error_message); } *************** *** 750,754 **** $self->config_( 'local', $$form{pop3_local}-1 ) if ( defined($$form{pop3_local}) ); ! return; } --- 752,756 ---- $self->config_( 'local', $$form{pop3_local}-1 ) if ( defined($$form{pop3_local}) ); ! return(undef, undef); } *************** *** 756,777 **** if ( defined( $$form{server} ) ) { $self->config_( 'secure_server', $$form{server} ); ! $templ->param( 'POP3_Chain_If_Server_Updated' => 1 ); ! $templ->param( 'POP3_Chain_Server_Updated' => sprintf( $$language{Security_SecureServerUpdate}, $self->config_( 'secure_server' ) ) ); ! } if ( defined($$form{sport}) ) { if ( ( $$form{sport} >= 1 ) && ( $$form{sport} < 65536 ) ) { $self->config_( 'secure_port', $$form{sport} ); ! $templ->param( 'POP3_Chain_If_Port_Updated' => 1 ); ! $templ->param( 'POP3_Chain_Port_Updated' => sprintf( $$language{Security_SecurePortUpdate}, $self->config_( 'secure_port' ) ) ); } else { ! $templ->param( 'POP3_Chain_If_Port_Error' => 1 ); } } ! return; } ! $self->SUPER::validate_item( $name, $templ, $language, $form ); } --- 758,777 ---- if ( defined( $$form{server} ) ) { $self->config_( 'secure_server', $$form{server} ); ! $status_message .= sprintf( $$language{Security_SecureServerUpdate}, $self->config_( 'secure_server' ) ); ! } if ( defined($$form{sport}) ) { if ( ( $$form{sport} >= 1 ) && ( $$form{sport} < 65536 ) ) { $self->config_( 'secure_port', $$form{sport} ); ! $status_message .= sprintf( $$language{Security_SecurePortUpdate}, $self->config_( 'secure_port' ) ); } else { ! $error_message .= $$language{Security_Error1}; } } ! return( $status_message, $error_message ); } ! return $self->SUPER::validate_item( $name, $templ, $language, $form ); } Index: Proxy.pm =================================================================== RCS file: /cvsroot/popfile/engine/Proxy/Proxy.pm,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** Proxy.pm 4 Jan 2005 22:50:57 -0000 1.56 --- Proxy.pm 20 Feb 2005 10:06:01 -0000 1.57 *************** *** 223,227 **** $self->{api_session__} = $self->classifier_()->get_session_key( 'admin', '' ); ! } # Check that this is a connection from the local machine, --- 223,227 ---- $self->{api_session__} = $self->classifier_()->get_session_key( 'admin', '' ); ! } # Check that this is a connection from the local machine, *************** *** 256,260 **** } } ! } else { pipe my $reader, my $writer; --- 256,260 ---- } } ! } else { pipe my $reader, my $writer; *************** *** 340,346 **** } ! if ( $line =~ $regexp ) { last; ! } } } --- 340,346 ---- } ! if ( $line =~ $regexp ) { last; ! } } } *************** *** 458,462 **** if ( $response =~ /$self->{good_response_}/ ) { return 0; ! } else { return 1; } --- 458,462 ---- if ( $response =~ /$self->{good_response_}/ ) { return 0; ! } else { return 1; } *************** *** 506,510 **** PeerAddr => $hostname, PeerPort => $port ); # PROFILE BLOCK STOP ! } else { $mail = IO::Socket::INET->new( # PROFILE BLOCK START Proto => "tcp", --- 506,510 ---- PeerAddr => $hostname, PeerPort => $port ); # PROFILE BLOCK STOP ! } else { $mail = IO::Socket::INET->new( # PROFILE BLOCK START Proto => "tcp", *************** *** 525,529 **** if ( !$ssl ) { binmode( $mail ); ! } # Wait 10 seconds for a response from the remote server and if --- 525,529 ---- if ( !$ssl ) { binmode( $mail ); ! } # Wait 10 seconds for a response from the remote server and if *************** *** 604,608 **** # $form Hash containing all form items # - # Must return the HTML for this item # ---------------------------------------------------------------------------- sub validate_item --- 604,607 ---- *************** *** 612,622 **** my $me = $self->name(); if ( defined($$form{"$me" . "_socks_port"}) ) { if ( ( $$form{"$me" . "_socks_port"} >= 1 ) && ( $$form{"$me" . "_socks_port"} < 65536 ) ) { $self->config_( 'socks_port', $$form{"$me" . "_socks_port"} ); ! $templ->param( 'Socks_Widget_If_Port_Updated' => 1 ); ! $templ->param( 'Socks_Widget_Port_Updated' => sprintf( $$language{Configuration_SOCKSPortUpdate}, $self->config_( 'socks_port' ) ) ); } else { ! $templ->param( 'Socks_Widget_If_Port_Error' => 1 ); } } --- 611,622 ---- my $me = $self->name(); + my ($status, $error); + if ( defined($$form{"$me" . "_socks_port"}) ) { if ( ( $$form{"$me" . "_socks_port"} >= 1 ) && ( $$form{"$me" . "_socks_port"} < 65536 ) ) { $self->config_( 'socks_port', $$form{"$me" . "_socks_port"} ); ! $status = sprintf( $$language{Configuration_SOCKSPortUpdate}, $self->config_( 'socks_port' ) ); } else { ! $error = $$language{Configuration_Error8}; } } *************** *** 624,630 **** if ( defined($$form{"$me" . "_socks_server"}) ) { $self->config_( 'socks_server', $$form{"$me" . "_socks_server"} ); ! $templ->param( 'Socks_Widget_If_Server_Updated' => 1 ); ! $templ->param( 'Socks_Widget_Server_Updated' => sprintf( $$language{Configuration_SOCKSServerUpdate}, $self->config_( 'socks_server' ) ) ); } } --- 624,632 ---- if ( defined($$form{"$me" . "_socks_server"}) ) { $self->config_( 'socks_server', $$form{"$me" . "_socks_server"} ); ! $status .= "\n" if (defined $status); ! $status .= sprintf( $$language{Configuration_SOCKSServerUpdate}, $self->config_( 'socks_server' ) ); } + + return( $status, $error ); } |
From: Sam S. <ssc...@us...> - 2005-02-20 10:06:09
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24865/UI Modified Files: HTML.pm Log Message: Begin refactoring HTML UI "status" and "error" messages to use the new status_message__ and error_message__ functions. Progress: Admin page complete. POP3 widget(s) complete. validate_item now returns ($status, $error), both strings, indicating a status or error string to print to the UI. Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.340 retrieving revision 1.341 diff -C2 -d -r1.340 -r1.341 *** HTML.pm 16 Feb 2005 13:59:33 -0000 1.340 --- HTML.pm 20 Feb 2005 10:05:59 -0000 1.341 *************** *** 1097,1108 **** $templ->param( 'Security_If_Send_Stats' => ( $self->user_config_( $self->{sessions__}{$session}{user}, 'send_stats' ) == 1 ) ); my %security_templates; for my $name (keys %{$self->{dynamic_ui__}{security}}) { $security_templates{$name} = $self->load_template__( $self->{dynamic_ui__}{security}{$name}{template}, $page, $session ); ! $self->{dynamic_ui__}{security}{$name}{object}->validate_item( $name, $security_templates{$name}, \%{$self->{language__}}, \%{$self->{form_}} ); } --- 1097,1113 ---- $templ->param( 'Security_If_Send_Stats' => ( $self->user_config_( $self->{sessions__}{$session}{user}, 'send_stats' ) == 1 ) ); + my ($status_message, $error_message); my %security_templates; for my $name (keys %{$self->{dynamic_ui__}{security}}) { $security_templates{$name} = $self->load_template__( $self->{dynamic_ui__}{security}{$name}{template}, $page, $session ); ! ($status_message, $error_message) = $self->{dynamic_ui__}{security}{$name}{object}->validate_item( $name, $security_templates{$name}, \%{$self->{language__}}, \%{$self->{form_}} ); + + # Tell the user anything the dynamic UI was interested in sharing + $self->status_message__($templ,$status_message) if ( defined( $status_message )); + $self->error_message__($templ, $error_message) if ( defined( $error_message )); } *************** *** 1111,1118 **** for my $name (keys %{$self->{dynamic_ui__}{chain}}) { $chain_templates{$name} = $self->load_template__( $self->{dynamic_ui__}{chain}{$name}{template}, $page, $session ); ! $self->{dynamic_ui__}{chain}{$name}{object}->validate_item( $name, $chain_templates{$name}, \%{$self->{language__}}, \%{$self->{form_}} ); } --- 1116,1128 ---- for my $name (keys %{$self->{dynamic_ui__}{chain}}) { $chain_templates{$name} = $self->load_template__( $self->{dynamic_ui__}{chain}{$name}{template}, $page, $session ); ! ($status_message, $error_message) = $self->{dynamic_ui__}{chain}{$name}{object}->validate_item( $name, $chain_templates{$name}, \%{$self->{language__}}, \%{$self->{form_}} ); + + # Tell the user anything the dynamic UI was interested in sharing + $self->status_message__($templ,$status_message) if ( defined( $status_message )); + $self->error_message__($templ, $error_message) if ( defined( $error_message )); + } *************** *** 1148,1161 **** my %dynamic_templates; - for my $name (keys %{$self->{dynamic_ui__}{configuration}}) { $dynamic_templates{$name} = $self->load_template__( $self->{dynamic_ui__}{configuration}{$name}{template}, $page, $session ); ! $self->{dynamic_ui__}{configuration}{$name}{object}->validate_item( $name, $dynamic_templates{$name}, \%{$self->{language__}}, \%{$self->{form_}} ); } --- 1158,1174 ---- my %dynamic_templates; for my $name (keys %{$self->{dynamic_ui__}{configuration}}) { $dynamic_templates{$name} = $self->load_template__( $self->{dynamic_ui__}{configuration}{$name}{template}, $page, $session ); ! ($status_message, $error_message) = $self->{dynamic_ui__}{configuration}{$name}{object}->validate_item( $name, $dynamic_templates{$name}, \%{$self->{language__}}, \%{$self->{form_}} ); + + # Tell the user anything the dynamic UI was interested in sharing + $self->status_message__($templ,$status_message) if ( defined( $status_message )); + $self->error_message__($templ, $error_message) if ( defined( $error_message )); } *************** *** 1165,1169 **** $self->config_( 'port', $self->{form_}{ui_port} ); } else { ! $templ->param( 'Configuration_If_UI_Port_Error' => 1 ); delete $self->{form_}{ui_port}; } --- 1178,1182 ---- $self->config_( 'port', $self->{form_}{ui_port} ); } else { ! $self->error_message__( $templ, $self->{language__}{Configuration_Error2} ); delete $self->{form_}{ui_port}; } *************** *** 1171,1176 **** if ( defined($self->{form_}{ui_port} ) ) { ! $templ->param( 'Configuration_UI_Port_Updated' => ! sprintf( $self->{language__}{Configuration_UIUpdate}, $self->config_( 'port' ) ) ); } --- 1184,1188 ---- if ( defined($self->{form_}{ui_port} ) ) { ! $self->status_message__( $templ, sprintf( $self->{language__}{Configuration_UIUpdate}, $self->config_( 'port' ) ) ); } *************** *** 1181,1190 **** $self->global_config_( 'timeout', $self->{form_}{timeout} ); } else { ! $templ->param( 'Configuration_If_TCP_Timeout_Error' => 1 ); delete $self->{form_}{timeout}; } } ! $templ->param( 'Configuration_TCP_Timeout_Updated' => sprintf( $self->{language__}{Configuration_TCPTimeoutUpdate}, $self->global_config_( 'timeout' ) ) ) if ( defined($self->{form_}{timeout} ) ); $templ->param( 'Configuration_TCP_Timeout' => $self->global_config_( 'timeout' ) ); --- 1193,1202 ---- $self->global_config_( 'timeout', $self->{form_}{timeout} ); } else { ! $self->error_message__( $self->{language__}{Configuration_Error6} ); delete $self->{form_}{timeout}; } } ! $self->status_message__( sprintf( $self->{language__}{Configuration_TCPTimeoutUpdate}, $self->global_config_( 'timeout' ) ) ) if ( defined($self->{form_}{timeout} ) ); $templ->param( 'Configuration_TCP_Timeout' => $self->global_config_( 'timeout' ) ); *************** *** 1385,1389 **** my ( $val, $default ) = $self->classifier_()->get_user_parameter_from_id( $id, $param ); $row_data{Users_Value} = $val; ! $row_data{Users_If_Changed} = !$default; push ( @parameter_list, \%row_data ); } --- 1397,1401 ---- my ( $val, $default ) = $self->classifier_()->get_user_parameter_from_id( $id, $param ); $row_data{Users_Value} = $val; ! $row_data{Users_If_Changed} = !$default; push ( @parameter_list, \%row_data ); } *************** *** 3237,3240 **** --- 3249,3254 ---- my ( $self, $templ, $message ) = @_; + $message =~ s/\n/<br \/>/; + my $old = $templ->param( 'Header_Error' ) || ''; $templ->param( 'Header_If_Error' => 1 ); |
From: Brian S. <xue...@us...> - 2005-02-18 17:06:18
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23668 Modified Files: msgcapture.nsi Log Message: The new "verbose" option has been changed from --verbose=1 to --verbose and now that the database upgrade messages are generated more frequently the installer timeout has been reduced from 30 to 15 seconds. Index: msgcapture.nsi =================================================================== RCS file: /cvsroot/popfile/windows/msgcapture.nsi,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** msgcapture.nsi 22 Jan 2005 20:47:45 -0000 1.9 --- msgcapture.nsi 18 Feb 2005 17:06:08 -0000 1.10 *************** *** 94,98 **** ;-------------------------------------------------------------------------- ! !define C_VERSION "0.0.59" !define C_OUTFILE "msgcapture.exe" --- 94,98 ---- ;-------------------------------------------------------------------------- ! !define C_VERSION "0.0.60" !define C_OUTFILE "msgcapture.exe" *************** *** 100,104 **** ; The timeout used when the installer calls this utility to monitor the SQL database upgrade ! !define C_INSTALLER_TIMEOUT 30 ;-------------------------------------------------------------------------- --- 100,104 ---- ; The timeout used when the installer calls this utility to monitor the SQL database upgrade ! !define C_INSTALLER_TIMEOUT 15 ;-------------------------------------------------------------------------- *************** *** 374,378 **** !define L_TRAYICON $R5 ; system tray icon enabled ("i" ) or disabled ("") flag !define L_OPTIONS $R4 ; POPFile 0.23.0 no longer displays startup messages by default ! ; so we use the --verbose=1 option to turn them back on SetDetailsPrint textonly --- 374,378 ---- !define L_TRAYICON $R5 ; system tray icon enabled ("i" ) or disabled ("") flag !define L_OPTIONS $R4 ; POPFile 0.23.0 no longer displays startup messages by default ! ; so we use the --verbose option to turn them back on SetDetailsPrint textonly *************** *** 438,442 **** StrCpy ${L_OPTIONS} "" IfFileExists "${L_PFI_ROOT}\POPFile\Database.pm" 0 look_for_exe ! StrCpy ${L_OPTIONS} "--verbose=1" look_for_exe: --- 438,442 ---- StrCpy ${L_OPTIONS} "" IfFileExists "${L_PFI_ROOT}\POPFile\Database.pm" 0 look_for_exe ! StrCpy ${L_OPTIONS} "--verbose" look_for_exe: |
From: Brian S. <xue...@us...> - 2005-02-18 17:01:24
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21419 Modified Files: adduser.nsi Log Message: The new "verbose" option has been changed from --verbose=1 to --verbose Index: adduser.nsi =================================================================== RCS file: /cvsroot/popfile/windows/adduser.nsi,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** adduser.nsi 16 Feb 2005 01:04:58 -0000 1.71 --- adduser.nsi 18 Feb 2005 17:01:11 -0000 1.72 *************** *** 181,185 **** Name "POPFile User" ! !define C_PFI_VERSION "0.2.67" ; Mention the wizard's version number in the titles of the installer & uninstaller windows --- 181,185 ---- Name "POPFile User" ! !define C_PFI_VERSION "0.2.68" ; Mention the wizard's version number in the titles of the installer & uninstaller windows *************** *** 1751,1755 **** FileWrite ${L_FILEHANDLE} "REM Debug command: Start POPFile in foreground using 'popfile.pl'${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" ! FileWrite ${L_FILEHANDLE} "$\"%POPFILE_ROOT%\perl.exe$\" $\"%POPFILE_ROOT%\popfile.pl$\" --verbose=1${MB_NL}" FileWrite ${L_FILEHANDLE} "goto exit${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" --- 1751,1755 ---- FileWrite ${L_FILEHANDLE} "REM Debug command: Start POPFile in foreground using 'popfile.pl'${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" ! FileWrite ${L_FILEHANDLE} "$\"%POPFILE_ROOT%\perl.exe$\" $\"%POPFILE_ROOT%\popfile.pl$\" --verbose${MB_NL}" FileWrite ${L_FILEHANDLE} "goto exit${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" *************** *** 5287,5291 **** SetOutPath $G_ROOTDIR ClearErrors ! Exec '"$G_ROOTDIR\popfile.exe" --verbose=1' IfErrors 0 startup_ok StrCmp ${L_CONSOLE} "f" error_msg --- 5287,5291 ---- SetOutPath $G_ROOTDIR ClearErrors ! Exec '"$G_ROOTDIR\popfile.exe" --verbose' IfErrors 0 startup_ok StrCmp ${L_CONSOLE} "f" error_msg |
From: Sam S. <ssc...@us...> - 2005-02-18 12:16:59
|
Update of /cvsroot/popfile/engine/POPFile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2707/POPFile Modified Files: Loader.pm Log Message: Allow unrecognized command-line options (anything other than --verbose) to pass through to POPFile::Configuration. Make "verbose" operate as a boolean command-line (no value needs to be specified) eg: --verbose or --noverbose. Index: Loader.pm =================================================================== RCS file: /cvsroot/popfile/engine/POPFile/Loader.pm,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** Loader.pm 21 Jan 2005 20:40:37 -0000 1.33 --- Loader.pm 18 Feb 2005 12:16:44 -0000 1.34 *************** *** 34,38 **** #---------------------------------------------------------------------------- ! use Getopt::Long; #---------------------------------------------------------------------------- --- 34,38 ---- #---------------------------------------------------------------------------- ! use Getopt::Long qw(:config pass_through); #---------------------------------------------------------------------------- *************** *** 167,171 **** # Parse just the --verbose command-line option ! GetOptions( "verbose=n" => \$self->{debug__} ); } --- 167,172 ---- # Parse just the --verbose command-line option ! GetOptions( "verbose!" => \$self->{debug__}, ! "quiet" => sub{ $self->{debug__} = 0 } ); } |
From: Brian S. <xue...@us...> - 2005-02-17 16:18:38
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19655 Modified Files: installer.nsi Log Message: Avoid an unnecessary compiler warning when /D_NO_KAKASI is supplied on the makensis command-line. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.253 retrieving revision 1.254 diff -C2 -d -r1.253 -r1.254 *** installer.nsi 17 Feb 2005 02:44:35 -0000 1.253 --- installer.nsi 17 Feb 2005 16:18:27 -0000 1.254 *************** *** 2664,2668 **** !insertmacro UnselectSection ${SecSkins} !insertmacro UnselectSection ${SecLangs} ! !insertmacro UnselectSection ${SecKakasi} !insertmacro UnselectSection ${SecNNTP} !insertmacro UnselectSection ${SecSMTP} --- 2664,2670 ---- !insertmacro UnselectSection ${SecSkins} !insertmacro UnselectSection ${SecLangs} ! !ifndef NO_KAKASI ! !insertmacro UnselectSection ${SecKakasi} ! !endif !insertmacro UnselectSection ${SecNNTP} !insertmacro UnselectSection ${SecSMTP} |
From: Joseph C. <tex...@us...> - 2005-02-17 09:02:32
|
Update of /cvsroot/popfile/engine/skins/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13222/skins/windows Modified Files: style.css Log Message: Update with new classes. Index: style.css =================================================================== RCS file: /cvsroot/popfile/engine/skins/windows/style.css,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** style.css 7 Feb 2005 08:05:52 -0000 1.6 --- style.css 17 Feb 2005 09:02:22 -0000 1.7 *************** *** 1,382 **** ! /* ! Windows skin emulates the look and feel of the Windows GUI without loading any ! graphics. Almost all the colors are system colors so the skin fits right in ! with your color scheme. It looks best by far in Mozilla 1.3+ on any OS. IE 6 ! is ok but doesn't show the full effect, IE 5 is ugly but usable. Opera 7.10 ! and KDE Konqueror 3.04 are pretty good. Konqueror 2, and Mac OS9 IE 5 are not ! bad. Its does well on OS X's Safari 1.0 beta, Opera, and IE 5. It seems on ! most Mac browsers the "title bar" is not working correctly due to the way ! they handle system colors. ! ! Original design by Joseph Connors (TexasFett) <wi...@te...>, ! but wouldn't look nearly as good without Dan Martin (Kraelen). Thanks Dan. ! ! CSS2 sytle comments are below the line they apply to. CSS1 style comments are ! hacks to make the skin look better on IE and Konqueror since they ignore CSS1 ! commenting. But that means its not fully valid CSS2. ! ! 03-29-03: Last Major Update ! 04-19-03: Fix menu visited color on IE 6 - version accepted into POPFile 0.19 ! 05-03-03: Center footer better and add "icon" in Mozilla, maybe Opera head fix ! 05-05-03: Changed a lot of head stuff, got rid of absolute positioning ! 05-21-03: Did what I could to fix the changes 0.19 RC3 made to the footer ! 08-06-04: Add support for some new 0.22 classes and some code improvements ! */ ! ! body { ! background-color: Background; ! font: caption; ! /* set the system fonts for everything. */ ! margin: 1%; ! margin-bottom: 1em; ! } ! ! .shell { ! border-style: outset; ! border-color: ActiveBorder; ! border-width: 2px; ! background-color: ThreeDFace; ! width: 100%; ! padding: 0; ! } ! ! .shellTop { ! width: 100%; ! padding: 0; ! margin: 0; ! border: 0; ! border-collapse: collapse; ! } ! ! .shellLeft, .shellRight { ! display: none; ! } ! ! .shellTopRow, .shellTopLeft, .shellTopCenter, .shellTopRight { ! display: none; ! } ! ! .shellBottomRow, .shellBottomLeft, .shellBottomRight { ! display: none; ! } ! ! .naked { ! color: ButtonText; ! background-color: transparent; ! font-weight: normal; ! } ! ! td.naked { ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! a:link { ! color: darkblue; ! text-decoration: none; ! } ! ! a:visited { ! color: darkblue; ! text-decoration: none; ! } ! ! A:link:hover, A:visited:hover { ! text-decoration: underline; ! } ! ! submit { ! color: ButtonText; ! background-color: ThreeDFace; ! } ! ! table.head { ! width: 100%; ! color: ButtonText; ! background-color: ActiveCaption; ! border: 2px outset ActiveBorder; ! margin: 0; ! } ! ! td.settingsPanel { ! border: 2px groove ActiveBorder; ! padding: 5px; ! } ! ! .head { ! font-weight: bold; ! color: CaptionText; ! margin: 0; ! } ! ! .head a { ! text-decoration: none; ! color: ActiveCaption; ! // color: CaptionText; ! /* hack that fixes head on IE and Konq */ ! vertical-align: middle; ! } ! ! .head a:after { ! /* Close button in Mozilla */ ! content:" X "; ! font-weight: bold; ! border: 1px outset ActiveBorder; ! color: ButtonText; ! background-color: ButtonFace; ! } ! ! td.head:before { ! /* POPFile "icon" for Mozilla */ ! content:"@ "; ! font-weight: bold; ! color: red; ! background-color: transparent; ! } ! ! .head a:hover { ! color: red; ! text-decoration: none; ! } ! ! .menu { ! padding: 0; ! margin: 0; ! } ! ! table.menu { ! padding-top: 5px; ! } ! ! .menu A, .menu A:hover { ! color: ButtonText; ! text-decoration: none; ! font-weight: normal; ! } ! ! .menuSelected { ! padding: 0; ! } ! ! .menuSelected a { ! Color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 6px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! } ! ! .menuStandard { ! padding: 0; ! padding-top: 6px; ! padding-bottom: 1px; ! } ! ! .menuStandard a { ! color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 1px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! } ! ! .menuSpacer { ! display: none; ! } ! ! .menuIndent { ! display: none; ! } ! ! .menuStandard a:hover, .menuSelected a:hover { ! /* required for Konqueror to not show default hover color */ ! text-decoration: none; ! color: ButtonText; ! } ! ! .menuStandard a:visited, .menuSelected a:visited { ! /* required for IE 6 to leave the visited menu text black */ ! text-decoration: none; ! color: ButtonText; ! } ! ! h2 { ! font-weight: bold; ! font-size: 1.2em; ! } ! ! tr.rowEven { ! background-color: transparent; ! /* If you would like more color try lightblue. */ ! } ! ! tr.rowOdd { ! background-color: lightgrey; ! /* Try AppWorkspace if you would like a system color along with transparent */ ! } ! ! tr.rowHighlighted { ! background-color: InfoBackground; ! } ! ! tr.rowOdd:hover, tr.rowEven:hover { ! background-color: InfoBackground; ! } ! ! .footer { ! color: InfoText; ! border: 1px solid black; ! background-color: InfoBackground; ! font-weight: normal; ! margin: auto; ! /* this gives actual table centering in some browsers */ ! margin-top: 1em; ! text-align: center; ! /* this works in IE 6 */ ! } ! ! td.footerBody { ! text-align: center; ! padding-top: 2px; ! padding-bottom: 2px; ! } ! ! table.footer br { ! display: none; ! } ! ! .bottomLink { ! margin: 1em; ! } ! ! .bottomLink img { ! display: none; ! } ! ! td.stabColor01 { ! border: 1px outset ActiveBorder; ! } ! ! td.historyNavigatorTop { ! text-align: right; ! padding-right: 0.5em; ! } ! ! td.historyNavigatorBottom { ! text-align: right; ! padding-right: 0.5em; ! padding-bottom: 1em; ! } ! ! .historyWidgetsTop { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .historyTable { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .openMessageTable, .lookupResultsTable { ! border-width: 2px; ! border-style: inset; ! } ! ! .openMessageCloser { ! text-align: right; ! font-size: larger; ! font-weight: bold; ! } ! ! .openMessageBody { ! font-size: 1em; ! text-align: left; ! } ! ! div.error01 { ! background-color: transparent; ! color: red; ! font-size: larger; ! } ! ! div.error02 { ! background-color: transparent; ! color: red; ! } ! ! div.securityExplanation { ! margin-left: 0.8em; ! margin-right: 0.8em; ! margin-bottom: 0.8em; ! margin-top: 0; ! font-size: 95%; ! } ! ! div.helpMessage { ! background-color: InfoBackground; ! border: 1px solid black; ! padding: 0.4em; ! margin: 0.3em; ! padding-bottom: 0; ! } ! ! span.graphFont { ! font-size: 95%; ! } ! ! tr.rowBoundary { ! background-color: InfoBackground; ! } ! ! table.settingsTable + br { ! display: none; ! } ! ! .configBar { ! border: 2px groove ActiveBorder; ! background-color: transparent; ! } ! ! .configBarOption { ! border: 2px groove ActiveBorder; ! margin: 0.3em; ! padding: 5px; ! white-space: nowrap; ! display: inline; ! float: left; ! } ! ! .toggleConfigBar { ! float: right; ! border: 0; ! } ! ! /* - uncomment this section if you want On text to be bold ! .bucketsWidgetStateOn, .configWidgetStateOn, .securityWidgetStateOn { ! font-weight: bold; ! } ! */ ! ! /* - uncomment this section for small version and adjust the percent as needed ! * { ! font-size: 98%; ! } ! */ --- 1,429 ---- ! /* ! Windows skin emulates the look and feel of the Windows GUI without loading any ! graphics. Almost all the colors are system colors so the skin fits right in ! with your color scheme. It looks best by far in Mozilla 1.3+ on any OS. IE 6 ! is ok but doesn't show the full effect, IE 5 is ugly but usable. Opera 7.10 ! and KDE Konqueror 3.04 are pretty good. Konqueror 2, and Mac OS9 IE 5 are not ! bad. Its does well on OS X's Safari 1.0 beta, Opera, and IE 5. It seems on ! most Mac browsers the "title bar" is not working correctly due to the way ! they handle system colors. ! ! Original design by Joseph Connors (TexasFett), but wouldn't look nearly as ! good without Dan Martin (Kraelen). Thanks Dan. ! ! CSS2 sytle comments are below the line they apply to. CSS1 style comments are ! hacks to make the skin look better on IE and Konqueror since they ignore CSS1 ! commenting. But that means its not fully valid CSS2. ! */ ! ! body { ! background-color: Background; ! font: caption; ! /* set the system fonts for everything. */ ! margin: 1%; ! margin-bottom: 1em; ! } ! ! .shell { ! border-style: outset; ! border-color: ActiveBorder; ! border-width: 2px; ! background-color: ThreeDFace; ! width: 100%; ! padding: 0; ! } ! ! .shellTop { ! width: 100%; ! padding: 0; ! margin: 0; ! border: 0; ! border-collapse: collapse; ! } ! ! .shellLeft, .shellRight { ! display: none; ! } ! ! .shellTopRow, .shellTopLeft, .shellTopCenter, .shellTopRight { ! display: none; ! } ! ! .shellBottomRow, .shellBottomLeft, .shellBottomRight { ! display: none; ! } ! ! .naked { ! color: ButtonText; ! background-color: transparent; ! font-weight: normal; ! } ! ! td.naked { ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! a:link { ! color: darkblue; ! text-decoration: none; ! } ! ! a:visited { ! color: darkblue; ! text-decoration: none; ! } ! ! A:link:hover, A:visited:hover { ! text-decoration: underline; ! } ! ! submit { ! color: ButtonText; ! background-color: ThreeDFace; ! } ! ! table.head { ! width: 100%; ! color: ButtonText; ! background-color: ActiveCaption; ! border: 2px outset ActiveBorder; ! margin: 0; ! } ! ! td.settingsPanel { ! border: 2px groove ActiveBorder; ! padding: 5px; ! } ! ! .head { ! font-weight: bold; ! color: CaptionText; ! margin: 0; ! } ! ! .head a { ! text-decoration: none; ! color: ActiveCaption; ! // color: CaptionText; ! /* hack that fixes head on IE and Konq */ ! vertical-align: middle; ! } ! ! .head a:after { ! /* Close button in Mozilla */ ! content:" X "; ! font-weight: bold; ! border: 1px outset ActiveBorder; ! color: ButtonText; ! background-color: ButtonFace; ! } ! ! td.head:before { ! /* POPFile "icon" for Mozilla */ ! content:"@ "; ! font-weight: bold; ! color: red; ! background-color: transparent; ! } ! ! .head a:hover { ! color: red; ! text-decoration: none; ! } ! ! .menu { ! padding: 0; ! margin: 0; ! } ! ! table.menu { ! padding-top: 5px; ! } ! ! .menu A, .menu A:hover { ! color: ButtonText; ! text-decoration: none; ! font-weight: normal; ! } ! ! .menuSelected { ! padding: 0; ! } ! ! .menuSelected a { ! Color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 6px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! } ! ! .menuStandard { ! padding: 0; ! padding-top: 6px; ! padding-bottom: 1px; ! } ! ! .menuStandard a { ! color: ButtonText; ! background-color: ThreeDFace; ! border-style: outset outset none; ! border-color: ActiveBorder; ! border-width: 2px; ! padding-top: 1px; ! padding-left: 5px; ! padding-right: 5px; ! padding-bottom: 1px; ! text-decoration: none; ! -moz-border-radius-topleft: 5px; ! -moz-border-radius-topright: 5px; ! } ! ! .menuSpacer { ! display: none; ! } ! ! .menuIndent { ! display: none; ! } ! ! .menuStandard a:hover, .menuSelected a:hover { ! /* required for Konqueror to not show default hover color */ ! text-decoration: none; ! color: ButtonText; ! } ! ! .menuStandard a:visited, .menuSelected a:visited { ! /* required for IE 6 to leave the visited menu text black */ ! text-decoration: none; ! color: ButtonText; ! } ! ! h2 { ! font-weight: bold; ! font-size: 1.2em; ! } ! ! th.historyLabel { ! text-align: left; ! } ! ! tr.rowEven { ! background-color: transparent; ! /* If you would like more color try lightblue. */ ! } ! ! tr.rowOdd { ! background-color: lightgrey; ! /* Try AppWorkspace if you would like a system color along with transparent */ ! } ! ! tr.rowHighlighted { ! background-color: InfoBackground; ! } ! ! tr.rowOdd:hover, tr.rowEven:hover { ! background-color: InfoBackground; ! } ! ! .footer { ! color: InfoText; ! border: 1px solid black; ! background-color: InfoBackground; ! font-weight: normal; ! margin: auto; ! /* this gives actual table centering in some browsers */ ! margin-top: 1em; ! text-align: center; ! /* this works in IE 6 */ ! } ! ! td.footerBody { ! text-align: center; ! padding-top: 2px; ! padding-bottom: 2px; ! } ! ! table.footer br { ! display: none; ! } ! ! .bottomLink { ! margin: 1em; ! } ! ! .bottomLink img { ! display: none; ! } ! ! td.stabColor01 { ! border: 1px outset ActiveBorder; ! } ! ! td.historyNavigatorTop { ! text-align: right; ! padding-right: 0.5em; ! } ! ! td.historyNavigatorBottom { ! text-align: right; ! padding-right: 0.5em; ! padding-bottom: 1em; ! } ! ! .historyWidgetsTop { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .historyTable { ! border-top: none; ! border-bottom: none; ! width: 100%; ! } ! ! .openMessageTable, .lookupResultsTable { ! border-width: 2px; ! border-style: inset; ! } ! ! .openMessageCloser { ! text-align: right; ! font-size: larger; ! font-weight: bold; ! } ! ! .openMessageBody { ! font-size: 1em; ! text-align: left; ! } ! ! div.error01 { ! background-color: transparent; ! color: red; ! font-size: larger; ! } ! ! div.error02 { ! background-color: transparent; ! color: red; ! } ! ! div.securityExplanation { ! margin-left: 0.8em; ! margin-right: 0.8em; ! margin-bottom: 0.8em; ! margin-top: 0; ! font-size: 95%; ! } ! ! div.helpMessage { ! background-color: InfoBackground; ! border: 1px solid black; ! padding: 0.4em; ! margin: 0.3em; ! padding-bottom: 0; ! } ! ! .shellStatusMessage { ! color: InfoText; ! border: 1px solid black; ! background-color: InfoBackground; ! } ! ! .shellErrorMessage { ! color: red; ! border: 1px solid black; ! background-color: InfoBackground; ! } ! ! span.graphFont { ! font-size: 95%; ! } ! ! tr.rowBoundary { ! background-color: InfoBackground; ! } ! ! table.settingsTable + br { ! display: none; ! } ! ! /*********************************************************/ ! /* Config Bars */ ! ! .configBar { ! border: 2px groove ActiveBorder; ! background-color: transparent; ! } ! ! .configBar form { ! margin: 0; ! } ! ! .configBarOption { ! border: 2px groove ActiveBorder; ! margin: 0.3em; ! padding: 0.3em; ! display: inline; ! float: left; ! min-height: 3em; ! } ! ! .toggleConfigBar { ! float: right; ! border: 0; ! } ! ! .checkLabel { ! white-space: nowrap; ! } ! ! .configBar input.submit { ! margin-top: 4px; ! } ! ! .configBar label.configurationLabel { ! display: block; ! } ! ! ! /*********************************************************/ ! /* History Column Controls */ ! ! .columnControls { ! white-space: nowrap; ! vertical-align: top; ! width: 10px; ! } ! ! .columnRemove, .columnMove { ! display: block; ! width: 100%; ! height: 1em; ! } ! ! /*********************************************************/ ! /* Customizations */ ! ! /* - uncomment this section if you want On text to be bold ! .bucketsWidgetStateOn, .configWidgetStateOn, .securityWidgetStateOn { ! font-weight: bold; ! } ! */ ! ! /* - uncomment this section for small version and adjust the percent as needed ! * { ! font-size: 98%; ! } ! */ |
From: Joseph C. <tex...@us...> - 2005-02-17 08:51:37
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10576/skins/default Modified Files: password-page.thtml Log Message: A bit of Javascript that will make the login page a bit less annoying. The user name text box is automatically selected when the page loads. In Mozilla it also works on page reload, but not in IE or Opera. Index: password-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/password-page.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** password-page.thtml 15 Feb 2005 04:23:54 -0000 1.3 --- password-page.thtml 17 Feb 2005 08:51:28 -0000 1.4 *************** *** 21,24 **** --- 21,30 ---- </form> + <script language="JavaScript"> + <!-- + document.getElementById("theUsername").focus(); + //--> + </script> + <TMPL_INCLUDE NAME="common-after-configuration.thtml"> <TMPL_INCLUDE NAME="common-bottom.thtml"> |
From: Brian S. <xue...@us...> - 2005-02-17 02:44:44
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2980 Modified Files: installer.nsi Log Message: Install (and uninstall) the extra Perl modules required to support the encrypted cookies introduced for the 0.23.0 release. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.252 retrieving revision 1.253 diff -C2 -d -r1.252 -r1.253 *** installer.nsi 10 Feb 2005 23:03:41 -0000 1.252 --- installer.nsi 17 Feb 2005 02:44:35 -0000 1.253 *************** *** 1287,1290 **** --- 1287,1345 ---- File "${C_PERL_DIR}\site\lib\auto\DBI\DBI.lib" + ; Extra Perl modules required for the encrypted cookies introduced in POPFile 0.23.0 + + SetOutPath "$G_MPLIBDIR" + File "${C_PERL_DIR}\lib\bytes.pm" + File "${C_PERL_DIR}\lib\subs.pm" + + SetOutPath "$G_MPLIBDIR\Class" + File "${C_PERL_DIR}\site\lib\Class\Loader.pm" + + SetOutPath "$G_MPLIBDIR\Crypt" + File "${C_PERL_DIR}\site\lib\Crypt\Blowfish.pm" + File "${C_PERL_DIR}\site\lib\Crypt\CBC.pm" + File "${C_PERL_DIR}\site\lib\Crypt\Random.pm" + + SetOutPath "$G_MPLIBDIR\Crypt\Random" + File "${C_PERL_DIR}\site\lib\Crypt\Random\Generator.pm" + + SetOutPath "$G_MPLIBDIR\Crypt\Random\Provider" + File "${C_PERL_DIR}\site\lib\Crypt\Random\Provider\*.pm" + + SetOutPath "$G_MPLIBDIR\Data" + File "${C_PERL_DIR}\lib\Data\Dumper.pm" + + SetOutPath "$G_MPLIBDIR\Digest" + File "${C_PERL_DIR}\site\lib\Digest\SHA.pm" + + SetOutPath "$G_MPLIBDIR\Math" + File "${C_PERL_DIR}\site\lib\Math\Pari.pm" + + SetOutPath "$G_MPLIBDIR\auto\Crypt\Blowfish" + File "${C_PERL_DIR}\site\lib\auto\Crypt\Blowfish\Blowfish.bs" + File "${C_PERL_DIR}\site\lib\auto\Crypt\Blowfish\Blowfish.dll" + File "${C_PERL_DIR}\site\lib\auto\Crypt\Blowfish\Blowfish.exp" + File "${C_PERL_DIR}\site\lib\auto\Crypt\Blowfish\Blowfish.lib" + + SetOutPath "$G_MPLIBDIR\auto\Data\Dumper" + File "${C_PERL_DIR}\lib\auto\Data\Dumper\Dumper.bs" + File "${C_PERL_DIR}\lib\auto\Data\Dumper\Dumper.dll" + File "${C_PERL_DIR}\lib\auto\Data\Dumper\Dumper.exp" + File "${C_PERL_DIR}\lib\auto\Data\Dumper\Dumper.lib" + + SetOutPath "$G_MPLIBDIR\auto\Digest\SHA" + File "${C_PERL_DIR}\site\lib\auto\Digest\SHA\SHA.bs" + File "${C_PERL_DIR}\site\lib\auto\Digest\SHA\SHA.dll" + File "${C_PERL_DIR}\site\lib\auto\Digest\SHA\SHA.exp" + File "${C_PERL_DIR}\site\lib\auto\Digest\SHA\SHA.lib" + + SetOutPath "$G_MPLIBDIR\auto\Math\Pari" + File "${C_PERL_DIR}\site\lib\auto\Math\Pari\Pari.bs" + File "${C_PERL_DIR}\site\lib\auto\Math\Pari\Pari.dll" + File "${C_PERL_DIR}\site\lib\auto\Math\Pari\Pari.exp" + File "${C_PERL_DIR}\site\lib\auto\Math\Pari\Pari.lib" + + ;----------------------------------------------------------------------- + ; Create the uninstall program BEFORE creating the shortcut to it ; (this ensures that the correct "uninstall" icon appears in the START MENU shortcut) *************** *** 3572,3575 **** --- 3627,3633 ---- RMDir /r "$G_MPLIBDIR\auto" RMDir /r "$G_MPLIBDIR\Carp" + RMDir /r "$G_MPLIBDIR\Class" + RMDir /r "$G_MPLIBDIR\Crypt" + RMDir /r "$G_MPLIBDIR\Data" RMDir /r "$G_MPLIBDIR\Date" RMDir /r "$G_MPLIBDIR\DBD" *************** *** 3584,3587 **** --- 3642,3646 ---- RMDir /r "$G_MPLIBDIR\HTML" RMDir /r "$G_MPLIBDIR\IO" + RMDir /r "$G_MPLIBDIR\Math" RMDir /r "$G_MPLIBDIR\MIME" RMDir /r "$G_MPLIBDIR\String" |
From: Joseph C. <tex...@us...> - 2005-02-16 23:16:04
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16092/skins/default Modified Files: history-page.thtml style.css Log Message: Move inline styles on the column controls to style sheet for default skin. Index: history-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/history-page.thtml,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** history-page.thtml 15 Feb 2005 04:23:54 -0000 1.55 --- history-page.thtml 16 Feb 2005 23:15:55 -0000 1.56 *************** *** 69,79 **** <TMPL_LOOP NAME="History_Loop_Headers"> ! <th class="historyLabel" scope="col"> <table width="100%" cellspacing="0"> <tr> ! <td width="10px" align="left" style="white-space:nowrap; vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnRemove" href="/history?removecolumn=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_RemoveColumn">" src="skins/x.gif" border="0" alt=""></a> </td> ! <th style="text-align: left;"> <a href="/history?<TMPL_VAR NAME="History_Fields">&setsort=<TMPL_VAR NAME="History_Sort"><TMPL_VAR NAME="History_Header">" title="<TMPL_VAR NAME="Localize_History_Click_To_Sort">"> --- 69,79 ---- <TMPL_LOOP NAME="History_Loop_Headers"> ! <th scope="col"> <table width="100%" cellspacing="0"> <tr> ! <td class="columnControls"> ! <a class="columnRemove" href="/history?removecolumn=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_RemoveColumn">" src="skins/x.gif" border="0" alt="x"></a> </td> ! <th class="historyLabel"> <a href="/history?<TMPL_VAR NAME="History_Fields">&setsort=<TMPL_VAR NAME="History_Sort"><TMPL_VAR NAME="History_Header">" title="<TMPL_VAR NAME="Localize_History_Click_To_Sort">"> *************** *** 105,115 **** <TMPL_IF NAME="History_If_MoveLeft"> ! <td width="10px" style="vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnMove" href="/history?moveleft=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveLeft">" src="skins/leftarrow.gif" border="0" alt=""></a> </td> </TMPL_IF> <TMPL_IF NAME="History_If_MoveRight"> ! <td width="10px" style="vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnMove" href="/history?moveright=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveRight">" src="skins/rightarrow.gif" border="0" alt=""></a> </td> </TMPL_IF> --- 105,115 ---- <TMPL_IF NAME="History_If_MoveLeft"> ! <td class="columnControls"> ! <a class="columnMove" href="/history?moveleft=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveLeft">" src="skins/leftarrow.gif" border="0" alt="<"></a> </td> </TMPL_IF> <TMPL_IF NAME="History_If_MoveRight"> ! <td class="columnControls"> ! <a class="columnMove" href="/history?moveright=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveRight">" src="skins/rightarrow.gif" border="0" alt=">"></a> </td> </TMPL_IF> *************** *** 122,126 **** </TMPL_LOOP> ! <th scope="col" align="center"> <input type="submit" class="submit reclassifyButton" name="change" value="<TMPL_VAR NAME="Localize_Reclassify">" /> </th> --- 122,126 ---- </TMPL_LOOP> ! <th scope="col" class="historyLabel"> <input type="submit" class="submit reclassifyButton" name="change" value="<TMPL_VAR NAME="Localize_Reclassify">" /> </th> *************** *** 239,243 **** <input type="submit" class="submit removeButton" name="clearall" value="<TMPL_VAR NAME="Localize_History_RemoveAll"> (<TMPL_VAR NAME="History_Count">)" /> </td> ! <td align="center"> <input type="submit" class="submit reclassifyButton" name="change" value="<TMPL_VAR NAME="Localize_Reclassify">" /> </td> --- 239,243 ---- <input type="submit" class="submit removeButton" name="clearall" value="<TMPL_VAR NAME="Localize_History_RemoveAll"> (<TMPL_VAR NAME="History_Count">)" /> </td> ! <td> <input type="submit" class="submit reclassifyButton" name="change" value="<TMPL_VAR NAME="Localize_Reclassify">" /> </td> Index: style.css =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/style.css,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** style.css 13 Feb 2005 02:16:35 -0000 1.14 --- style.css 16 Feb 2005 23:15:56 -0000 1.15 *************** *** 127,131 **** tr.rowBoundary { color: #000000; ! background-color: #AFAF7F; } --- 127,131 ---- tr.rowBoundary { color: #000000; ! background-color: #CCCC99; } *************** *** 134,141 **** } - tr.rowBoundary { - background-color: #CCCC99; - } - /*********************************************************/ /* Graphics */ --- 134,137 ---- *************** *** 173,176 **** --- 169,176 ---- } + th.historyLabel { + text-align: left; + } + .historyLabelSort { font-weight: bold; *************** *** 284,285 **** --- 284,300 ---- display: block; } + + /*********************************************************/ + /* History Column Controls */ + + .columnControls { + white-space:nowrap; + vertical-align: top; + width: 10px; + } + + .columnRemove, .columnMove { + display: block; + width:100%; + height: 1em; + } |
From: John Graham-C. <jgr...@us...> - 2005-02-16 13:59:46
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/skins/default Modified Files: common-middle.thtml Log Message: Implement logout for users, add the client IP into the cookie to prevent someone stealing a cookie, put the search/sort/filter/negate information in the session Index: common-middle.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/common-middle.thtml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** common-middle.thtml 15 Feb 2005 04:23:54 -0000 1.9 --- common-middle.thtml 16 Feb 2005 13:59:36 -0000 1.10 *************** *** 12,16 **** <tr> <td class="head"><TMPL_VAR NAME="Localize_Header_Title"></td> ! <td class="headShutdown" align="right" valign="bottom"><TMPL_IF NAME="Header_If_Password"><TMPL_ELSE><TMPL_IF NAME="Common_Middle_If_CanAdmin"><a class="shutdownLink" href="/shutdown"><TMPL_VAR NAME="Localize_Header_Shutdown"></a></TMPL_IF></TMPL_IF> </td> </tr> </table> --- 12,16 ---- <tr> <td class="head"><TMPL_VAR NAME="Localize_Header_Title"></td> ! <td class="headShutdown" align="right" valign="bottom"><TMPL_IF NAME="Header_If_Password"><TMPL_ELSE><a class="logoutLink" href="/logout"><TMPL_VAR NAME="Localize_Logout"></a> <TMPL_IF NAME="Common_Middle_If_CanAdmin"><a class="shutdownLink" href="/shutdown"><TMPL_VAR NAME="Localize_Header_Shutdown"></a></TMPL_IF></TMPL_IF> </td> </tr> </table> |
From: John Graham-C. <jgr...@us...> - 2005-02-16 13:59:45
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/languages Modified Files: English.msg Log Message: Implement logout for users, add the client IP into the cookie to prevent someone stealing a cookie, put the search/sort/filter/negate information in the session Index: English.msg =================================================================== RCS file: /cvsroot/popfile/engine/languages/English.msg,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** English.msg 15 Feb 2005 04:23:54 -0000 1.85 --- English.msg 16 Feb 2005 13:59:36 -0000 1.86 *************** *** 80,83 **** --- 80,84 ---- Go Go Edit Edit + Logout Logout # This is a regular expression pattern that is used to convert |
From: John Graham-C. <jgr...@us...> - 2005-02-16 13:59:45
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/UI Modified Files: HTML.pm Log Message: Implement logout for users, add the client IP into the cookie to prevent someone stealing a cookie, put the search/sort/filter/negate information in the session Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.339 retrieving revision 1.340 diff -C2 -d -r1.339 -r1.340 *** HTML.pm 15 Feb 2005 04:23:51 -0000 1.339 --- HTML.pm 16 Feb 2005 13:59:33 -0000 1.340 *************** *** 121,126 **** # maps an API session to the last time this entry was used. # ! # lastused When this cookie was last read or written ! # user The database user id $self->{sessions__} = (); --- 121,127 ---- # maps an API session to the last time this entry was used. # ! # lastused When this cookie was last read or written ! # user The database user id ! # search/sort/filter/negate History page options $self->{sessions__} = (); *************** *** 161,166 **** # Controls whether or not we die if a template variable is missing ! # when we try to set it. Setting it to 1 can be useful for debugging ! # purposes $self->config_( 'strict_templates', 0 ); --- 162,167 ---- # Controls whether or not we die if a template variable is missing ! # when we try to set it. Setting it to 1 can be useful for ! # debugging purposes $self->config_( 'strict_templates', 0 ); *************** *** 284,287 **** --- 285,289 ---- # # $cookie The decrypted cookie string + # $client The client from which we received the cookie # # Returns undef for a bad cookie, or bad session. *************** *** 290,297 **** sub handle_cookie__ { ! my ( $self, $cookie ) = @_; ! $cookie =~ /^([^ ]+) (\d+) ([^ ]+) ([^ ]+)$/; ! my ( $garbage, $timeset, $session, $checksum ) = ( $1, $2, $3, $4 ); if ( !defined( $checksum ) ) { --- 292,299 ---- sub handle_cookie__ { ! my ( $self, $cookie, $client ) = @_; ! $cookie =~ /^([^ ]+) (\d+) ([^ ]+) ([^ ]+) ([^ ]+)$/; ! my ( $garbage, $timeset, $session, $client_name, $checksum ) = ( $1, $2, $3, $4, $5 ); if ( !defined( $checksum ) ) { *************** *** 299,312 **** } ! $self->log_( 2, "Received cookie: [$cookie] [$garbage] [$timeset] [$session] [$checksum]" ); # First check that the checksum is valid. This will check the # cookie has not been tampered with and the decryption worked ! if ( md5_hex( "$garbage $timeset $session " ) ne $checksum ) { $self->log_( 0, "Invalid cookie received, checksum failed" ); return undef; } # Now see if this session has been recorded in the current # sessions, if so then return it, because we can assume that it is --- 301,335 ---- } ! $self->log_( 2, "Received cookie: [$cookie] [$garbage] [$timeset] [$session] [$client_name] [$checksum]" ); # First check that the checksum is valid. This will check the # cookie has not been tampered with and the decryption worked ! if ( md5_hex( "$garbage $timeset $session $client_name " ) ne $checksum ) { $self->log_( 0, "Invalid cookie received, checksum failed" ); return undef; } + # Check that the cookie came from the peer that we expect it from + # to prevent someone from being able to steal a cookie and reuse + # it + + my $peer = $client->peername; + my ($peer_port, $peer_addr) = sockaddr_in($peer); + my $peer_name = inet_ntoa($peer_addr); + + if ( $client_name ne $peer_name ) { + $self->log_( 0, "Rejecting cookie because of invalid client $client_name for $peer_name" ); + return undef; + } + + # Now see if this cookie is just old and should be rejected anyway + # (more than two weeks old) + + if ( $timeset < time - 2*7*24*60*60 ) { + $self->log_( 0, "Rejecting old cookie" ); + return undef; + } + # Now see if this session has been recorded in the current # sessions, if so then return it, because we can assume that it is *************** *** 318,321 **** --- 341,351 ---- } + # Let's see if the session key is the magic string LOGGED-OUT + # in which case there's no session + + if ( $session eq 'LOGGED-OUT' ) { + return undef; + } + # Otherwise check that the session ID is still valid in the API. *************** *** 325,328 **** --- 355,363 ---- $self->{sessions__}{$session}{lastused} = time; $self->{sessions__}{$session}{user} = $user; + $self->{sessions__}{$session}{sort} = ''; + $self->{sessions__}{$session}{filter} = ''; + $self->{sessions__}{$session}{search} = ''; + $self->{sessions__}{$session}{negate} = ''; + return $session; } else { *************** *** 335,346 **** # set_cookie__ # ! # $session Valid session key # ! # Returns a Set-Cookie: header from a session ke # #---------------------------------------------------------------------------- sub set_cookie__ { ! my ( $self, $session ) = @_; if ( !defined( $session ) ) { --- 370,382 ---- # set_cookie__ # ! # $session Valid session key ! # $client The client we are sending the cookie to # ! # Returns a Set-Cookie: header from a session # #---------------------------------------------------------------------------- sub set_cookie__ { ! my ( $self, $session, $client ) = @_; if ( !defined( $session ) ) { *************** *** 354,357 **** --- 390,394 ---- # Time this cookie is being set # Value of the $session variable + # The IP address of the client that set the cookie # MD5 checksum of the data (hex encoded) *************** *** 364,367 **** --- 401,408 ---- $cookie_string .= $session; $cookie_string .= ' '; + my $peer = $client->peername; + my ($peer_port, $peer_addr) = sockaddr_in($peer); + my $peer_name = inet_ntoa($peer_addr); + $cookie_string .= "$peer_name "; $cookie_string .= md5_hex( $cookie_string ); *************** *** 409,413 **** if ( $cookie ne '' ) { ! $session = $self->handle_cookie__( $cookie ); } --- 450,454 ---- if ( $cookie ne '' ) { ! $session = $self->handle_cookie__( $cookie, $client ); } *************** *** 447,451 **** # prevent caching ! if ( defined( $session ) && ( $url =~ /skins\/(([^\/]+)\/(([^\/]+\/)+)?)?([^\/]+)$/ ) ) { my $path = ( $1 || ''); my $path_skin = ( $2 || ''); --- 488,493 ---- # prevent caching ! if ( $url =~ /skins\/(([^\/]+)\/(([^\/]+\/)+)?)?([^\/]+)$/ ) { ! my $user = 1; my $path = ( $1 || ''); my $path_skin = ( $2 || ''); *************** *** 453,457 **** my $filename = ( $5 || '' ); ! my $config_skin = $self->user_config_( $self->{sessions__}{$session}{user}, 'skin' ); my %mime_extensions = qw( gif image/gif --- 495,503 ---- my $filename = ( $5 || '' ); ! if ( defined( $session ) ) { ! $user = $self->{sessions__}{$session}{user}; ! } ! ! my $config_skin = $self->user_config_( $user, 'skin' ); my %mime_extensions = qw( gif image/gif *************** *** 576,580 **** } ! if ( $url eq '/shutdown' ) { my $http_header = "HTTP/1.1 200 OK\r\n"; $http_header .= "Connection: close\r\n"; --- 622,633 ---- } ! if ( $url eq '/logout' ) { ! $self->http_redirect_( $client, '/', 'LOGGED-OUT' ); ! return 1; ! } ! ! if ( ( $url eq '/shutdown' ) && ! ( $self->user_global_config_( $self->{sessions__}{$session}{user}, ! 'can_admin' ) ) ) { my $http_header = "HTTP/1.1 200 OK\r\n"; $http_header .= "Connection: close\r\n"; *************** *** 582,586 **** $http_header .= "Expires: 0\r\n"; $http_header .= "Cache-Control: no-cache\r\n"; ! $http_header .= $self->set_cookie__( $session ); $http_header .= "Content-Type: text/html"; $http_header .= "; charset=$self->{language__}{LanguageCharset}\r\n"; --- 635,639 ---- $http_header .= "Expires: 0\r\n"; $http_header .= "Cache-Control: no-cache\r\n"; ! $http_header .= $self->set_cookie__( $session, $client ); $http_header .= "Content-Type: text/html"; $http_header .= "; charset=$self->{language__}{LanguageCharset}\r\n"; *************** *** 701,705 **** } - if ( $color =~ /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/ ) { my $bmp = '424d3a0000000000000036000000280000000100000001000000010018000000000004000000eb0a0000eb0a00000000000000000000' . "$3$2$1" . '00'; --- 754,757 ---- *************** *** 793,797 **** # session then clear the cookie ! $http_header .= $self->set_cookie__( $session ); $http_header .= "Content-Type: text/html"; $http_header .= "; charset=$self->{language__}{LanguageCharset}\r\n"; --- 845,849 ---- # session then clear the cookie ! $http_header .= $self->set_cookie__( $session, $client ); $http_header .= "Content-Type: text/html"; $http_header .= "; charset=$self->{language__}{LanguageCharset}\r\n"; *************** *** 1613,1617 **** foreach my $current_mtext (@mtexts) { ! # Skip mangnet definition if it consists only of white spaces if ( $current_mtext =~ /^[ \t]*$/ ) { --- 1665,1670 ---- foreach my $current_mtext (@mtexts) { ! # Skip magnet definition if it consists only of ! # white spaces if ( $current_mtext =~ /^[ \t]*$/ ) { *************** *** 2384,2393 **** if ( defined( $self->{form_}{change} ) ) { ! # Look for all entries in the form of the form ! # reclassify_X and see if they have values, those ! # that have values indicate a reclassification ! # Set up %messages to map a slot ID to the new ! # bucket my %messages; --- 2437,2445 ---- if ( defined( $self->{form_}{change} ) ) { ! # Look for all entries in the form of the form reclassify_X ! # and see if they have values, those that have values indicate ! # a reclassification ! # Set up %messages to map a slot ID to the new bucket my %messages; *************** *** 2423,2429 **** my( $self, $session ) = @_; ! # Look for all entries in the form of the form ! # undo_X and see if they have values, those ! # that have values indicate a reclassification foreach my $key (keys %{$self->{form_}}) { --- 2475,2481 ---- my( $self, $session ) = @_; ! # Look for all entries in the form of the form undo_X and see if ! # they have values, those that have values indicate a ! # reclassification foreach my $key (keys %{$self->{form_}}) { *************** *** 2475,2481 **** # values later on in the function ! $self->{form_}{sort} = $self->{old_sort__} || '-inserted' if ( !defined( $self->{form_}{sort} ) ); ! $self->{form_}{search} = (!defined($self->{form_}{setsearch})?$self->{old_search__}:'') || '' if ( !defined( $self->{form_}{search} ) ); ! $self->{form_}{filter} = (!defined($self->{form_}{setfilter})?$self->{old_filter__}:'') || '' if ( !defined( $self->{form_}{filter} ) ); # If the user hits the Reset button on a search then we need to --- 2527,2533 ---- # values later on in the function ! $self->{form_}{sort} = $self->{sessions__}{$session}{sort} || '-inserted' if ( !defined( $self->{form_}{sort} ) ); ! $self->{form_}{search} = (!defined($self->{form_}{setsearch})?$self->{sessions__}{$session}{search}:'') || '' if ( !defined( $self->{form_}{search} ) ); ! $self->{form_}{filter} = (!defined($self->{form_}{setfilter})?$self->{sessions__}{$session}{filter}:'') || '' if ( !defined( $self->{form_}{filter} ) ); # If the user hits the Reset button on a search then we need to *************** *** 2501,2510 **** # is re-accessed without parameters ! $self->{old_sort__} = $self->{form_}{sort}; ! # We are using a checkbox for negate, so we have to ! # use an empty hidden input of the same name and ! # check for multiple occurences or any of the name ! # being defined if ( !defined( $self->{form_}{negate} ) ) { --- 2553,2561 ---- # is re-accessed without parameters ! $self->{sessions__}{$session}{sort} = $self->{form_}{sort}; ! # We are using a checkbox for negate, so we have to use an empty ! # hidden input of the same name and check for multiple occurences ! # or any of the name being defined if ( !defined( $self->{form_}{negate} ) ) { *************** *** 2513,2517 **** # this is a "clean" access of the history ! $self->{form_}{negate} = $self->{old_negate__} || ''; } elsif ( defined( $self->{form_}{negate_array} ) ) { --- 2564,2568 ---- # this is a "clean" access of the history ! $self->{form_}{negate} = $self->{sessions__}{$session}{negate} || ''; } elsif ( defined( $self->{form_}{negate_array} ) ) { *************** *** 2519,2530 **** if ($_ ne '') { $self->{form_}{negate} = 'on'; ! $self->{old_negate__} = 'on'; last; } } } else { ! # We have a negate form, but no array.. this is likely ! # the hidden input, so this is not a "clean" visit ! $self->{old_negate__} = $self->{form_}{negate}; } --- 2570,2583 ---- if ($_ ne '') { $self->{form_}{negate} = 'on'; ! $self->{sessions__}{$session}{negate} = 'on'; last; } } } else { ! ! # We have a negate form, but no array.. this is likely the ! # hidden input, so this is not a "clean" visit ! ! $self->{sessions__}{$session}{negate} = $self->{form_}{negate}; } *************** *** 2534,2543 **** # Set setsearch if search changed and setsearch is undefined ! $self->{form_}{setsearch} = 'on' if ( ( ( !defined($self->{old_search__}) && ($self->{form_}{search} ne '') ) || ( defined($self->{old_search__}) && ( $self->{old_search__} ne $self->{form_}{search} ) ) ) && !defined($self->{form_}{setsearch} ) ); ! $self->{old_search__} = $self->{form_}{search}; # Set setfilter if filter changed and setfilter is undefined ! $self->{form_}{setfilter} = 'Filter' if ( ( ( !defined($self->{old_filter__}) && ($self->{form_}{filter} ne '') ) || ( defined($self->{old_filter__}) && ( $self->{old_filter__} ne $self->{form_}{filter} ) ) ) && !defined($self->{form_}{setfilter} ) ); ! $self->{old_filter__} = $self->{form_}{filter}; # Set up the text that will appear at the top of the history page --- 2587,2598 ---- # Set setsearch if search changed and setsearch is undefined ! ! $self->{form_}{setsearch} = 'on' if ( ( ( !defined($self->{sessions__}{$session}{search}) && ($self->{form_}{search} ne '') ) || ( defined($self->{sessions__}{$session}{search}) && ( $self->{sessions__}{$session}{search} ne $self->{form_}{search} ) ) ) && !defined($self->{form_}{setsearch} ) ); ! $self->{sessions__}{$session}{search} = $self->{form_}{search}; # Set setfilter if filter changed and setfilter is undefined ! ! $self->{form_}{setfilter} = 'Filter' if ( ( ( !defined($self->{sessions__}{$session}{filter}) && ($self->{form_}{filter} ne '') ) || ( defined($self->{sessions__}{$session}{filter}) && ( $self->{sessions__}{$session}{filter} ne $self->{form_}{filter} ) ) ) && !defined($self->{form_}{setfilter} ) ); ! $self->{sessions__}{$session}{filter} = $self->{form_}{filter}; # Set up the text that will appear at the top of the history page *************** *** 2556,2566 **** # # clearpage is defined: this will delete everything on the page ! # which means we will call delete_slot in the history with the ! # ID of ever message displayed. The IDs are encoded in the ! # hidden rowid_* form elements. # # clearchecked is defined: this will delete the messages that are ! # checked (i.e. the check box has been clicked). The check box ! # is called remove_* in the form_ hash once we get here. # # The third possibility is clearall which is handled below and --- 2611,2621 ---- # # clearpage is defined: this will delete everything on the page ! # which means we will call delete_slot in the history with the ID ! # of ever message displayed. The IDs are encoded in the hidden ! # rowid_* form elements. # # clearchecked is defined: this will delete the messages that are ! # checked (i.e. the check box has been clicked). The check box is ! # called remove_* in the form_ hash once we get here. # # The third possibility is clearall which is handled below and *************** *** 2812,2818 **** } } ! # Replace any entities from the language files with ! # the corresponding character (\xa0). Otherwise HTML::Template ! # would escape the & with & $v =~ s/ /\xA0/g; --- 2867,2876 ---- } } ! ! # Replace any entities from the language ! # files with the corresponding character ! # (\xa0). Otherwise HTML::Template would escape ! # the & with & ! $v =~ s/ /\xA0/g; *************** *** 2903,2907 **** my $header = "HTTP/1.0 302 Found\r\n"; $header .= "Location: $url\r\n"; ! $header .= $self->set_cookie__( $session ); $header .= "\r\n"; --- 2961,2965 ---- my $header = "HTTP/1.0 302 Found\r\n"; $header .= "Location: $url\r\n"; ! $header .= $self->set_cookie__( $session, $client ); $header .= "\r\n"; *************** *** 2942,2947 **** } ! # If a format change was requested for the word matrix, record it in the ! # configuration and in the classifier options. $self->classifier_()->wmformat( $self->{form_}{format} ); --- 3000,3005 ---- } ! # If a format change was requested for the word matrix, record it ! # in the configuration and in the classifier options. $self->classifier_()->wmformat( $self->{form_}{format} ); *************** *** 3069,3086 **** # TODO: This code is now useless because the magnet itself ! # doesn't contain the information about which header we are ! # looking for. Ultimately, we need to fix this but I decided ! # for v0.22.0 release to not make further changes and leave this ! # code as unfixed. # if ( $line =~ /^([A-Za-z-]+): ?([^\n\r]*)/ ) { # my $head = $1; # my $arg = $2; ! # if ( $head =~ /\Q$header\E/i ) { ! # $text =~ s/</</g; # $text =~ s/>/>/g; ! # if ( $arg =~ /\Q$text\E/i ) { # my $new_color = $self->classifier_()->get_bucket_color( $session, $bucket ); --- 3127,3144 ---- # TODO: This code is now useless because the magnet itself ! # doesn't contain the information about which header we ! # are looking for. Ultimately, we need to fix this but I ! # decided for v0.22.0 release to not make further changes ! # and leave this code as unfixed. # if ( $line =~ /^([A-Za-z-]+): ?([^\n\r]*)/ ) { # my $head = $1; # my $arg = $2; ! # # if ( $head =~ /\Q$header\E/i ) { ! # # $text =~ s/</</g; # $text =~ s/>/>/g; ! # # if ( $arg =~ /\Q$text\E/i ) { # my $new_color = $self->classifier_()->get_bucket_color( $session, $bucket ); *************** *** 3279,3290 **** # Localize the template in use. # ! # Templates are automatically localized. Any TMPL_VAR that begins with ! # Localize_ will be fixed up automatically with the appropriate string ! # for the language in use. For example if you write # # <TMPL_VAR name="Localize_Foo_Bar"> # ! # this will automatically be converted to the string associated with ! # Foo_Bar in the current language file. my @vars = $templ->param(); --- 3337,3349 ---- # Localize the template in use. # ! # Templates are automatically localized. Any TMPL_VAR that begins ! # with Localize_ will be fixed up automatically with the ! # appropriate string for the language in use. For example if you ! # write # # <TMPL_VAR name="Localize_Foo_Bar"> # ! # this will automatically be converted to the string associated ! # with Foo_Bar in the current language file. my @vars = $templ->param(); *************** *** 3486,3491 **** # configure_item( 'foo', loaded foo-bar.thtml, language hash ) # ! # and needs to fill the template variables. Then it will receive ! # a call to its # # validate_item( 'foo', loaded foo-bar.thtml, language hash, form hash ) --- 3545,3550 ---- # configure_item( 'foo', loaded foo-bar.thtml, language hash ) # ! # and needs to fill the template variables. Then it will receive a ! # call to its # # validate_item( 'foo', loaded foo-bar.thtml, language hash, form hash ) *************** *** 3584,3589 **** # shutdown_page__ # ! # Determines the text to send in response to a click on the ! # shutdown link. # #---------------------------------------------------------------------------- --- 3643,3648 ---- # shutdown_page__ # ! # Determines the text to send in response to a click on the shutdown ! # link. # #---------------------------------------------------------------------------- *************** *** 3622,3627 **** my $text = $templ->output(); ! # Replace the reference to the favicon, we won't be able ! # to handle that request $text =~ s/<link rel="icon" href="favicon\.ico">//; --- 3681,3686 ---- my $text = $templ->output(); ! # Replace the reference to the favicon, we won't be able to handle ! # that request $text =~ s/<link rel="icon" href="favicon\.ico">//; |
From: Brian S. <xue...@us...> - 2005-02-16 01:05:10
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14397 Modified Files: adduser.nsi Log Message: Select 'verbose' mode when starting POPFile (to avoid empty DOS boxes appearing or nothing appearing to happen when pfi-run.bat uses popfile.pl) Index: adduser.nsi =================================================================== RCS file: /cvsroot/popfile/windows/adduser.nsi,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** adduser.nsi 11 Feb 2005 16:02:02 -0000 1.70 --- adduser.nsi 16 Feb 2005 01:04:58 -0000 1.71 *************** *** 181,185 **** Name "POPFile User" ! !define C_PFI_VERSION "0.2.66" ; Mention the wizard's version number in the titles of the installer & uninstaller windows --- 181,185 ---- Name "POPFile User" ! !define C_PFI_VERSION "0.2.67" ; Mention the wizard's version number in the titles of the installer & uninstaller windows *************** *** 1751,1755 **** FileWrite ${L_FILEHANDLE} "REM Debug command: Start POPFile in foreground using 'popfile.pl'${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" ! FileWrite ${L_FILEHANDLE} "$\"%POPFILE_ROOT%\perl.exe$\" $\"%POPFILE_ROOT%\popfile.pl$\"${MB_NL}" FileWrite ${L_FILEHANDLE} "goto exit${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" --- 1751,1755 ---- FileWrite ${L_FILEHANDLE} "REM Debug command: Start POPFile in foreground using 'popfile.pl'${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" ! FileWrite ${L_FILEHANDLE} "$\"%POPFILE_ROOT%\perl.exe$\" $\"%POPFILE_ROOT%\popfile.pl$\" --verbose=1${MB_NL}" FileWrite ${L_FILEHANDLE} "goto exit${MB_NL}" FileWrite ${L_FILEHANDLE} "${MB_NL}" *************** *** 5287,5291 **** SetOutPath $G_ROOTDIR ClearErrors ! Exec '"$G_ROOTDIR\popfile.exe"' IfErrors 0 startup_ok StrCmp ${L_CONSOLE} "f" error_msg --- 5287,5291 ---- SetOutPath $G_ROOTDIR ClearErrors ! Exec '"$G_ROOTDIR\popfile.exe" --verbose=1' IfErrors 0 startup_ok StrCmp ${L_CONSOLE} "f" error_msg |
From: John Graham-C. <jgr...@us...> - 2005-02-15 04:24:30
|
Update of /cvsroot/popfile/engine/Classifier In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20142/Classifier Modified Files: Bayes.pm Log Message: More work on v0.23.0 (Multi-user Support) Switch to using Cookies to keep client-side state concerning the current connection to POPFile's UI. Implement encrypted cookies and a login page that allow multiple users to be connected to POPFile's UI at the same time. Currently, it's possible to create users and login as people other than admin, but there's not a lot you can do with the users that are created. For the time being just login as admin (no password). My next commit will make multi-user mode actually work: there will be ability to logout, associations between POP3 accounts and POPFile users... DO NOT USE THIS FOR ANYTHING MORE THAN LOGGING IN AS ADMIN RIGHT NOW; STRANGE THINGS MAY HAPPEN! --- Classifer/Bayes.pm: Make API sessions keys much more robust and unlikely to clash by generating them randomly using a good random number source and using a long secure hash instead of my old system. UI/HTML.pm: New functions for cookie handling: handle_cookie__ (to deal with a received cookie), set_cookie__ (to send a cookie back to the client). password_page now asks for a username as well as a password and handle the creation of the API session and redirection with cookie. Remove the old api_session__ and replace with the sessions__ hash used to keep track of current sessions. Return the Set-Cookie: header. No hard-coded user '1' anywhere, all that is replaced with the user id derived by looking up the current session in the sessions__ hash. UI/HTTP.pm: New APIs decrypt_cookie__ and encrypt_cookie__ to handle encryption and decryption of cookies (with wrapping in base 64 for safety). Use Blowfish encryption with a randomly generated key each time POPFile is started. skins/default/*.thtml: Remove references to the old Session_Key (session= and hidden inputs) because it is no longer needed at all. skins/default/password-page.thtml: Password page now has a user name field and does not have an error message hard coded. skins/default/common-middle.thtml: The shutdown link is only available to admins, the tabs and shutdown are only available if you are logged in. skins/default/common-bottom.thtml: No information at all until you are logged in. languages/English.msg: Additional strings needed for the password page. Index: Bayes.pm =================================================================== RCS file: /cvsroot/popfile/engine/Classifier/Bayes.pm,v retrieving revision 1.340 retrieving revision 1.341 diff -C2 -d -r1.340 -r1.341 *** Bayes.pm 13 Feb 2005 02:16:33 -0000 1.340 --- Bayes.pm 15 Feb 2005 04:23:50 -0000 1.341 *************** *** 39,44 **** --- 39,47 ---- use DBI; use Digest::MD5 qw( md5_hex ); + use Digest::SHA qw( sha256_hex ); use MIME::Base64; + use Crypt::Random::Generator; + # This is used to get the hostname of the current machine # in a cross platform way *************** *** 1438,1465 **** my ( $self ) = @_; ! my @chars = ( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', # PROFILE BLOCK START ! 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'U', 'V', 'W', 'X', 'Y', ! 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A' ); # PROFILE BLOCK STOP ! ! my $session; ! ! do { ! $session = ''; ! my $length = int( 16 + rand(4) ); ! ! for my $i (0 .. $length) { ! my $random = $chars[int( rand(36) )]; ! ! # Just to add spice to things we sometimes lowercase the value ! ! if ( rand(1) < rand(1) ) { ! $random = lc($random); ! } ! ! $session .= $random; ! } ! } while ( defined( $self->{api_sessions__}{$session} ) ); ! return $session; } --- 1441,1451 ---- my ( $self ) = @_; ! # Generate a long random number, hash it and the time together to ! # get a random session key in hex ! my $r = new Crypt::Random::Generator; ! my $random = $r->makerandom_octet( Length => 128, Strength => 1 ); ! my $now = time; ! return sha256_hex( "$random$now" ); } |
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20142/skins/default Modified Files: administration-page.thtml advanced-page.thtml bucket-page.thtml common-bottom.thtml common-middle.thtml configuration-bar.thtml corpus-page.thtml history-bar.thtml history-page.thtml history-search-filter-widget.thtml imap-bucket-folders.thtml imap-connection-details.thtml imap-options.thtml imap-update-mailbox-list.thtml imap-watch-folders.thtml imap-watch-more-folders.thtml magnet-navigator.thtml magnet-page.thtml nntp-force-fork.thtml nntp-port.thtml nntp-security-local.thtml nntp-separator.thtml password-page.thtml pop3-chain-panel.thtml pop3-configuration-panel.thtml pop3-security-panel.thtml smtp-chain-server-port.thtml smtp-chain-server.thtml smtp-configuration.thtml smtp-security-local.thtml socks-widget.thtml users-page.thtml view-page.thtml view-quickmagnets-widget.thtml view-scores-widget.thtml windows-configuration.thtml xmlrpc-local.thtml xmlrpc-port.thtml Log Message: More work on v0.23.0 (Multi-user Support) Switch to using Cookies to keep client-side state concerning the current connection to POPFile's UI. Implement encrypted cookies and a login page that allow multiple users to be connected to POPFile's UI at the same time. Currently, it's possible to create users and login as people other than admin, but there's not a lot you can do with the users that are created. For the time being just login as admin (no password). My next commit will make multi-user mode actually work: there will be ability to logout, associations between POP3 accounts and POPFile users... DO NOT USE THIS FOR ANYTHING MORE THAN LOGGING IN AS ADMIN RIGHT NOW; STRANGE THINGS MAY HAPPEN! --- Classifer/Bayes.pm: Make API sessions keys much more robust and unlikely to clash by generating them randomly using a good random number source and using a long secure hash instead of my old system. UI/HTML.pm: New functions for cookie handling: handle_cookie__ (to deal with a received cookie), set_cookie__ (to send a cookie back to the client). password_page now asks for a username as well as a password and handle the creation of the API session and redirection with cookie. Remove the old api_session__ and replace with the sessions__ hash used to keep track of current sessions. Return the Set-Cookie: header. No hard-coded user '1' anywhere, all that is replaced with the user id derived by looking up the current session in the sessions__ hash. UI/HTTP.pm: New APIs decrypt_cookie__ and encrypt_cookie__ to handle encryption and decryption of cookies (with wrapping in base 64 for safety). Use Blowfish encryption with a randomly generated key each time POPFile is started. skins/default/*.thtml: Remove references to the old Session_Key (session= and hidden inputs) because it is no longer needed at all. skins/default/password-page.thtml: Password page now has a user name field and does not have an error message hard coded. skins/default/common-middle.thtml: The shutdown link is only available to admins, the tabs and shutdown are only available if you are logged in. skins/default/common-bottom.thtml: No information at all until you are logged in. languages/English.msg: Additional strings needed for the password page. Index: advanced-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/advanced-page.thtml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** advanced-page.thtml 13 Feb 2005 02:16:35 -0000 1.12 --- advanced-page.thtml 15 Feb 2005 04:23:54 -0000 1.13 *************** *** 28,32 **** <form action="/advanced" method="post"> <label class="advancedLabel" for="advancedAddWordText"><TMPL_VAR NAME="Localize_Advanced_AddWord">:</label><br /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="text" id="advancedAddWordText" name="newword" /> <input type="submit" class="submit" name="add" value="<TMPL_VAR NAME="Localize_Add">" /> --- 28,31 ---- *************** *** 43,47 **** <form action="/advanced" method="post"> <label class="advancedLabel" for="advancedRemoveWordText"><TMPL_VAR NAME="Localize_Advanced_RemoveWord">:</label><br /> ! <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="text" id="advancedRemoveWordText" name="word" /> <input type="submit" class="submit" name="remove" value="<TMPL_VAR NAME="Localize_Remove">" /> --- 42,46 ---- <form action="/advanced" method="post"> <label class="advancedLabel" for="advancedRemoveWordText"><TMPL_VAR NAME="Localize_Advanced_RemoveWord">:</label><br /> ! <input type="text" id="advancedRemoveWordText" name="word" /> <input type="submit" class="submit" name="remove" value="<TMPL_VAR NAME="Localize_Remove">" /> *************** *** 105,109 **** </table> <p> ! <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="submit" class="submit" value="<TMPL_VAR NAME="Localize_Update">" name="update_params"> </form> --- 104,108 ---- </table> <p> ! <input type="submit" class="submit" value="<TMPL_VAR NAME="Localize_Update">" name="update_params"> </form> Index: socks-widget.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/socks-widget.thtml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** socks-widget.thtml 6 Jan 2005 14:57:05 -0000 1.5 --- socks-widget.thtml 15 Feb 2005 04:23:55 -0000 1.6 *************** *** 6,10 **** <input type="text" name="<TMPL_VAR NAME="Socks_Widget_Name">_socks_server" id="SOCKSServer" value="<TMPL_VAR NAME="Socks_Server">" /> <input type="submit" class="submit" name="update_<TMPL_VAR NAME="Socks_Widget_Name">_socks_server" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 6,9 ---- *************** *** 24,28 **** <input name="<TMPL_VAR NAME="Socks_Widget_Name">_socks_port" type="text" id="configSOCKSPort" value="<TMPL_VAR NAME="Socks_Port">" /> <input type="submit" class="submit" name="update_<TMPL_VAR NAME="Socks_Widget_Name">_socks_port" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 23,26 ---- Index: view-quickmagnets-widget.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/view-quickmagnets-widget.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** view-quickmagnets-widget.thtml 24 Jun 2004 19:12:10 -0000 1.3 --- view-quickmagnets-widget.thtml 15 Feb 2005 04:23:55 -0000 1.4 *************** *** 3,7 **** <form action="/magnets" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="count" value="<TMPL_VAR NAME="View_QuickMagnets_Count">" /> <hr /> --- 3,6 ---- Index: xmlrpc-local.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/xmlrpc-local.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xmlrpc-local.thtml 7 Feb 2005 08:05:51 -0000 1.4 --- xmlrpc-local.thtml 15 Feb 2005 04:23:55 -0000 1.5 *************** *** 4,9 **** </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="XMLRPC_local_on"> --- 4,7 ---- Index: nntp-separator.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/nntp-separator.thtml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** nntp-separator.thtml 6 Jan 2005 14:57:05 -0000 1.2 --- nntp-separator.thtml 15 Feb 2005 04:23:54 -0000 1.3 *************** *** 6,10 **** <input name="nntp_separator" id="configSeparator" type="text" value="<TMPL_VAR NAME="nntp_separator">" /> <input type="submit" class="submit" name="update_nntp_separator" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="nntp_separator_feedback"> --- 6,9 ---- Index: xmlrpc-port.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/xmlrpc-port.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** xmlrpc-port.thtml 6 Jan 2005 14:57:05 -0000 1.4 --- xmlrpc-port.thtml 15 Feb 2005 04:23:55 -0000 1.5 *************** *** 1,4 **** <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <label class="configurationLabel" for="configPopPort"> <TMPL_VAR NAME="Localize_Configuration_XMLRPCPort">: --- 1,3 ---- Index: magnet-navigator.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/magnet-navigator.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** magnet-navigator.thtml 8 Sep 2004 16:15:40 -0000 1.3 --- magnet-navigator.thtml 15 Feb 2005 04:23:54 -0000 1.4 *************** *** 5,9 **** <TMPL_IF NAME="Magnet_Navigator_If_Previous"> ! [<a href="/magnets?start_magnet=<TMPL_VAR NAME="Magnet_Navigator_Previous">&session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Previous"></a>] </TMPL_IF> --- 5,9 ---- <TMPL_IF NAME="Magnet_Navigator_If_Previous"> ! [<a href="/magnets?start_magnet=<TMPL_VAR NAME="Magnet_Navigator_Previous">"><TMPL_VAR NAME="Localize_Previous"></a>] </TMPL_IF> *************** *** 17,21 **** <TMPL_ELSE> ! [<a href="/magnets?start_magnet=<TMPL_VAR NAME="Magnet_Navigator_Start_Magnet">&session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Magnet_Navigator_Count"></a>] </TMPL_IF> --- 17,21 ---- <TMPL_ELSE> ! [<a href="/magnets?start_magnet=<TMPL_VAR NAME="Magnet_Navigator_Start_Magnet">"><TMPL_VAR NAME="Magnet_Navigator_Count"></a>] </TMPL_IF> *************** *** 24,28 **** <TMPL_IF NAME="Magnet_Navigator_If_Next"> ! [<a href="/magnets?start_magnet=<TMPL_VAR NAME="Magnet_Navigator_Next">&session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Next"></a>] </TMPL_IF> --- 24,28 ---- <TMPL_IF NAME="Magnet_Navigator_If_Next"> ! [<a href="/magnets?start_magnet=<TMPL_VAR NAME="Magnet_Navigator_Next">"><TMPL_VAR NAME="Localize_Next"></a>] </TMPL_IF> Index: view-scores-widget.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/view-scores-widget.thtml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** view-scores-widget.thtml 13 Sep 2004 20:27:09 -0000 1.8 --- view-scores-widget.thtml 15 Feb 2005 04:23:55 -0000 1.9 *************** *** 95,99 **** <TMPL_IF NAME="View_If_Format_Freq"> ! <a href="/view?session=<TMPL_VAR NAME="Session_Key">&view=<TMPL_VAR NAME="View_This">&start_message=<TMPL_VAR NAME="View_This_Page">&format=freq#scores"> <TMPL_VAR NAME="Localize_View_ShowFrequencies"></a> --- 95,99 ---- <TMPL_IF NAME="View_If_Format_Freq"> ! <a href="/view?view=<TMPL_VAR NAME="View_This">&start_message=<TMPL_VAR NAME="View_This_Page">&format=freq#scores"> <TMPL_VAR NAME="Localize_View_ShowFrequencies"></a> *************** *** 102,106 **** <TMPL_IF NAME="View_If_Format_Prob"> ! <a href="/view?session=<TMPL_VAR NAME="Session_Key">&view=<TMPL_VAR NAME="View_This">&start_message=<TMPL_VAR NAME="View_This_Page">&format=prob#scores"> <TMPL_VAR NAME="Localize_View_ShowProbabilities"></a> --- 102,106 ---- <TMPL_IF NAME="View_If_Format_Prob"> ! <a href="/view?view=<TMPL_VAR NAME="View_This">&start_message=<TMPL_VAR NAME="View_This_Page">&format=prob#scores"> <TMPL_VAR NAME="Localize_View_ShowProbabilities"></a> *************** *** 109,113 **** <TMPL_IF NAME="View_If_Format_Score"> ! <a href="/view?session=<TMPL_VAR NAME="Session_Key">&view=<TMPL_VAR NAME="View_This">&start_message=<TMPL_VAR NAME="View_This_Page">&format=score#scores"> <TMPL_VAR NAME="Localize_View_ShowScores"></a> --- 109,113 ---- <TMPL_IF NAME="View_If_Format_Score"> ! <a href="/view?view=<TMPL_VAR NAME="View_This">&start_message=<TMPL_VAR NAME="View_This_Page">&format=score#scores"> <TMPL_VAR NAME="Localize_View_ShowScores"></a> Index: magnet-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/magnet-page.thtml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** magnet-page.thtml 7 Feb 2005 08:05:51 -0000 1.9 --- magnet-page.thtml 15 Feb 2005 04:23:54 -0000 1.10 *************** *** 81,85 **** </tr> </table> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="start_magnet" value="<TMPL_VAR NAME="Magnet_Start_Magnet">" /> <input type="hidden" name="count" value="<TMPL_VAR NAME="Magnet_Count_Magnet">" /> --- 81,84 ---- *************** *** 116,120 **** </select> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <br /> <br /> --- 115,118 ---- *************** *** 145,149 **** <input type="submit" class="submit" name="create" value="<TMPL_VAR NAME="Localize_Create">" /> <input type="hidden" name="start_magnet" value="<TMPL_VAR NAME="Magnet_Start_Magnet">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 143,146 ---- Index: history-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/history-page.thtml,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** history-page.thtml 9 Feb 2005 10:45:35 -0000 1.54 --- history-page.thtml 15 Feb 2005 04:23:54 -0000 1.55 *************** *** 7,11 **** <form method="post" action="/buckets"> <TMPL_VAR NAME="Localize_Help_Bucket_Setup"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <p /> <input type="submit" class="submit" name="nomore_bucket_help" value="<TMPL_VAR NAME="Localize_Help_No_More">" /> --- 7,10 ---- *************** *** 20,24 **** <form method="post" action="/buckets"> <TMPL_VAR NAME="Localize_Help_Training"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <p /> <input type="submit" class="submit" name="nomore_training_help" value="<TMPL_VAR NAME="Localize_Help_No_More">" /> --- 19,22 ---- *************** *** 43,47 **** </TMPL_IF> ! (<a class="history" href="/history?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Refresh"></a>) </td> --- 41,45 ---- </TMPL_IF> ! (<a class="history" href="/history"><TMPL_VAR NAME="Localize_Refresh"></a>) </td> *************** *** 60,64 **** <input type="hidden" name="sort" value="<TMPL_VAR NAME="History_Field_Sort">" /> <input type="hidden" name="negate" value="<TMPL_VAR NAME="History_Field_Not">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="start_message" value="<TMPL_VAR NAME="History_Start_Message">" /> <input type="hidden" name="filter" value="<TMPL_VAR NAME="History_Field_Filter">" /> --- 58,61 ---- *************** *** 76,80 **** <tr> <td width="10px" align="left" style="white-space:nowrap; vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnRemove" href="/history?session=<TMPL_VAR NAME="Session_Key">&removecolumn=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_RemoveColumn">" src="skins/x.gif" border="0" alt=""></a> </td> <th style="text-align: left;"> --- 73,77 ---- <tr> <td width="10px" align="left" style="white-space:nowrap; vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnRemove" href="/history?removecolumn=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_RemoveColumn">" src="skins/x.gif" border="0" alt=""></a> </td> <th style="text-align: left;"> *************** *** 109,118 **** <TMPL_IF NAME="History_If_MoveLeft"> <td width="10px" style="vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnMove" href="/history?session=<TMPL_VAR NAME="Session_Key">&moveleft=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveLeft">" src="skins/leftarrow.gif" border="0" alt=""></a> </td> </TMPL_IF> <TMPL_IF NAME="History_If_MoveRight"> <td width="10px" style="vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnMove" href="/history?session=<TMPL_VAR NAME="Session_Key">&moveright=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveRight">" src="skins/rightarrow.gif" border="0" alt=""></a> </td> </TMPL_IF> --- 106,115 ---- <TMPL_IF NAME="History_If_MoveLeft"> <td width="10px" style="vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnMove" href="/history?moveleft=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveLeft">" src="skins/leftarrow.gif" border="0" alt=""></a> </td> </TMPL_IF> <TMPL_IF NAME="History_If_MoveRight"> <td width="10px" style="vertical-align: top;"> ! <a style="display: block; width:100%; height: 1em;" class="columnMove" href="/history?moveright=<TMPL_VAR NAME="History_Header">"><img title="<TMPL_VAR NAME="Localize_History_MoveRight">" src="skins/rightarrow.gif" border="0" alt=""></a> </td> </TMPL_IF> *************** *** 158,162 **** <TMPL_IF NAME="History_If_Not_Pseudo"> ! <a href="/buckets?session=<TMPL_VAR NAME="Session_Key">&showbucket=<TMPL_VAR NAME="History_Bucket">"> </TMPL_IF> --- 155,159 ---- <TMPL_IF NAME="History_If_Not_Pseudo"> ! <a href="/buckets?showbucket=<TMPL_VAR NAME="History_Bucket">"> </TMPL_IF> *************** *** 280,284 **** </TMPL_IF> ! (<a class="history" href="/history?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Refresh"></a>) </td> --- 277,281 ---- </TMPL_IF> ! (<a class="history" href="/history"><TMPL_VAR NAME="Localize_Refresh"></a>) </td> *************** *** 316,320 **** <div class="toggleConfigBar"> <input type="submit" class="submit" name="show_configbar" value="<TMPL_VAR NAME="Localize_Configuration_Show_Bar">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="start_message" value="<TMPL_VAR NAME="History_Start_Message">" /> </div> --- 313,316 ---- Index: imap-connection-details.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/imap-connection-details.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** imap-connection-details.thtml 6 Jan 2005 14:57:05 -0000 1.4 --- imap-connection-details.thtml 15 Feb 2005 04:23:54 -0000 1.5 *************** *** 60,64 **** <p /> <input type="submit" class="submit" name="update_imap_0_connection_details" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <hr width="60%" align="center" /> </form> --- 60,63 ---- Index: nntp-force-fork.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/nntp-force-fork.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** nntp-force-fork.thtml 6 Jan 2005 14:57:05 -0000 1.3 --- nntp-force-fork.thtml 15 Feb 2005 04:23:54 -0000 1.4 *************** *** 7,11 **** <td nowrap="nowrap"> <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="nntp_force_fork_on"> --- 7,10 ---- Index: history-search-filter-widget.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/history-search-filter-widget.thtml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** history-search-filter-widget.thtml 2 Sep 2004 23:13:41 -0000 1.8 --- history-search-filter-widget.thtml 15 Feb 2005 04:23:54 -0000 1.9 *************** *** 16,20 **** </label> <input type="hidden" name="sort" value="<TMPL_VAR NAME="History_Field_Sort">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <select name="filter" id="historyFilter"> <option value=""></option> --- 16,19 ---- Index: corpus-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/corpus-page.thtml,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** corpus-page.thtml 7 Feb 2005 08:05:51 -0000 1.17 --- corpus-page.thtml 15 Feb 2005 04:23:54 -0000 1.18 *************** *** 7,11 **** <form method="post" action="/buckets"> <TMPL_VAR NAME="Localize_Help_Bucket_Setup"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <p /> <input type="submit" class="submit" name="nomore_bucket_help" value="<TMPL_VAR NAME="Localize_Help_No_More">" /> --- 7,10 ---- *************** *** 20,24 **** <form method="post" action="/buckets"> <TMPL_VAR NAME="Localize_Help_Training"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <p /> <input type="submit" class="submit" name="nomore_training_help" value="<TMPL_VAR NAME="Localize_Help_No_More">" /> --- 19,22 ---- *************** *** 33,37 **** <form class="bucketsSwitch" action="/buckets" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <table width="100%" summary="<TMPL_VAR NAME="Localize_Bucket_MaintenanceTableSummary">"> <tr> --- 31,34 ---- *************** *** 86,90 **** <TMPL_IF NAME="Corpus_If_Bucket_Not_Pseudo"> ! <a href="/buckets?session=<TMPL_VAR NAME="Session_Key">&showbucket=<TMPL_VAR NAME="Corpus_Bucket">"> </TMPL_IF> --- 83,87 ---- <TMPL_IF NAME="Corpus_If_Bucket_Not_Pseudo"> ! <a href="/buckets?showbucket=<TMPL_VAR NAME="Corpus_Bucket">"> </TMPL_IF> *************** *** 242,246 **** <td colspan="2" align="center"> <form action="/buckets" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="submit" class="submit" name="reset_stats" value="<TMPL_VAR NAME="Localize_Bucket_ResetStatistics">" /> --- 239,242 ---- *************** *** 312,316 **** <input name="cname" id="bucketsCreateBucket" type="text" /> <input type="submit" class="submit" name="create" value="<TMPL_VAR NAME="Localize_Create">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 308,311 ---- *************** *** 353,357 **** </select> <input type="submit" class="submit" name="delete" value="<TMPL_VAR NAME="Localize_Delete">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 348,351 ---- *************** *** 388,392 **** <input type="text" id="bucketsRenameBucketTo" name="newname" /> <input type="submit" class="submit" name="rename" value="<TMPL_VAR NAME="Localize_Rename">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 382,385 ---- *************** *** 425,429 **** <input name="word" id="bucketsLookup" type="text" /> <input type="submit" class="submit" name="lookup" value="<TMPL_VAR NAME="Localize_Lookup">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> <br /> --- 418,421 ---- Index: administration-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/administration-page.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** administration-page.thtml 7 Feb 2005 08:05:50 -0000 1.4 --- administration-page.thtml 15 Feb 2005 04:23:54 -0000 1.5 *************** *** 12,17 **** </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="Security_If_Local"> --- 12,15 ---- *************** *** 49,53 **** <TMPL_VAR NAME="Localize_Security_Update">: </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="Security_If_Update_Check"> --- 47,50 ---- *************** *** 77,81 **** <TMPL_VAR NAME="Localize_Security_Stats">: </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="Security_If_Send_Stats"> --- 74,77 ---- *************** *** 109,113 **** <input name="timeout" type="text" id="configTCPTimeout" value="<TMPL_VAR NAME="Configuration_TCP_Timeout">" /> <input type="submit" class="submit" name="update_timeout" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 105,108 ---- *************** *** 130,134 **** <TMPL_VAR NAME="Localize_Configuration_LoggerOutput">: </label> ! <input type="hidden" value="<TMPL_VAR NAME="Session_Key">" name="session" /> <select name="debug" id="configLogging"> <option value="1" <TMPL_VAR NAME="Configuration_Debug_1_Selected">> --- 125,129 ---- <TMPL_VAR NAME="Localize_Configuration_LoggerOutput">: </label> ! <select name="debug" id="configLogging"> <option value="1" <TMPL_VAR NAME="Configuration_Debug_1_Selected">> *************** *** 151,155 **** <p> ! <a href="popfile_current_log.log?session=<TMPL_VAR NAME="Session_Key">" class="downloadLogLink"><TMPL_VAR NAME="Localize_Configuration_CurrentLogFile"></a> </p> --- 146,150 ---- <p> ! <a href="popfile_current_log.log" class="downloadLogLink"><TMPL_VAR NAME="Localize_Configuration_CurrentLogFile"></a> </p> *************** *** 166,170 **** <input name="ui_port" id="configUIPort" type="text" value="<TMPL_VAR NAME="Configuration_UI_Port">" /> <input type="submit" class="submit" name="update_ui_port" value="<TMPL_VAR NAME="Localize_Apply">" /> ! <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 161,165 ---- <input name="ui_port" id="configUIPort" type="text" value="<TMPL_VAR NAME="Configuration_UI_Port">" /> <input type="submit" class="submit" name="update_ui_port" value="<TMPL_VAR NAME="Localize_Apply">" /> ! </form> Index: view-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/view-page.thtml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** view-page.thtml 10 Aug 2004 01:53:25 -0000 1.9 --- view-page.thtml 15 Feb 2005 04:23:55 -0000 1.10 *************** *** 24,28 **** <input type="hidden" name="search" value="<TMPL_VAR NAME="View_Field_Search">" /> <input type="hidden" name="sort" value="<TMPL_VAR NAME="View_Field_Sort">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="negate" value="<TMPL_VAR NAME="View_Field_Negate">" /> <input type="hidden" name="start_message" value="<TMPL_VAR NAME="View_This_Page">" /> --- 24,27 ---- Index: imap-update-mailbox-list.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/imap-update-mailbox-list.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** imap-update-mailbox-list.thtml 6 Jan 2005 14:57:05 -0000 1.3 --- imap-update-mailbox-list.thtml 15 Feb 2005 04:23:54 -0000 1.4 *************** *** 19,23 **** <input type="submit" class="submit" name="do_imap_4_update_mailbox_list" value="<TMPL_VAR NAME="Localize_Imap_Now">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 19,22 ---- Index: smtp-security-local.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/smtp-security-local.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** smtp-security-local.thtml 6 Jan 2005 14:57:05 -0000 1.4 --- smtp-security-local.thtml 15 Feb 2005 04:23:55 -0000 1.5 *************** *** 4,9 **** </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="smtp_local_on"> --- 4,7 ---- Index: pop3-security-panel.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/pop3-security-panel.thtml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** pop3-security-panel.thtml 7 Feb 2005 08:05:51 -0000 1.8 --- pop3-security-panel.thtml 15 Feb 2005 04:23:54 -0000 1.9 *************** *** 4,9 **** </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="POP3_Security_Local"> --- 4,7 ---- Index: pop3-configuration-panel.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/pop3-configuration-panel.thtml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** pop3-configuration-panel.thtml 7 Feb 2005 08:05:51 -0000 1.7 --- pop3-configuration-panel.thtml 15 Feb 2005 04:23:54 -0000 1.8 *************** *** 6,10 **** <input name="pop3_port" type="text" id="configPopPort" value="<TMPL_VAR NAME="POP3_Configuration_Port">" /> <input type="submit" class="submit" name="update_pop3_port" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 6,9 ---- *************** *** 34,38 **** <input name="pop3_separator" id="configSeparator" type="text" value="<TMPL_VAR NAME="POP3_Configuration_Separator">" /> <input type="submit" class="submit" name="update_pop3_separator" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 33,36 ---- *************** *** 71,75 **** <input type="submit" class="submit toggleOn" id="windowTrayIconOn" name="toggle" value="<TMPL_VAR NAME="Localize_ChangeToYes">" /> <input type="hidden" name="pop3_force_fork" value="1" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 69,72 ---- *************** *** 82,86 **** <input type="submit" class="submit toggleOff" id="windowTrayIconOff" name="toggle" value="<TMPL_VAR NAME="Localize_ChangeToNo">" /> <input type="hidden" name="pop3_force_fork" value="0" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 79,82 ---- Index: history-bar.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/history-bar.thtml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** history-bar.thtml 13 Feb 2005 02:16:35 -0000 1.12 --- history-bar.thtml 15 Feb 2005 04:23:54 -0000 1.13 *************** *** 31,35 **** </TMPL_LOOP> <input type="submit" class="submit" name="update_fields" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="start_message" value="<TMPL_VAR NAME="History_Start_Message">" /> </div> --- 31,34 ---- *************** *** 41,45 **** <input name="page_size" id="configPageSize" type="text" size="4" maxlength="4" value="<TMPL_VAR NAME="Configuration_Page_Size">" /> <input type="submit" class="submit" name="update_page_size" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </div> --- 40,43 ---- Index: imap-bucket-folders.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/imap-bucket-folders.thtml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** imap-bucket-folders.thtml 6 Jan 2005 14:57:05 -0000 1.6 --- imap-bucket-folders.thtml 15 Feb 2005 04:23:54 -0000 1.7 *************** *** 38,42 **** <input type="submit" class="submit" name="imap_3_bucket_folders" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 38,41 ---- Index: users-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/users-page.thtml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** users-page.thtml 13 Feb 2005 02:23:07 -0000 1.1 --- users-page.thtml 15 Feb 2005 04:23:55 -0000 1.2 *************** *** 8,12 **** <form action="/users" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_VAR NAME="Localize_Users_CreateUser">: <input type="text" id="usersCreateUser" name="newuser" /> --- 8,11 ---- *************** *** 28,32 **** <form action="/users" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_VAR NAME="Localize_Users_RemoveUser">: <select name="toremove"> --- 27,30 ---- *************** *** 45,49 **** <form action="/users" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_VAR NAME="Localize_Users_EditUser">: <select name="editname"> --- 43,46 ---- *************** *** 100,104 **** </table> <br /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="editname" value="<TMPL_VAR NAME="Users_Edit_User_Name">" /> <input type="hidden" name="edituser" value="<TMPL_VAR NAME="Users_Edit_User_Name">" /> --- 97,100 ---- Index: nntp-port.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/nntp-port.thtml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** nntp-port.thtml 24 Jun 2004 11:50:57 -0000 1.1 --- nntp-port.thtml 15 Feb 2005 04:23:54 -0000 1.2 *************** *** 6,10 **** <input name="nntp_port" type="text" id="configPopPort" value="<TMPL_VAR NAME="nntp_port">" /> <input type="submit" class="submit" name="update_nntp_port" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="nntp_port_feedback"> --- 6,9 ---- Index: imap-options.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/imap-options.thtml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** imap-options.thtml 6 Jan 2005 14:57:05 -0000 1.7 --- imap-options.thtml 15 Feb 2005 04:23:54 -0000 1.8 *************** *** 28,32 **** <input type="submit" class="submit" name="update_imap_5_options" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <hr width="60%" align="center" /> </form> --- 28,31 ---- Index: pop3-chain-panel.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/pop3-chain-panel.thtml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** pop3-chain-panel.thtml 6 Jan 2005 14:57:05 -0000 1.5 --- pop3-chain-panel.thtml 15 Feb 2005 04:23:54 -0000 1.6 *************** *** 6,10 **** <input type="text" name="server" id="securitySecureServer" value="<TMPL_VAR NAME="POP3_Chain_Secure_Server">" /> <input type="submit" class="submit" name="update_server" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 6,9 ---- *************** *** 24,28 **** <input type="text" name="sport" id="securitySecurePort" value="<TMPL_VAR NAME="POP3_Chain_Secure_Port">" /> <input type="submit" class="submit" name="update_sport" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 23,26 ---- Index: common-bottom.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/common-bottom.thtml,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** common-bottom.thtml 14 Jan 2005 09:30:24 -0000 1.11 --- common-bottom.thtml 15 Feb 2005 04:23:54 -0000 1.12 *************** *** 1,2 **** --- 1,4 ---- + <TMPL_IF NAME="Header_If_Password"> + <TMPL_ELSE> <table class="footer" summary=""> <tr> *************** *** 30,33 **** --- 32,36 ---- </tr> </table> + </TMPL_IF> </body> </html> Index: configuration-bar.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/configuration-bar.thtml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** configuration-bar.thtml 9 Feb 2005 10:45:35 -0000 1.9 --- configuration-bar.thtml 15 Feb 2005 04:23:54 -0000 1.10 *************** *** 7,11 **** </label> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="start_message" value="<TMPL_VAR NAME="History_Start_Message">" /> <select name="skin" id="configSkin"> --- 7,10 ---- Index: nntp-security-local.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/nntp-security-local.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** nntp-security-local.thtml 6 Jan 2005 14:57:05 -0000 1.3 --- nntp-security-local.thtml 15 Feb 2005 04:23:54 -0000 1.4 *************** *** 4,9 **** </div> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="nntp_if_local"> --- 4,7 ---- Index: smtp-chain-server.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/smtp-chain-server.thtml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** smtp-chain-server.thtml 6 Jan 2005 14:57:05 -0000 1.2 --- smtp-chain-server.thtml 15 Feb 2005 04:23:54 -0000 1.3 *************** *** 6,10 **** <input type="text" name="smtp_chain_server" id="securitySecureServer" value="<TMPL_VAR NAME="smtp_chain_server">" /> <input type="submit" class="submit" name="update_smtp_server" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="smtp_server_feedback"> --- 6,9 ---- Index: imap-watch-more-folders.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/imap-watch-more-folders.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** imap-watch-more-folders.thtml 6 Jan 2005 14:57:05 -0000 1.3 --- imap-watch-more-folders.thtml 15 Feb 2005 04:23:54 -0000 1.4 *************** *** 9,13 **** </label> <br /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 9,12 ---- Index: common-middle.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/common-middle.thtml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** common-middle.thtml 13 Feb 2005 02:16:35 -0000 1.8 --- common-middle.thtml 15 Feb 2005 04:23:54 -0000 1.9 *************** *** 12,16 **** <tr> <td class="head"><TMPL_VAR NAME="Localize_Header_Title"></td> ! <td class="headShutdown" align="right" valign="bottom"><a class="shutdownLink" href="/shutdown"><TMPL_VAR NAME="Localize_Header_Shutdown"></a> </td> </tr> </table> --- 12,16 ---- <tr> <td class="head"><TMPL_VAR NAME="Localize_Header_Title"></td> ! <td class="headShutdown" align="right" valign="bottom"><TMPL_IF NAME="Header_If_Password"><TMPL_ELSE><TMPL_IF NAME="Common_Middle_If_CanAdmin"><a class="shutdownLink" href="/shutdown"><TMPL_VAR NAME="Localize_Header_Shutdown"></a></TMPL_IF></TMPL_IF> </td> </tr> </table> *************** *** 33,62 **** <br /> </TMPL_IF> <table class="menu" cellspacing="0" summary="<TMPL_VAR NAME="Localize_Header_MenuSummary>"> <tr> <td class="menuIndent"> </td> <td class="<TMPL_VAR NAME="Common_Middle_Tab0">" align="center"> ! <a class="menuLink" href="/history?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_History"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab1">" align="center"> ! <a class="menuLink" href="/buckets?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_Buckets"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab2">" align="center"> ! <a class="menuLink" href="/magnets?session=<TMPL_VAR NAME="Session_Key">&start_magnet=0"><TMPL_VAR NAME="Localize_Header_Magnets"></a> </td> <TMPL_IF NAME="Common_Middle_If_CanAdmin"> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab4">" align="center"> ! <a class="menuLink" href="/administration?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_Administration"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab5">" align="center"> ! <a class="menuLink" href="/users?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_Users"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab6">" align="center"> ! <a class="menuLink" href="/advanced?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_Advanced"></a> </td> </TMPL_IF> --- 33,64 ---- <br /> </TMPL_IF> + <TMPL_IF NAME="Header_If_Password"> + <TMPL_ELSE> <table class="menu" cellspacing="0" summary="<TMPL_VAR NAME="Localize_Header_MenuSummary>"> <tr> <td class="menuIndent"> </td> <td class="<TMPL_VAR NAME="Common_Middle_Tab0">" align="center"> ! <a class="menuLink" href="/history"><TMPL_VAR NAME="Localize_Header_History"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab1">" align="center"> ! <a class="menuLink" href="/buckets"><TMPL_VAR NAME="Localize_Header_Buckets"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab2">" align="center"> ! <a class="menuLink" href="/magnets?start_magnet=0"><TMPL_VAR NAME="Localize_Header_Magnets"></a> </td> <TMPL_IF NAME="Common_Middle_If_CanAdmin"> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab4">" align="center"> ! <a class="menuLink" href="/administration"><TMPL_VAR NAME="Localize_Header_Administration"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab5">" align="center"> ! <a class="menuLink" href="/users"><TMPL_VAR NAME="Localize_Header_Users"></a> </td> <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab6">" align="center"> ! <a class="menuLink" href="/advanced"><TMPL_VAR NAME="Localize_Header_Advanced"></a> </td> </TMPL_IF> *************** *** 64,67 **** --- 66,70 ---- </tr> </table> + </TMPL_IF> <table class="shell" align="center" width="100%" summary=""> <tr class="shellTopRow"> Index: smtp-configuration.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/smtp-configuration.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** smtp-configuration.thtml 6 Jan 2005 14:57:05 -0000 1.4 --- smtp-configuration.thtml 15 Feb 2005 04:23:54 -0000 1.5 *************** *** 7,12 **** <td nowrap="nowrap"> <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="smtp_force_fork_on"> --- 7,10 ---- *************** *** 41,45 **** <input name="smtp_port" type="text" id="configPopPort" value="<TMPL_VAR NAME="smtp_port">" /> <input type="submit" class="submit" name="update_smtp_port" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="smtp_port_feedback"> --- 39,42 ---- Index: smtp-chain-server-port.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/smtp-chain-server-port.thtml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** smtp-chain-server-port.thtml 6 Jan 2005 14:57:05 -0000 1.2 --- smtp-chain-server-port.thtml 15 Feb 2005 04:23:54 -0000 1.3 *************** *** 6,10 **** <input type="text" name="smtp_chain_server_port" id="securitySecurePort" value="<TMPL_VAR NAME="smtp_chain_port">" /> <input type="submit" class="submit" name="update_smtp_server_port" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="smtp_port_feedback"> --- 6,9 ---- Index: password-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/password-page.thtml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** password-page.thtml 12 Jul 2004 22:33:17 -0000 1.2 --- password-page.thtml 15 Feb 2005 04:23:54 -0000 1.3 *************** *** 4,24 **** <h2 class="password"><TMPL_VAR NAME="Localize_Password_Title"></h2> <form action="/password" method="post"> <label class="passwordLabel" for="thePassword"> ! <TMPL_VAR NAME="Localize_Password_Enter">: </label> ! <input type="hidden" name="redirect" value="<TMPL_VAR NAME="Password_Redirect">" /> <input type="password" id="thePassword" name="password" /> <input type="submit" class="submit" name="submit" value="<TMPL_VAR NAME="Localize_Password_Go">" /> </form> ! <TMPL_IF NAME="Password_If_Error"> ! ! <blockquote> ! <div class="error02"> ! <TMPL_VAR NAME="Localize_Password_Error1"> ! </div> ! </blockquote> ! ! </TMPL_IF> ! <TMPL_INCLUDE NAME="common-bottom.thtml"> --- 4,24 ---- <h2 class="password"><TMPL_VAR NAME="Localize_Password_Title"></h2> <form action="/password" method="post"> + <table><tr><td> + <label class="passwordLabel" for="theUsername"> + <TMPL_VAR NAME="Localize_Password_Username">: + </label> + </td><td> + <input type="text" id="theUsername" name="username" /><br /> + </td></tr><tr><td> <label class="passwordLabel" for="thePassword"> ! <TMPL_VAR NAME="Localize_Password_Password">: </label> ! </td><td> <input type="password" id="thePassword" name="password" /> + </td></tr></table> + <br /> <input type="submit" class="submit" name="submit" value="<TMPL_VAR NAME="Localize_Password_Go">" /> </form> ! <TMPL_INCLUDE NAME="common-after-configuration.thtml"> <TMPL_INCLUDE NAME="common-bottom.thtml"> Index: windows-configuration.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/windows-configuration.thtml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** windows-configuration.thtml 7 Feb 2005 08:05:51 -0000 1.3 --- windows-configuration.thtml 15 Feb 2005 04:23:55 -0000 1.4 *************** *** 7,12 **** <td nowrap="nowrap"> <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="windows_console_on"> --- 7,10 ---- *************** *** 46,50 **** <td nowrap="nowrap"> <form action="<TMPL_VAR NAME="Configuration_Action">" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_IF NAME="windows_icon_on"> --- 44,47 ---- Index: imap-watch-folders.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/imap-watch-folders.thtml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** imap-watch-folders.thtml 6 Jan 2005 14:57:05 -0000 1.4 --- imap-watch-folders.thtml 15 Feb 2005 04:23:54 -0000 1.5 *************** *** 30,34 **** <input type="submit" class="submit" name="update_imap_1_watch_folders" value="<TMPL_VAR NAME="Localize_Apply">" /> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> </form> --- 30,33 ---- Index: bucket-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/bucket-page.thtml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** bucket-page.thtml 14 Jan 2005 20:43:19 -0000 1.9 --- bucket-page.thtml 15 Feb 2005 04:23:54 -0000 1.10 *************** *** 52,56 **** <form action="/buckets" method="post"> - <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="showbucket" value="<TMPL_VAR NAME="Bucket_Bucket">" /> <input type="submit" name="clearbucket" class="submit" value="<TMPL_VAR NAME="Localize_SingleBucket_ClearBucket">" /> --- 52,55 ---- *************** *** 78,82 **** <TMPL_ELSE> ! <a class="bucketLetter" href="/buckets?session=<TMPL_VAR NAME="Session_Key">&showbucket=<TMPL_VAR NAME="Bucket_Bucket">&showletter=<TMPL_VAR NAME="Bucket_Letter" ESCAPE=URL>"> <b> <TMPL_VAR NAME="Bucket_Letter" ESCAPE=HTML> --- 77,81 ---- <TMPL_ELSE> ! <a class="bucketLetter" href="/buckets?showbucket=<TMPL_VAR NAME="Bucket_Bucket">&showletter=<TMPL_VAR NAME="Bucket_Letter" ESCAPE=URL>"> <b> <TMPL_VAR NAME="Bucket_Letter" ESCAPE=HTML> *************** *** 116,120 **** <td> ! <a class="wordListLink" href="/buckets?session=<TMPL_VAR NAME="Session_Key">&lookup=Lookup&word=<TMPL_VAR NAME="Bucket_Word">#Lookup"> <b> <TMPL_VAR NAME="Bucket_Word"> --- 115,119 ---- <td> ! <a class="wordListLink" href="/buckets?lookup=Lookup&word=<TMPL_VAR NAME="Bucket_Word">#Lookup"> <b> <TMPL_VAR NAME="Bucket_Word"> |
From: John Graham-C. <jgr...@us...> - 2005-02-15 04:24:04
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20142/languages Modified Files: English.msg Log Message: More work on v0.23.0 (Multi-user Support) Switch to using Cookies to keep client-side state concerning the current connection to POPFile's UI. Implement encrypted cookies and a login page that allow multiple users to be connected to POPFile's UI at the same time. Currently, it's possible to create users and login as people other than admin, but there's not a lot you can do with the users that are created. For the time being just login as admin (no password). My next commit will make multi-user mode actually work: there will be ability to logout, associations between POP3 accounts and POPFile users... DO NOT USE THIS FOR ANYTHING MORE THAN LOGGING IN AS ADMIN RIGHT NOW; STRANGE THINGS MAY HAPPEN! --- Classifer/Bayes.pm: Make API sessions keys much more robust and unlikely to clash by generating them randomly using a good random number source and using a long secure hash instead of my old system. UI/HTML.pm: New functions for cookie handling: handle_cookie__ (to deal with a received cookie), set_cookie__ (to send a cookie back to the client). password_page now asks for a username as well as a password and handle the creation of the API session and redirection with cookie. Remove the old api_session__ and replace with the sessions__ hash used to keep track of current sessions. Return the Set-Cookie: header. No hard-coded user '1' anywhere, all that is replaced with the user id derived by looking up the current session in the sessions__ hash. UI/HTTP.pm: New APIs decrypt_cookie__ and encrypt_cookie__ to handle encryption and decryption of cookies (with wrapping in base 64 for safety). Use Blowfish encryption with a randomly generated key each time POPFile is started. skins/default/*.thtml: Remove references to the old Session_Key (session= and hidden inputs) because it is no longer needed at all. skins/default/password-page.thtml: Password page now has a user name field and does not have an error message hard coded. skins/default/common-middle.thtml: The shutdown link is only available to admins, the tabs and shutdown are only available if you are logged in. skins/default/common-bottom.thtml: No information at all until you are logged in. languages/English.msg: Additional strings needed for the password page. Index: English.msg =================================================================== RCS file: /cvsroot/popfile/engine/languages/English.msg,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** English.msg 13 Feb 2005 02:16:35 -0000 1.84 --- English.msg 15 Feb 2005 04:23:54 -0000 1.85 *************** *** 251,258 **** History_Click_To_Sort Click to sort on this column ! Password_Title Password ! Password_Enter Enter password ! Password_Go Go! ! Password_Error1 Incorrect password Security_Error1 The port must be a number between 1 and 65535 --- 251,259 ---- History_Click_To_Sort Click to sort on this column ! Password_Title Login ! Password_Password Password ! Password_Username User name ! Password_Go Login ! Password_Error1 Incorrect user name or password Security_Error1 The port must be a number between 1 and 65535 |
From: John Graham-C. <jgr...@us...> - 2005-02-15 04:24:04
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20142/UI Modified Files: HTML.pm HTTP.pm Log Message: More work on v0.23.0 (Multi-user Support) Switch to using Cookies to keep client-side state concerning the current connection to POPFile's UI. Implement encrypted cookies and a login page that allow multiple users to be connected to POPFile's UI at the same time. Currently, it's possible to create users and login as people other than admin, but there's not a lot you can do with the users that are created. For the time being just login as admin (no password). My next commit will make multi-user mode actually work: there will be ability to logout, associations between POP3 accounts and POPFile users... DO NOT USE THIS FOR ANYTHING MORE THAN LOGGING IN AS ADMIN RIGHT NOW; STRANGE THINGS MAY HAPPEN! --- Classifer/Bayes.pm: Make API sessions keys much more robust and unlikely to clash by generating them randomly using a good random number source and using a long secure hash instead of my old system. UI/HTML.pm: New functions for cookie handling: handle_cookie__ (to deal with a received cookie), set_cookie__ (to send a cookie back to the client). password_page now asks for a username as well as a password and handle the creation of the API session and redirection with cookie. Remove the old api_session__ and replace with the sessions__ hash used to keep track of current sessions. Return the Set-Cookie: header. No hard-coded user '1' anywhere, all that is replaced with the user id derived by looking up the current session in the sessions__ hash. UI/HTTP.pm: New APIs decrypt_cookie__ and encrypt_cookie__ to handle encryption and decryption of cookies (with wrapping in base 64 for safety). Use Blowfish encryption with a randomly generated key each time POPFile is started. skins/default/*.thtml: Remove references to the old Session_Key (session= and hidden inputs) because it is no longer needed at all. skins/default/password-page.thtml: Password page now has a user name field and does not have an error message hard coded. skins/default/common-middle.thtml: The shutdown link is only available to admins, the tabs and shutdown are only available if you are logged in. skins/default/common-bottom.thtml: No information at all until you are logged in. languages/English.msg: Additional strings needed for the password page. Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.338 retrieving revision 1.339 diff -C2 -d -r1.338 -r1.339 *** HTML.pm 14 Feb 2005 09:24:11 -0000 1.338 --- HTML.pm 15 Feb 2005 04:23:51 -0000 1.339 *************** *** 40,43 **** --- 40,55 ---- use Date::Parse; + # Needed for cookie handling + + use MIME::Base64; + use Crypt::CBC; + use Crypt::Random qw( makerandom_octet ); + use Digest::MD5 qw( md5_hex ); + [...3137 lines suppressed...] ! my ( $self, $session ) = @_; # Figure out what style sheet we are using ! my $root = 'skins/' . $self->user_config_( $self->{sessions__}{$session}{user}, 'skin' ) . '/'; my $css_file = $self->get_root_path_( $root . 'style.css' ); if ( !( -e $css_file ) ) { *************** *** 3450,3454 **** # output to $text ! my $templ = $self->load_template__( 'shutdown-page.thtml' ); for my $i ( 0..6 ) { --- 3614,3618 ---- # output to $text ! my $templ = $self->load_template__( 'shutdown-page.thtml','',$session ); for my $i ( 0..6 ) { Index: HTTP.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTTP.pm,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** HTTP.pm 4 Jan 2005 22:51:47 -0000 1.28 --- HTTP.pm 15 Feb 2005 04:23:53 -0000 1.29 *************** *** 35,38 **** --- 35,43 ---- use IO::Select; + # We use crypto to secure the contents of POPFile's cookies + + use Crypt::CBC; + use MIME::Base64; + # A handy variable containing the value of an EOL for the network *************** *** 49,52 **** --- 54,61 ---- my $self = POPFile::Module->new(); + # Crypto object used to encode/decode cookies + + $self->{crypto__} = ''; + bless $self; *************** *** 90,93 **** --- 99,111 ---- $self->{selector_} = new IO::Select( $self->{server_} ); + # Think of an encryption key for encrypting cookies using + + my $key = Crypt::Random::makerandom_octet( Length => 56, Strength => 1 ); + $self->{crypto__} = new Crypt::CBC( { 'key' => $key, + 'cipher' => 'Blowfish', + 'padding' => 'standard', + 'prepend_iv' => 0, + 'regenerate_key' => 0 } ); + return 1; } *************** *** 154,163 **** my $content_length = 0; my $content; $self->log_( 2, $request ); while ( my $line = $self->slurp_( $client ) ) { $content_length = $1 if ( $line =~ /Content-Length: (\d+)/i ); - # Discovered that Norton Internet Security was # adding HTTP headers of the form --- 172,182 ---- my $content_length = 0; my $content; + my $cookie = ''; $self->log_( 2, $request ); while ( my $line = $self->slurp_( $client ) ) { + $cookie = $1 if ( $line =~ /Cookie: (.+)/ ); $content_length = $1 if ( $line =~ /Content-Length: (\d+)/i ); # Discovered that Norton Internet Security was # adding HTTP headers of the form *************** *** 180,185 **** } if ( $request =~ /^(GET|POST) (.*) HTTP\/1\./i ) { ! $code = $self->handle_url( $client, $2, $1, $content ); $self->log_( 2, "HTTP handle_url returned code $code\n" ); --- 199,209 ---- } + # Handle decryption of a cookie header + + $cookie = $self->decrypt_cookie__( $cookie ); + if ( $request =~ /^(GET|POST) (.*) HTTP\/1\./i ) { ! $code = $self->handle_url( $client, $2, $1, ! $content, $cookie ); $self->log_( 2, "HTTP handle_url returned code $code\n" ); *************** *** 223,233 **** # $command The HTTP command used (GET or POST) # $content Any non-header data in the HTTP command # # ---------------------------------------------------------------------------- sub handle_url { ! my ( $self, $client, $url, $command, $content ) = @_; ! return $self->{url_handler_}( $self, $client, $url, $command, $content ); } --- 247,295 ---- # $command The HTTP command used (GET or POST) # $content Any non-header data in the HTTP command + # $cookie Decrypted cookie value (or null) # # ---------------------------------------------------------------------------- sub handle_url { ! my ( $self, $client, $url, $command, $content, $cookie ) = @_; ! return $self->{url_handler_}( $self, $client, $url, $command, ! $content, $cookie ); ! } ! ! # ---------------------------------------------------------------------------- ! # ! # decrypt_cookie__ ! # ! # $cookie The cookie value to decrypt ! # ! # ---------------------------------------------------------------------------- ! sub decrypt_cookie__ ! { ! my ( $self, $cookie ) = @_; ! ! $self->log_( 2, "Decrypt cookie: $cookie" ); ! ! $cookie =~ /popfile=([^\r\n]+)/; ! if ( defined( $1 ) ) { ! return $self->{crypto__}->decrypt( decode_base64( $1 ) ); ! } else { ! return ''; ! } ! } ! ! # ---------------------------------------------------------------------------- ! # ! # encrypt_cookie_ ! # ! # $cookie The cookie value to encrypt ! # ! # ---------------------------------------------------------------------------- ! sub encrypt_cookie_ ! { ! my ( $self, $cookie ) = @_; ! ! $self->log_( 2, "Encrypting cookie $cookie" ); ! return encode_base64( $self->{crypto__}->encrypt( $cookie ), '' ); } *************** *** 301,324 **** # ---------------------------------------------------------------------------- # - # http_redirect_ - tell the browser to redirect to a url - # - # $client The web browser to send redirect to - # $url Where to go - # - # Return a valid HTTP/1.0 header containing a 302 redirect message to the passed in URL - # - # ---------------------------------------------------------------------------- - sub http_redirect_ - { - my ( $self, $client, $url ) = @_; - - my $header = "HTTP/1.0 302 Found$eol" . 'Location: '; - $header .= $url; - $header .= "$eol$eol"; - print $client $header; - } - - # ---------------------------------------------------------------------------- - # # http_error_ - Output a standard HTTP error message # --- 363,366 ---- *************** *** 346,351 **** # $type Set this to the HTTP return type (e.g. text/html or image/gif) # ! # Returns the contents of a file formatted into an HTTP 200 message or an HTTP 404 if the ! # file does not exist # # ---------------------------------------------------------------------------- --- 388,393 ---- # $type Set this to the HTTP return type (e.g. text/html or image/gif) # ! # Returns the contents of a file formatted into an HTTP 200 message or ! # an HTTP 404 if the file does not exist # # ---------------------------------------------------------------------------- *************** *** 368,381 **** # like graphics and style sheets in cache. ! my @day = ( 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ); ! my @month = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ); ! my $zulu = time; ! $zulu += 60 * 60; # 1 hour ! my ( $sec, $min, $hour, $mday, $mon, $year, $wday ) = gmtime( $zulu ); ! ! my $expires = sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT", # PROFILE BLOCK START ! $day[$wday], $mday, $month[$mon], $year+1900, ! $hour, 59, 0); # PROFILE BLOCK STOP ! my $header = "HTTP/1.0 200 OK$eol" . "Content-Type: $type$eol" . "Expires: $expires$eol" . "Content-Length: "; $header .= length($contents); --- 410,414 ---- # like graphics and style sheets in cache. ! my $expires = $self->zulu_offset_( 0, 1 ); my $header = "HTTP/1.0 200 OK$eol" . "Content-Type: $type$eol" . "Expires: $expires$eol" . "Content-Length: "; $header .= length($contents); *************** *** 387,390 **** --- 420,451 ---- } + # ---------------------------------------------------------------------------- + # + # zulu_offset_ + # + # $days Number of days to move forward + # $hours Number of hours to move forward + # + # Returns the current time in Zulu as a string suitable for passing to + # a web browser shifted forward $days or $hours. + # + # ---------------------------------------------------------------------------- + sub zulu_offset_ + { + my ( $self, $days, $hours ) = @_; + + my @day = ( 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ); + my @month = ( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', + 'Sep', 'Oct', 'Nov', 'Dec' ); + my $zulu = time; + $zulu += 60 * 60 * $hours; + $zulu += 24 * 60 * 60 * $days; + my ( $sec, $min, $hour, $mday, $mon, $year, $wday ) = gmtime( $zulu ); + + return sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT",# PROFILE BLOCK START + $day[$wday], $mday, $month[$mon], $year+1900, + $hour, 59, 0); # PROFILE BLOCK STOP + } + sub history { |
From: Manni H. <man...@us...> - 2005-02-14 09:24:22
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15015/UI Modified Files: HTML.pm Log Message: Cater for the increased number of tabs on the shutdown screen (the last tab didn't get styled) and hide the shutdown link in the shutdown page. Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.337 retrieving revision 1.338 diff -C2 -d -r1.337 -r1.338 *** HTML.pm 13 Feb 2005 02:16:34 -0000 1.337 --- HTML.pm 14 Feb 2005 09:24:11 -0000 1.338 *************** *** 3445,3449 **** } close CSS; ! $css .= "</style>"; # Load the template, set the class of the menu tabs, and send the --- 3445,3449 ---- } close CSS; ! $css .= ".headShutdown { display: none; } \n</style>"; # Load the template, set the class of the menu tabs, and send the *************** *** 3452,3456 **** my $templ = $self->load_template__( 'shutdown-page.thtml' ); ! for my $i (0..5) { $templ->param( "Common_Middle_Tab$i" => "menuStandard" ); } --- 3452,3456 ---- my $templ = $self->load_template__( 'shutdown-page.thtml' ); ! for my $i ( 0..6 ) { $templ->param( "Common_Middle_Tab$i" => "menuStandard" ); } |
From: John Graham-C. <jgr...@us...> - 2005-02-13 02:23:19
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28289/skins/default Added Files: users-page.thtml Log Message: More work on v0.23.0 (Multi-user Support) Add the 'Users' tab that is available only to administrators and allows them to create, remove and edit users. Users can be created as a clone of an existing user and the complete list of user parameters can be edited by the administrator. There is currently no way to use this information in POPFile (that's for my next commit); POPFile is still hard-wired to use any information related to user 1 (admin). ---- Classifier/Bayes.pm: Make the cache of user parameter values have entries for whether the value is default or not and also keep track of the last time that the cache entry was read or written so that later we can implementing culling of the cache to save space. New APIs added that are accessible by authenticated administrators: create_user (with optional cloning of another user), remove_user, get_user_list (returns a list of all users), get_user_parameter_list (returns the list of all parameters a user can have), get_user_id (returns the database ID for a named user). Add get_user_parameter as way to get a user parameter for the authenticated user. Change signature of get_user_parameter_from_id so that it returns both the value and whether the value is the default or not. POPFile/Module.pm: Update user_module_config_ because of the change in the signature of get_user_parameter_from_id. UI/HTML.pm: Add support for the users_page (using the users-page.thtml template) and handle create, remove and edit of users. New functions status_message__ and error_message__ are used to set a status or error message using the common-middle.thtml bars at the top of the UI. The intention is that all status and error messages are displayed in a standard place. languages/English.msg: Add strings needed by the new Users page. skins/default/style.css: New styles shellStatusMessage and shellErrorMessage for styling the display of status and error messages. The HTML for this is in common-middle.thtml. Remove DOS-style line endings. skins/default/common-middle.thtml: Add bars at the top of the screen above the tabs that can be used to display status and error messages. skins/default/advanced-page.thtml: Left justify the column headers on the list of user parameters because it looks better. skins/default/history-bar.thtml: Remove error messages that are now handled in HTML.pm by calling error_message__ with the appropriate error string. skins/default/users-page.thtml: Add HTML to handle the Users page. ---- TODO: Go through code and make all errors and status message use the new status_message__ and error_message__ functions in HTML. TODO: Cache flushing of user parameters in Bayes. TODO: New Bayes API functions need tests --- NEW FILE: users-page.thtml --- <TMPL_INCLUDE NAME="common-top.thtml"> <TMPL_INCLUDE NAME="common-middle.thtml"> <table cellpadding="10%" cellspacing="0" class="settingsTable" width="100%"> <tr> <td class="settingsPanel" valign="top"> <h3 class="users"><TMPL_VAR NAME="Localize_Users_Create"></h3> <form action="/users" method="post"> <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_VAR NAME="Localize_Users_CreateUser">: <input type="text" id="usersCreateUser" name="newuser" /> <br /> <TMPL_VAR NAME="Localize_Users_CopyFrom">: <select name="clone"> <option></option> <TMPL_LOOP NAME="Users_Loop_Copy"> <option><TMPL_VAR NAME="Users_Name"></option> </TMPL_LOOP> </select> <input type="submit" class="submit" name="create" value="<TMPL_VAR NAME="Localize_Create">" /> </form> <p > <TMPL_IF NAME="Users_If_Remove"> <hr /> <h3 class="users"><TMPL_VAR NAME="Localize_Users_Remove"></h3> <form action="/users" method="post"> <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_VAR NAME="Localize_Users_RemoveUser">: <select name="toremove"> <option></option> <TMPL_LOOP NAME="Users_Loop_Remove"> <option><TMPL_VAR NAME="Users_Name"></option> </TMPL_LOOP> </select> <input type="submit" class="submit" name="remove" value="<TMPL_VAR NAME="Localize_Remove">" /> </form> </TMPL_IF> </td> <td class="settingsPanel" valign="top"> <h3 class="users"><TMPL_VAR NAME="Localize_Users_Edit"></h3> <form action="/users" method="post"> <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <TMPL_VAR NAME="Localize_Users_EditUser">: <select name="editname"> <option></option> <TMPL_LOOP NAME="Users_Loop_Edit"> <option><TMPL_VAR NAME="Users_Name"></option> </TMPL_LOOP> </select> <input type="submit" class="submit" name="edituser" value="<TMPL_VAR NAME="Localize_Edit">" /> <br /> <TMPL_IF NAME="Users_If_Editing_User"> <br /><hr /> <h3><TMPL_VAR NAME="Localize_Users_Parameters"> (<TMPL_VAR NAME="Users_Edit_User_Name">)</h3> <table width="100%"> <tr> <th width="50%" align="left"><TMPL_VAR NAME="Localize_Advanced_Parameter"></th> <th width="50%" align="left"><TMPL_VAR NAME="Localize_Advanced_Value"></th> </tr> <TMPL_LOOP NAME="Users_Loop_Parameter"> <TMPL_IF NAME="Users_If_New_Module"> <tr> <td colspan="2"> <hr /> </td> </tr> </TMPL_IF> <tr> <td> <TMPL_IF NAME="Users_If_Changed"> <b> </TMPL_IF> <TMPL_VAR NAME="Users_Parameter"> <TMPL_IF NAME="Users_If_Changed"> </b> </TMPL_IF> </td> <td> <TMPL_IF NAME="Users_If_Password"> <input type="password" name="parameter_<TMPL_VAR NAME="Users_Parameter">" value="<TMPL_VAR NAME="Users_Value">"> <TMPL_ELSE> <input type="text" name="parameter_<TMPL_VAR NAME="Users_Parameter">" value="<TMPL_VAR NAME="Users_Value">"> </TMPL_IF> </td> </tr> </TMPL_LOOP> </table> <br /> <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> <input type="hidden" name="editname" value="<TMPL_VAR NAME="Users_Edit_User_Name">" /> <input type="hidden" name="edituser" value="<TMPL_VAR NAME="Users_Edit_User_Name">" /> <input type="submit" class="submit" value="<TMPL_VAR NAME="Localize_Update">" name="update_params"> </form> </TMPL_IF> </td> </tr> </table> <TMPL_INCLUDE NAME="common-before-configuration.thtml"> <TMPL_INCLUDE NAME="configuration-bar.thtml"> <TMPL_INCLUDE NAME="common-after-configuration.thtml"> <TMPL_INCLUDE NAME="common-bottom.thtml"> |
From: John Graham-C. <jgr...@us...> - 2005-02-13 02:16:45
|
Update of /cvsroot/popfile/engine/skins/default In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25558/skins/default Modified Files: advanced-page.thtml common-middle.thtml history-bar.thtml style.css Log Message: More work on v0.23.0 (Multi-user Support) Add the 'Users' tab that is available only to administrators and allows them to create, remove and edit users. Users can be created as a clone of an existing user and the complete list of user parameters can be edited by the administrator. There is currently no way to use this information in POPFile (that's for my next commit); POPFile is still hard-wired to use any information related to user 1 (admin). ---- Classifier/Bayes.pm: Make the cache of user parameter values have entries for whether the value is default or not and also keep track of the last time that the cache entry was read or written so that later we can implementing culling of the cache to save space. New APIs added that are accessible by authenticated administrators: create_user (with optional cloning of another user), remove_user, get_user_list (returns a list of all users), get_user_parameter_list (returns the list of all parameters a user can have), get_user_id (returns the database ID for a named user). Add get_user_parameter as way to get a user parameter for the authenticated user. Change signature of get_user_parameter_from_id so that it returns both the value and whether the value is the default or not. POPFile/Module.pm: Update user_module_config_ because of the change in the signature of get_user_parameter_from_id. UI/HTML.pm: Add support for the users_page (using the users-page.thtml template) and handle create, remove and edit of users. New functions status_message__ and error_message__ are used to set a status or error message using the common-middle.thtml bars at the top of the UI. The intention is that all status and error messages are displayed in a standard place. languages/English.msg: Add strings needed by the new Users page. skins/default/style.css: New styles shellStatusMessage and shellErrorMessage for styling the display of status and error messages. The HTML for this is in common-middle.thtml. Remove DOS-style line endings. skins/default/common-middle.thtml: Add bars at the top of the screen above the tabs that can be used to display status and error messages. skins/default/advanced-page.thtml: Left justify the column headers on the list of user parameters because it looks better. skins/default/history-bar.thtml: Remove error messages that are now handled in HTML.pm by calling error_message__ with the appropriate error string. skins/default/users-page.thtml: Add HTML to handle the Users page. ---- TODO: Go through code and make all errors and status message use the new status_message__ and error_message__ functions in HTML. TODO: Cache flushing of user parameters in Bayes. TODO: New Bayes API functions need tests Index: advanced-page.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/advanced-page.thtml,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** advanced-page.thtml 7 Feb 2005 08:05:51 -0000 1.11 --- advanced-page.thtml 13 Feb 2005 02:16:35 -0000 1.12 *************** *** 66,71 **** <table width="100%"> <tr> ! <th width="50%"><TMPL_VAR NAME="Localize_Advanced_Parameter"></th> ! <th width="50%"><TMPL_VAR NAME="Localize_Advanced_Value"></th> </tr> --- 66,71 ---- <table width="100%"> <tr> ! <th width="50%" align="left"><TMPL_VAR NAME="Localize_Advanced_Parameter"></th> ! <th width="50%" align="left"><TMPL_VAR NAME="Localize_Advanced_Value"></th> </tr> Index: common-middle.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/common-middle.thtml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** common-middle.thtml 6 Jan 2005 14:57:04 -0000 1.7 --- common-middle.thtml 13 Feb 2005 02:16:35 -0000 1.8 *************** *** 25,28 **** --- 25,36 ---- </table> <br /> + <TMPL_IF NAME="Header_If_Message"> + <table class="shellStatusMessage" width="100%"><tr class="shellStatusRow"><td><TMPL_VAR NAME="Header_Message"></td></tr></table> + <br /> + </TMPL_IF> + <TMPL_IF NAME="Header_If_Error"> + <table class="shellErrorMessage" width="100%"><tr class="shellErrorRow"><td><TMPL_VAR NAME="Header_Error"></td></tr></table> + <br /> + </TMPL_IF> <table class="menu" cellspacing="0" summary="<TMPL_VAR NAME="Localize_Header_MenuSummary>"> <tr> *************** *** 46,49 **** --- 54,61 ---- <td class="menuSpacer"></td> <td class="<TMPL_VAR NAME="Common_Middle_Tab5">" align="center"> + <a class="menuLink" href="/users?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_Users"></a> + </td> + <td class="menuSpacer"></td> + <td class="<TMPL_VAR NAME="Common_Middle_Tab6">" align="center"> <a class="menuLink" href="/advanced?session=<TMPL_VAR NAME="Session_Key">"><TMPL_VAR NAME="Localize_Header_Advanced"></a> </td> Index: history-bar.thtml =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/history-bar.thtml,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** history-bar.thtml 9 Feb 2005 10:45:35 -0000 1.11 --- history-bar.thtml 13 Feb 2005 02:16:35 -0000 1.12 *************** *** 43,56 **** <input type="hidden" name="session" value="<TMPL_VAR NAME="Session_Key">" /> - <TMPL_IF NAME="Configuration_If_Page_Size_Error"> - - <blockquote> - <div class="error01"> - <TMPL_VAR NAME="Localize_Configuration_Error4"> - </div> - </blockquote> - - </TMPL_IF> - </div> <div class="configBarOption"> --- 43,46 ---- *************** *** 66,78 **** <input type="submit" class="submit" name="update_history_days" value="<TMPL_VAR NAME="Localize_Apply">" /> - <TMPL_IF NAME="Configuration_If_History_Days_Error"> - - <blockquote> - <div class="error01"> - <TMPL_VAR NAME="Localize_Configuration_Error5"> - </div> - </blockquote> - - </TMPL_IF> </div> </form> --- 56,59 ---- Index: style.css =================================================================== RCS file: /cvsroot/popfile/engine/skins/default/style.css,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** style.css 10 Feb 2005 19:44:40 -0000 1.13 --- style.css 13 Feb 2005 02:16:35 -0000 1.14 *************** *** 1,273 **** ! /*********************************************************/ ! /* Main Body */ ! ! body { ! color: #000000; ! background-color: #FFFFFF; ! font-family: sans-serif; ! font-size: 100%; ! } ! ! /*********************************************************/ ! /* Shell structure */ ! ! .shell, .shellTop { ! color: #000000; ! background-color: #EDEDCA; ! border: 3px #CCCC99 solid; ! } ! ! table.head { ! width: 100%; ! } ! ! td.head { ! font-weight: normal; ! font-size: 1.8em; ! } ! ! table.footer { ! width: 100%; ! } ! ! td.footerBody { ! text-align: center; ! } ! ! td.naked { ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! td.logo2menuSpace { ! height: 0.8em; ! } ! ! /*********************************************************/ ! /* Menu Settings */ ! ! .menu { ! font-size: 1.2em; ! font-weight: bold; ! width: 100%; ! } ! ! .menuSelected { ! color: #000000; ! background-color: #CCCC99; ! width: 14%; ! } ! ! .menuStandard { ! color: #000000; ! background-color: #EDEDCA; ! width: 14%; ! } ! ! .menuIndent { ! width: 8%; ! } ! ! .menuLink { ! display: block; ! width: 100%; ! } ! ! /*********************************************************/ ! /* Table Settings */ ! ! .settingsTable { ! border: 1px solid #CCCC99; ! } ! ! .settingsPanel { ! border: 1px solid #CCCC99; ! } ! ! .openMessageTable { ! border: 3px solid #CCCC99; ! } ! ! td.openMessageBody { ! text-align: left; ! } ! ! td.openMessageCloser { ! text-align: right; ! } ! ! tr.rowEven { ! color: #000000; ! background-color: #EDEDCA; ! } ! ! tr.rowOdd { ! color: #000000; ! background-color: #DFDFAF; ! } ! ! tr.rowHighlighted { ! color: #000000; ! background-color: #B7B7B7; ! } ! ! tr.rowBoundary { ! color: #000000; ! background-color: #AFAF7F; ! } ! ! .lookupResultsTable { ! border: 3px solid #CCCC99; ! } ! ! tr.rowBoundary { ! background-color: #CCCC99; ! } ! ! /*********************************************************/ ! /* Graphics */ ! ! span.graphFont { ! font-size: x-small; ! } ! ! /*********************************************************/ ! /* Messages */ ! ! div.error01 { ! background-color: transparent; ! color: red; ! font-size: larger; ! } ! ! div.error02 { ! background-color: transparent; ! color: red; ! } ! ! div.helpMessage { ! background-color: #DFDFAF; ! border: 2px solid #CCCC99; ! padding: 0.4em; ! padding-bottom: 0; ! } ! ! /*********************************************************/ ! /* Form Labels */ ! ! .historyLabel { ! font-weight: bold; ! } ! ! .historyLabelSort { ! font-weight: bold; ! font-style: normal; ! } ! ! .bucketsLabel { ! font-weight: bold; ! } ! ! .magnetsLabel { ! font-weight: bold; ! } ! ! .securityLabel { ! font-weight: bold; ! } ! ! .configurationLabel { ! font-weight: bold; ! } ! ! .advancedLabel { ! font-weight: bold; ! } ! ! .passwordLabel { ! font-weight: bold; ! } ! ! .sessionLabel { ! font-weight: bold; ! } ! ! .bucketsWidgetStateOn, .bucketsWidgetStateOff { ! font-weight: bold; ! } ! ! .configWidgetStateOn, .configWidgetStateOff { ! font-weight: bold; ! } ! ! .securityWidgetStateOn, .securityWidgetStateOff { ! font-weight: bold; ! } ! ! /*********************************************************/ ! /* Positioning */ ! ! table.historyWidgetsTop { ! width: 100%; ! margin-left: 1.5em; ! margin-top: 0.6em; ! margin-bottom: 1.0em; ! } ! ! table.historyWidgetsBottom { ! width: 100%; ! margin-top: 0.6em; ! } ! ! .historyNavigatorTop, .historyNavigatorBottom { ! text-align: right; ! } ! ! .magnetsTable caption { ! text-align: left; ! } ! ! /*********************************************************/ ! /* Config Bars */ ! ! .configBar { ! background-color: #DFDFAF; ! border: 1px solid #CCCC99; ! margin-top: 0.5em; ! } ! ! .configBar td { ! border: 1px solid #CCCC99; ! } ! ! .configBar form { ! margin: 0; ! } ! ! .configBarOption { ! border: 1px solid #CCCC99; ! margin: 0.3em; ! padding: 0.3em; ! display: inline; ! float: left; ! min-height: 3em; ! } ! ! .toggleConfigBar { ! float: right; ! border: 0; ! } ! ! .checkLabel { ! border: 1px solid #CCCC99; ! white-space: nowrap; ! } ! ! .configBar input.submit { ! margin-top: 4px; ! } ! ! .configBar label.configurationLabel { ! display: block; ! } --- 1,285 ---- ! /*********************************************************/ ! /* Main Body */ ! ! body { ! color: #000000; ! background-color: #FFFFFF; ! font-family: sans-serif; ! font-size: 100%; ! } ! ! /*********************************************************/ ! /* Shell structure */ ! ! .shell, .shellTop { ! color: #000000; ! background-color: #EDEDCA; ! border: 3px #CCCC99 solid; ! } ! ! .shellStatusMessage { ! color: #000000; ! background-color: #EDEDCA; ! border: 3px #CCCC99 solid; ! } ! ! .shellErrorMessage { ! color: #FF0000; ! background-color: #EDEDCA; ! border: 3px #CCCC99 solid; ! } ! ! table.head { ! width: 100%; ! } ! ! td.head { ! font-weight: normal; ! font-size: 1.8em; ! } ! ! table.footer { ! width: 100%; ! } ! ! td.footerBody { ! text-align: center; ! } ! ! td.naked { ! padding: 0; ! margin: 0; ! border: 0; ! } ! ! td.logo2menuSpace { ! height: 0.8em; ! } ! ! /*********************************************************/ ! /* Menu Settings */ ! ! .menu { ! font-size: 1.2em; ! font-weight: bold; ! width: 100%; ! } ! ! .menuSelected { ! color: #000000; ! background-color: #CCCC99; ! width: 14%; ! } ! ! .menuStandard { ! color: #000000; ! background-color: #EDEDCA; ! width: 14%; ! } ! ! .menuIndent { ! width: 8%; ! } ! ! .menuLink { ! display: block; ! width: 100%; ! } ! ! /*********************************************************/ ! /* Table Settings */ ! ! .settingsTable { ! border: 1px solid #CCCC99; ! } ! ! .settingsPanel { ! border: 1px solid #CCCC99; ! } ! ! .openMessageTable { ! border: 3px solid #CCCC99; ! } ! ! td.openMessageBody { ! text-align: left; ! } ! ! td.openMessageCloser { ! text-align: right; ! } ! ! tr.rowEven { ! color: #000000; ! background-color: #EDEDCA; ! } ! ! tr.rowOdd { ! color: #000000; ! background-color: #DFDFAF; ! } ! ! tr.rowHighlighted { ! color: #000000; ! background-color: #B7B7B7; ! } ! ! tr.rowBoundary { ! color: #000000; ! background-color: #AFAF7F; ! } ! ! .lookupResultsTable { ! border: 3px solid #CCCC99; ! } ! ! tr.rowBoundary { ! background-color: #CCCC99; ! } ! ! /*********************************************************/ ! /* Graphics */ ! ! span.graphFont { ! font-size: x-small; ! } ! ! /*********************************************************/ ! /* Messages */ ! ! div.error01 { ! background-color: transparent; ! color: red; ! font-size: larger; ! } ! ! div.error02 { ! background-color: transparent; ! color: red; ! } ! ! div.helpMessage { ! background-color: #DFDFAF; ! border: 2px solid #CCCC99; ! padding: 0.4em; ! padding-bottom: 0; ! } ! ! /*********************************************************/ ! /* Form Labels */ ! ! .historyLabel { ! font-weight: bold; ! } ! ! .historyLabelSort { ! font-weight: bold; ! font-style: normal; ! } ! ! .bucketsLabel { ! font-weight: bold; ! } ! ! .magnetsLabel { ! font-weight: bold; ! } ! ! .securityLabel { ! font-weight: bold; ! } ! ! .configurationLabel { ! font-weight: bold; ! } ! ! .advancedLabel { ! font-weight: bold; ! } ! ! .passwordLabel { ! font-weight: bold; ! } ! ! .sessionLabel { ! font-weight: bold; ! } ! ! .bucketsWidgetStateOn, .bucketsWidgetStateOff { ! font-weight: bold; ! } ! ! .configWidgetStateOn, .configWidgetStateOff { ! font-weight: bold; ! } ! ! .securityWidgetStateOn, .securityWidgetStateOff { ! font-weight: bold; ! } ! ! /*********************************************************/ ! /* Positioning */ ! ! table.historyWidgetsTop { ! width: 100%; ! margin-left: 1.5em; ! margin-top: 0.6em; ! margin-bottom: 1.0em; ! } ! ! table.historyWidgetsBottom { ! width: 100%; ! margin-top: 0.6em; ! } ! ! .historyNavigatorTop, .historyNavigatorBottom { ! text-align: right; ! } ! ! .magnetsTable caption { ! text-align: left; ! } ! ! /*********************************************************/ ! /* Config Bars */ ! ! .configBar { ! background-color: #DFDFAF; ! border: 1px solid #CCCC99; ! margin-top: 0.5em; ! } ! ! .configBar td { ! border: 1px solid #CCCC99; ! } ! ! .configBar form { ! margin: 0; ! } ! ! .configBarOption { ! border: 1px solid #CCCC99; ! margin: 0.3em; ! padding: 0.3em; ! display: inline; ! float: left; ! min-height: 3em; ! } ! ! .toggleConfigBar { ! float: right; ! border: 0; ! } ! ! .checkLabel { ! border: 1px solid #CCCC99; ! white-space: nowrap; ! } ! ! .configBar input.submit { ! margin-top: 4px; ! } ! ! .configBar label.configurationLabel { ! display: block; ! } |
From: John Graham-C. <jgr...@us...> - 2005-02-13 02:16:43
|
Update of /cvsroot/popfile/engine/languages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25558/languages Modified Files: English.msg Log Message: More work on v0.23.0 (Multi-user Support) Add the 'Users' tab that is available only to administrators and allows them to create, remove and edit users. Users can be created as a clone of an existing user and the complete list of user parameters can be edited by the administrator. There is currently no way to use this information in POPFile (that's for my next commit); POPFile is still hard-wired to use any information related to user 1 (admin). ---- Classifier/Bayes.pm: Make the cache of user parameter values have entries for whether the value is default or not and also keep track of the last time that the cache entry was read or written so that later we can implementing culling of the cache to save space. New APIs added that are accessible by authenticated administrators: create_user (with optional cloning of another user), remove_user, get_user_list (returns a list of all users), get_user_parameter_list (returns the list of all parameters a user can have), get_user_id (returns the database ID for a named user). Add get_user_parameter as way to get a user parameter for the authenticated user. Change signature of get_user_parameter_from_id so that it returns both the value and whether the value is the default or not. POPFile/Module.pm: Update user_module_config_ because of the change in the signature of get_user_parameter_from_id. UI/HTML.pm: Add support for the users_page (using the users-page.thtml template) and handle create, remove and edit of users. New functions status_message__ and error_message__ are used to set a status or error message using the common-middle.thtml bars at the top of the UI. The intention is that all status and error messages are displayed in a standard place. languages/English.msg: Add strings needed by the new Users page. skins/default/style.css: New styles shellStatusMessage and shellErrorMessage for styling the display of status and error messages. The HTML for this is in common-middle.thtml. Remove DOS-style line endings. skins/default/common-middle.thtml: Add bars at the top of the screen above the tabs that can be used to display status and error messages. skins/default/advanced-page.thtml: Left justify the column headers on the list of user parameters because it looks better. skins/default/history-bar.thtml: Remove error messages that are now handled in HTML.pm by calling error_message__ with the appropriate error string. skins/default/users-page.thtml: Add HTML to handle the Users page. ---- TODO: Go through code and make all errors and status message use the new status_message__ and error_message__ functions in HTML. TODO: Cache flushing of user parameters in Bayes. TODO: New Bayes API functions need tests Index: English.msg =================================================================== RCS file: /cvsroot/popfile/engine/languages/English.msg,v retrieving revision 1.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** English.msg 7 Feb 2005 08:05:36 -0000 1.83 --- English.msg 13 Feb 2005 02:16:35 -0000 1.84 *************** *** 79,82 **** --- 79,83 ---- Down Down Go Go + Edit Edit # This is a regular expression pattern that is used to convert *************** *** 107,110 **** --- 108,112 ---- Header_Administration Administration Header_Magnets Magnets + Header_Users Users Footer_HomePage POPFile Home Page *************** *** 192,195 **** --- 194,214 ---- Advanced_ConfigFile Configuration file: + Users_Create Create New User + Users_Remove Remove Existing User + Users_Edit Edit User Settings + Users_CopyFrom Copying settings from user + Users_RemoveUser Remove user + Users_CreateUser Create user named + Users_EditUser Edit user + Users_Parameters Parameters + Users_Created Created user '%s' + Users_Not_Created Failed to create user '%s' + Users_Created_And_Cloned Created user '%s' as clone of '%s' + Users_Not_Created_Exists User '%s' not created: already exists + Users_Created_Not_Cloned Created user '%s' but clone of '%s' failed + Users_Removed Removed user '%s' + Users_Removed_Failed Failed to remove user '%s' + Users_Removed_Failed_Admin Failed to remove user '%s': disable admin rights first + History_Filter (just showing bucket <font color="%s">%s</font>) History_FilterBy Filter By |
From: John Graham-C. <jgr...@us...> - 2005-02-13 02:16:43
|
Update of /cvsroot/popfile/engine/UI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25558/UI Modified Files: HTML.pm Log Message: More work on v0.23.0 (Multi-user Support) Add the 'Users' tab that is available only to administrators and allows them to create, remove and edit users. Users can be created as a clone of an existing user and the complete list of user parameters can be edited by the administrator. There is currently no way to use this information in POPFile (that's for my next commit); POPFile is still hard-wired to use any information related to user 1 (admin). ---- Classifier/Bayes.pm: Make the cache of user parameter values have entries for whether the value is default or not and also keep track of the last time that the cache entry was read or written so that later we can implementing culling of the cache to save space. New APIs added that are accessible by authenticated administrators: create_user (with optional cloning of another user), remove_user, get_user_list (returns a list of all users), get_user_parameter_list (returns the list of all parameters a user can have), get_user_id (returns the database ID for a named user). Add get_user_parameter as way to get a user parameter for the authenticated user. Change signature of get_user_parameter_from_id so that it returns both the value and whether the value is the default or not. POPFile/Module.pm: Update user_module_config_ because of the change in the signature of get_user_parameter_from_id. UI/HTML.pm: Add support for the users_page (using the users-page.thtml template) and handle create, remove and edit of users. New functions status_message__ and error_message__ are used to set a status or error message using the common-middle.thtml bars at the top of the UI. The intention is that all status and error messages are displayed in a standard place. languages/English.msg: Add strings needed by the new Users page. skins/default/style.css: New styles shellStatusMessage and shellErrorMessage for styling the display of status and error messages. The HTML for this is in common-middle.thtml. Remove DOS-style line endings. skins/default/common-middle.thtml: Add bars at the top of the screen above the tabs that can be used to display status and error messages. skins/default/advanced-page.thtml: Left justify the column headers on the list of user parameters because it looks better. skins/default/history-bar.thtml: Remove error messages that are now handled in HTML.pm by calling error_message__ with the appropriate error string. skins/default/users-page.thtml: Add HTML to handle the Users page. ---- TODO: Go through code and make all errors and status message use the new status_message__ and error_message__ functions in HTML. TODO: Cache flushing of user parameters in Bayes. TODO: New Bayes API functions need tests Index: HTML.pm =================================================================== RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v retrieving revision 1.336 retrieving revision 1.337 diff -C2 -d -r1.336 -r1.337 *** HTML.pm 10 Feb 2005 10:12:43 -0000 1.336 --- HTML.pm 13 Feb 2005 02:16:34 -0000 1.337 *************** *** 500,503 **** --- 500,504 ---- 'magnets' => [ \&magnet_page, 'magnet-page.thtml' ], 'advanced' => [ \&advanced_page, 'advanced-page.thtml' ], + 'users' => [ \&users_page, 'users-page.thtml' ], 'history' => [ \&history_page, 'history-page.thtml' ], 'view' => [ \&view_page, 'view-page.thtml' ] ); # PROFILE BLOCK STOP *************** *** 507,510 **** --- 508,512 ---- '/magnets' => 'magnets', '/advanced' => 'advanced', + '/users' => 'users', '/view' => 'view', '/history' => 'history', *************** *** 517,520 **** --- 519,523 ---- delete $url_table{administration}; delete $url_table{advanced}; + delete $url_table{users}; } *************** *** 608,612 **** $selected = -1 if ( !defined( $selected ) ); ! my @tab = ( 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard' ); $tab[$selected] = 'menuSelected' if ( ( $selected <= $#tab ) && ( $selected >= 0 ) ); --- 611,615 ---- $selected = -1 if ( !defined( $selected ) ); ! my @tab = ( 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard', 'menuStandard' ); $tab[$selected] = 'menuSelected' if ( ( $selected <= $#tab ) && ( $selected >= 0 ) ); *************** *** 685,689 **** $self->user_config_( 1, 'page_size', $self->{form_}{page_size} ); } else { ! $templ->param( 'Configuration_If_Page_Size_Error' => 1 ); delete $self->{form_}{page_size}; } --- 688,693 ---- $self->user_config_( 1, 'page_size', $self->{form_}{page_size} ); } else { ! $self->error_message__( $templ, ! $self->{language__}{Configuration_Error4} ); delete $self->{form_}{page_size}; } *************** *** 699,702 **** --- 703,708 ---- $self->{form_}{history_days} ); } else { + $self->error_message__( $templ, + $self->{language__}{Configuration_Error5} ); $templ->param( 'Configuration_If_History_Days_Error' => 1 ); delete $self->{form_}{history_days}; *************** *** 1070,1073 **** --- 1076,1190 ---- #---------------------------------------------------------------------------- # + # users_page - Handle user creation, deletion, etc. + # + # $client The web browser to send the results to + # + #---------------------------------------------------------------------------- + sub users_page + { + my ( $self, $client, $templ, $template, $page ) = @_; + + $templ = $self->handle_configuration_bar__( $client, $templ, $template, + $page ); + + # Handle user creation + + if ( exists( $self->{form_}{create} ) && ( $self->{form_}{newuser} ne '' ) ) { + my $result = $self->classifier_()->create_user( $self->{api_session__}, $self->{form_}{newuser}, $self->{form_}{clone} ); + if ( $result == 0 ) { + if ( $self->{form_}{clone} ne '' ) { + $self->status_message__( $templ, sprintf( $self->{language__}{Users_Created_And_Cloned}, $self->{form_}{newuser}, $self->{form_}{clone} ) ); + } else { + $self->status_message__( $templ, sprintf( $self->{language__}{Users_Created}, $self->{form_}{newuser} ) ); + } + } + if ( $result == 1 ) { + $self->error_message__( $templ, sprintf( $self->{language__}{Users_Not_Created_Exists}, $self->{form_}{newuser} ) ); + } + if ( $result == 2 ) { + $self->error_message__( $templ, sprintf( $self->{language__}{Users_Not_Created}, $self->{form_}{newuser} ) ); + } + if ( $result == 3 ) { + $self->error_message__( $templ, sprintf( $self->{language__}{Users_Created_Not_Cloned}, $self->{form_}{newuser}, $self->{form_}{clone} ) ); + } + } + + # Handle user removal + + if ( exists( $self->{form_}{remove} ) && ( $self->{form_}{toremove} ne '' ) ) { + my $result = $self->classifier_()->remove_user( $self->{api_session__}, $self->{form_}{toremove} ); + if ( $result == 0 ) { + $self->status_message__( $templ, sprintf( $self->{language__}{Users_Removed}, $self->{form_}{toremove} ) ); + } + if ( $result == 1 ) { + $self->error_message__( $templ, sprintf( $self->{language__}{Users_Removed_Failed}, $self->{form_}{toremove} ) ); + } + if ( $result == 2 ) { + $self->error_message__( $templ, sprintf( $self->{language__}{Users_Removed_Failed_Admin}, $self->{form_}{toremove} ) ); + } + } + + # Handle editing the parameters of a user + + if ( defined( $self->{form_}{update_params} ) ) { + my $id = $self->classifier_()->get_user_id( $self->{api_session__}, $self->{form_}{editname} ); + foreach my $param (sort keys %{$self->{form_}}) { + if ( $param =~ /parameter_(.*)/ ) { + $self->classifier_()->set_user_parameter_from_id( $id, + $1, $self->{form_}{$param} ); + } + } + } + + my $users = $self->classifier_()->get_user_list( $self->{api_session__} ); + + my @user_loop; + my @remove_user_loop; + foreach my $user (@$users) { + my %row_data; + $row_data{Users_Name} = $user; + push ( @user_loop, \%row_data); + if ( $user ne 'admin' ) { + push ( @remove_user_loop, \%row_data); + } + } + if ( $#remove_user_loop != -1 ) { + $templ->param( 'Users_Loop_Remove' => \@remove_user_loop ); + $templ->param( 'Users_If_Remove' => 1 ); + } + $templ->param( 'Users_Loop_Edit' => \@user_loop ); + $templ->param( 'Users_Loop_Copy' => \@user_loop ); + + if ( exists( $self->{form_}{edituser} ) ) { + my $id = $self->classifier_()->get_user_id( $self->{api_session__}, $self->{form_}{editname} ); + my @parameters = $self->classifier_()->get_user_parameter_list( $self->{api_session__} ); + + my @parameter_list; + my $last = ''; + foreach my $param (sort @parameters) { + my %row_data; + $param =~ /^([^_]+)_/; + if ( ( $last ne '' ) && ( $last ne $1 ) ) { + $row_data{Users_If_New_Module} = 1; + } else { + $row_data{Users_If_New_Module} = 0; + } + $last = $1; + $row_data{Users_Parameter} = $param; + my ( $val, $default ) = $self->classifier_()->get_user_parameter_from_id( $id, $param ); + $row_data{Users_Value} = $val; + $row_data{Users_If_Changed} = !$default; + push ( @parameter_list, \%row_data ); + } + $templ->param( 'Users_Loop_Parameter' => \@parameter_list ); + $templ->param( 'Users_If_Editing_User' => 1 ); + $templ->param( 'Users_Edit_User_Name' => $self->{form_}{editname} ); + } + + $self->http_ok( $client, $templ, 5 ); + } + + #---------------------------------------------------------------------------- + # # advanced_page - very advanced configuration options # *************** *** 1208,1212 **** $templ->param( 'Advanced_Loop_Parameter' => \@param_loop ); ! $self->http_ok( $client, $templ, 5 ); } --- 1325,1329 ---- $templ->param( 'Advanced_Loop_Parameter' => \@param_loop ); ! $self->http_ok( $client, $templ, 6 ); } *************** *** 2834,2837 **** --- 2951,2994 ---- #---------------------------------------------------------------------------- # + # status_message__ + # + # Called to cause the next page generated to show a status message + # (typically at the top) + # + # $templ The current page template + # $message The message to display + # + #---------------------------------------------------------------------------- + sub status_message__ + { + my ( $self, $templ, $message ) = @_; + + my $old = $templ->param( 'Header_Message' ) || ''; + $templ->param( 'Header_If_Message' => 1 ); + $templ->param( 'Header_Message' =>($old ne '')?("$message<br />$old" ):$message); + } + + #---------------------------------------------------------------------------- + # + # error_message__ + # + # Called to cause the next page generated to show a error message + # (typically at the top) + # + # $templ The current page template + # $message The message to display + # + #---------------------------------------------------------------------------- + sub error_message__ + { + my ( $self, $templ, $message ) = @_; + + my $old = $templ->param( 'Header_Error' ) || ''; + $templ->param( 'Header_If_Error' => 1 ); + $templ->param( 'Header_Error' => ($old ne '')?("$message<br />$old" ):$message); + } + + #---------------------------------------------------------------------------- + # # load_template__ # |