Changeset 19

Show
Ignore:
Timestamp:
02/10/07 00:54:00 (2 years ago)
Author:
simon
Message:

Add interface to "most popular photos"

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Memories/Photo.pm

    r15 r19  
    1515LIMIT 4 
    1616}); 
     17__PACKAGE__->set_sql(popular => q{ 
     18SELECT __ESSENTIAL__ 
     19FROM __TABLE__ 
     20ORDER BY hit_count DESC 
     21LIMIT 4 
     22}); 
    1723 
    1824__PACKAGE__->has_many(comments => "Memories::Comment"); 
     
    119125use Class::DBI::Plugin::AbstractCount; 
    120126 
    121 sub recent :Exported { 
    122     my ($self, $r) = @_; 
     127sub view_paged_ordered { 
     128    my ($self, $r, $how) = @_; 
    123129    my $page = $r->params->{page} || 1; 
    124130    my $pager = $self->pager( 
     
    126132        page => $page, 
    127133        syntax => PAGER_SYNTAX, 
    128         order_by => "uploaded desc" 
     134        order_by => $how 
    129135    ); 
    130136    $r->objects([$pager->retrieve_all ]); 
    131137    $r->{template_args}{pager} = $pager; 
    132138    $r->last_search; 
     139    $r->template("paged"); # Set the what using the action name 
     140} 
     141 
     142sub recent :Exported { 
     143    my ($self, $r) = @_; 
     144    $self->view_paged_ordered($r, "uploaded desc"); 
     145} 
     146 
     147sub popular :Exported { 
     148    my ($self, $r) = @_; 
     149    $self->view_paged_ordered($r, "hit_count desc"); 
    133150} 
    134151 
  • trunk/templates/macros

    r18 r19  
    3030        <br/> 
    3131[% IF r > 0 OR photo.hit_count > 0 %] 
    32     [% photo.hit_count %] views 
    33     [% IF r > 0 %] <br> [% ministar(r, photo) %] in [%photo.rated %] ratings [% END %] 
     32    [% photo.hit_count %] view[%IF photo.hit_count>1%]s[% END %] 
     33    [% IF r > 0 %] <br> [% ministar(r, photo) %] in [%photo.rated %] 
     34    rating[%IF photo.rated > 1%]s[%END%] [% END %] 
    3435[% END %] 
    3536    </td></tr> 
  • trunk/templates/photo/paged

    r2 r19  
    11[% INCLUDE header %] 
    22[% PROCESS macros %] 
    3 <h1> Recent photos </h1> 
     3<h1> Most [% request.action %] photos </h1> 
    44<table class="userlist"> 
    55[% WHILE photos.size > 0 %] 
  • trunk/templates/rhs

    r2 r19  
    1616<tr> 
    1717<td><a href="[%base%]/photo/recent">Recently uploaded</a></td> 
     18</tr> 
     19<tr> 
     20<td><a href="[%base%]/photo/popular">Most popular</a></td> 
    1821</tr> 
    1922<tr>