File Coverage

blib/lib/Eidolon/Driver/User/Basic.pm
Criterion Covered Total %
statement 9 26 34.6
branch n/a
condition 0 3 0.0
subroutine 3 6 50.0
pod 3 3 100.0
total 15 38 39.4


line stmt bran cond sub pod time code
1             package Eidolon::Driver::User::Basic;
2             # ==============================================================================
3             #
4             # Eidolon
5             # Copyright (c) 2009, Atma 7
6             # ---
7             # Eidolon/Driver/User/Basic.pm - basic user driver
8             #
9             # ==============================================================================
10              
11 1     1   39443 use base qw/Eidolon::Driver::User/;
  1         2  
  1         84  
12 1     1   6 use warnings;
  1         1  
  1         24  
13 1     1   5 use strict;
  1         6  
  1         291  
14              
15             our $VERSION = "0.02"; # 2009-04-06 02:04:33
16              
17             # ------------------------------------------------------------------------------
18             # authorize($login)
19             # authorize user
20             # ------------------------------------------------------------------------------
21             sub authorize
22             {
23 0     0 1   my ($self, $login, $r);
24              
25 0           ($self, $login) = @_;
26 0           $r = Eidolon::Core::Registry->get_instance;
27              
28 0           $r->cgi->start_session;
29 0           $r->cgi->set_session("login", $login);
30 0           $r->cgi->set_session("ip", $self->ip);
31              
32 0           __PACKAGE__->mk_accessors("login");
33 0           $self->login( $login );
34             }
35              
36             # ------------------------------------------------------------------------------
37             # unauthorize()
38             # unauthorize user
39             # ------------------------------------------------------------------------------
40             sub unauthorize
41             {
42 0     0 1   my ($self, $r);
43              
44 0           $self = shift;
45 0           $r = Eidolon::Core::Reigstry->get_instance;
46              
47 0           $r->cgi->destroy_session;
48 0           $self->login( undef );
49             }
50              
51             # ------------------------------------------------------------------------------
52             # $ authorized()
53             # check if user is authorized
54             # ------------------------------------------------------------------------------
55             sub authorized
56             {
57 0     0 1   my ($self, $r);
58              
59 0           $self = shift;
60 0           $r = Eidolon::Core::Registry->get_instance;
61              
62 0   0       return $r->cgi->get_session("login") && ($r->cgi->get_session("ip") eq $self->ip);
63             }
64              
65             1;
66              
67             __END__