/[webpac2]/trunk/vhost/webpac2.cgi
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/vhost/webpac2.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1140 by dpavlin, Wed Apr 22 13:20:49 2009 UTC revision 1141 by dpavlin, Wed Apr 22 14:27:25 2009 UTC
# Line 13  use Data::Dump qw/dump/; Line 13  use Data::Dump qw/dump/;
13    
14  my $range_around = 5;  my $range_around = 5;
15  my $entries_per_page = 30;  my $entries_per_page = 30;
16    my $debug = param('debug');
17    
18  print header;  print header;
19    
20  sub dump_yaml {  sub dump_yaml {
21          my $name = shift;          my $name = shift;
22          print qq|<pre># $name\n|, YAML::Dump( @_ ), qq|</pre>|;          print qq|<pre># $name\n|, YAML::Dump( @_ ), qq|</pre>| if $debug;
23  }  }
24    
25  sub show_pager {  sub show_pager {
26          my ($pager,$coderef) = @_;          my ($pager) = @_;
27    
28          my @show_pages;          my @show_pages;
29          my $after_current = 0;          my $after_current = 0;
# Line 46  sub show_pager { Line 47  sub show_pager {
47    
48          my ( $prev, $next ) = ( '&lt;&lt;', '&gt;&gt;' );          my ( $prev, $next ) = ( '&lt;&lt;', '&gt;&gt;' );
49    
50            sub li_a_href {
51                    my ( $page, $label, $attr ) = @_;
52                    param( 'current_page', $page );
53                    my $url = self_url( -query => 1 );
54                    $attr ||= '';
55                    $label ||= $page;
56                    qq|<li$attr><a href="$url" title="$page">$label</a></li>|;
57            }
58    
59          return          return
60                    $pager->previous_page ? $coderef->( $pager->previous_page, $prev ) : qq|<span class=skip>$prev</span>|                    $pager->previous_page ? li_a_href( $pager->previous_page, $prev ) : qq|<li class=skip>$prev</li>|
61                  , join( ' ', map {                  , ( map {
62                          if ( $_ == $pager->current_page ) {                          if ( $_ == $pager->current_page ) {
63                                  qq|<span class=current_page>$_</span>|;                                  qq|<li class=current_page>$_</li>|;
64                          } elsif ( $_ eq '' ) {                          } elsif ( $_ eq '' ) {
65                                  qq|<span class=skip>...</span>|;                                  qq|<li class=skip>...</li>|;
66                          } else {                          } else {
67                                  $coderef->( $_ );                                  li_a_href( $_ );
68                          }                          }
69                  } @show_pages )                  } @show_pages )
70                  , $pager->next_page ? $coderef->( $pager->next_page, $next ) : qq|<span class=skip>$next</span>|                  , $pager->next_page ? li_a_href( $pager->next_page, $next ) : qq|<li class=skip>$next</li>|
71                  ;                  ;
72                                    
73  }  }
# Line 135  if ( my $search = param('search') ) { Line 145  if ( my $search = param('search') ) {
145    
146          if ( ! $nres ) {          if ( ! $nres ) {
147                  my $no_results = "No results for search '%s'";                  my $no_results = "No results for search '%s'";
148                  printf qq|<div class="error">$no_results</div>|, $search;                  printf qq|<div class="error">$no_results</div>\n\n|, $search;
149          } else {          } else {
150    
151                  my $results = "%d results for search '%s' showing results %d - %d on page %d";                  my $results = "%d results for search '%s' showing results %d - %d on page %d";
152                  printf qq|<div class="message">$results</div>|, $nres->hits, $search, $pager->first, $pager->last, $pager->current_page;                  printf qq|<div class="message">$results</div>\n\n|, $nres->hits, $search, $pager->first, $pager->last, $pager->current_page;
153    
154                  my $pager_html =                  dump_yaml( 'pager html', show_pager( $pager ));
155                          join(' ', show_pager( $pager,  
156                                  sub {                  my $pager_html = join("\n", show_pager( $pager ));
                                         my ($page,$label) = @_;  
                                         param( 'current_page', $page );  
                                         my $url = self_url( -query => 1 );  
                                         $label = $page unless defined $label;  
                                         qq|<a href="$url">$label</a>|;  
                                 }  
                         ))  
                 ;  
157    
158                  print qq|<div class="pager top">$pager_html</div>| if $pager_html;                  print qq|<ul class="pager">$pager_html</ul>\n\n| if $pager_html;
159    
160                  my $start = $pager->first;                  my $start = $pager->first;
161                  print qq|<ol start=$start>|;                  print qq|<ol start=$start>\n|;
162    
163                  foreach my $i ( 1 .. $nres->doc_num ) {                  foreach my $i ( 1 .. $nres->doc_num ) {
164                          my $rdoc = $nres->get_doc( $i - 1 );                          my $rdoc = $nres->get_doc( $i - 1 );
# Line 175  if ( my $search = param('search') ) { Line 177  if ( my $search = param('search') ) {
177                          }                          }
178                          print qq|</li>\n|;                          print qq|</li>\n|;
179                  }                  }
180                  print qq|</ol>|;                  print qq|</ol>\n\n|;
181    
182                  print qq|<div class="pager bottom">$pager_html</div>| if $pager_html;                  print qq|<ul class="pager bottom">$pager_html</ul>\n\n| if $pager_html;
183          }          }
184          print qq|</div>|;          print qq|</div>|;
185    

Legend:
Removed from v.1140  
changed lines
  Added in v.1141

  ViewVC Help
Powered by ViewVC 1.1.26