/usr/local/CPAN/Buscador/Buscador/Vote.pm


package Buscador::Vote;


package Email::Store::Mail;
use strict;
use Email::Store::Vote;

sub vote :Exported {
    my ($self, $r, $mail) = @_;
    my $vote = Email::Store::Vote->create({ mail=>$mail->id });


    my $loc = Buscador->config->{uri_base}; 

    $loc =~ s!/+$!!;
    $loc .= "/mail/view/".$mail->id;

    $r->{template} = "view";
    $r->location($loc);

}

sub popular :Exported {
    my ($self, $r) = @_;

    my $pager = Email::Store::Mail->do_pager($r);
    $r->{objects} = [$pager->search_popular  ];


}

__PACKAGE__->set_sql( popular => qq{
        SELECT mail.message_id, count(vote.mail) AS votes 
        FROM mail, vote
        WHERE mail.message_id = vote.mail
        GROUP BY vote.mail 
        ORDER BY votes DESC
});

1;