--- trunk/vhost/webpac2.cgi 2009/06/11 18:55:53 1227 +++ trunk/vhost/webpac2.cgi 2009/07/12 17:23:47 1240 @@ -13,7 +13,7 @@ use JSON; my $range_around = 5; -my $entries_per_page = 30; +my @entries_per_page = ( 30, 50, 100, 500 ); my $debug = param('debug'); print header( @@ -125,19 +125,21 @@ my $attr_labels = read_config_txt 'labels'; my $attr_operators = read_config_txt 'operators'; -my @attr = @{ $attr_labels->{'-values'} }; +my @attr = @{ $attr_labels->{'-values'} } if $attr_labels; @attr = keys %{ $stats->{attr} } unless @attr; warn dump( $attr_labels, $attr_operators ); my $only_input; +my $inputs_available = 0; foreach ( @{ $db->{input} } ) { my $input = $_->{name} || die "no name in ",dump( $_ ); if ( ! $only_input->{'-labels'}->{$input} ) { push @{ $only_input->{'-values'} }, $input; $only_input->{'-labels'}->{$input} = $_->{description} || $input; + $inputs_available++; } } @@ -157,18 +159,20 @@ ), textfield( -name => 'search' ), $attr_operators ? popup_menu( -name => 'attr_operator', %$attr_operators ) : '', - submit, - hidden( -name => 'entries_per_page', -default => $entries_per_page ), + submit( -value => 'Search' ), +# hidden( -name => 'entries_per_page', -default => $entries_per_page ), + popup_menu( -name => 'entries_per_page', -values => [ @entries_per_page ], -title => 'entries per page' ), # we need current_page fixed at 1 so that every submit through form will reset it qq||, checkbox( -name => 'debug', -default => 0 ), # FIXME hidden? qq|
|, - h2( 'Select input' ), + $inputs_available > 1 ? + h2( 'Select input' ) . checkbox_group( -name => 'only_input', %$only_input, -linebreak=> 'true', - ), + ) : '', qq|
|, end_form, ; @@ -288,7 +292,7 @@ next unless defined $data->{$attr}; my $v = $data->{$attr}; if ( $html_markup && ! $html_markup_skip->{$attr} ) { - eval "\$v = $html_markup->$attr( \$v );"; + eval "\$v = $html_markup->$attr( \$v, \$data );"; if ( $@ ) { warn "disable html markup for $attr: $@"; $html_markup_skip->{$attr} = $@;