Changeset 33


Ignore:
Timestamp:
03/15/09 00:12:54 (15 years ago)
Author:
nanardon
Message:
  • add poll authentication
Location:
trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Vote/Controller/Admin.pm

    r29 r33  
    3131    $c->stash->{voteid} = $id; 
    3232    my $vote = $c->model('Vote'); 
     33 
     34    my $password = $c->session->{vpassword} || $c->req->param('vpassword'); 
     35 
     36    if (!$c->model('Vote')->auth_poll($id, $password)) { 
     37        $c->session->{vpassword} = undef; 
     38        $c->stash->{template} = 'admin/login.tt'; 
     39        return; 
     40    } 
     41 
     42    $c->session->{vpassword} = $password; 
    3343 
    3444    if ($vote->vote_status($id) eq 'BEFORE') { 
  • trunk/lib/Vote/Model/Vote.pm

    r32 r33  
    475475} 
    476476 
     477sub auth_poll { 
     478    my ($self, $voteid, $passwd) = @_; 
     479 
     480    my $vinfo = $self->vote_info($voteid) or return; 
     481 
     482    $vinfo->{password} or return; 
     483    warn $vinfo->{password}; 
     484    if (crypt($passwd, $vinfo->{password} || '') eq $vinfo->{password}) { 
     485        return 1; 
     486    } else { 
     487        return 0; 
     488    } 
     489} 
     490 
    477491sub voting_has_sign { 
    478492    my ($self, $poll, $user) = @_; 
Note: See TracChangeset for help on using the changeset viewer.