| … | |
… | |
| 17 | |
17 | |
| 18 | sub new($$$) { |
18 | sub new($$$) { |
| 19 | my $invocant = shift; |
19 | my $invocant = shift; |
| 20 | my $class = ref($invocant) || $invocant; |
20 | my $class = ref($invocant) || $invocant; |
| 21 | my $self = {}; |
21 | my $self = {}; |
| 22 | ($self->{r}, $self->{courseEnvironment}) = @_; |
22 | ($self->{r}, $self->{ce}) = @_; |
| 23 | bless $self, $class; |
23 | bless $self, $class; |
| 24 | return $self; |
24 | return $self; |
| 25 | } |
25 | } |
| 26 | |
26 | |
| 27 | sub generate_key { |
27 | sub generate_key { |
| … | |
… | |
| 46 | # no note will be written, as this is expected to happen whenever someone |
46 | # no note will be written, as this is expected to happen whenever someone |
| 47 | # types in a URL manually, and is not considered an error condition. |
47 | # types in a URL manually, and is not considered an error condition. |
| 48 | sub verify($) { |
48 | sub verify($) { |
| 49 | my $self = shift; |
49 | my $self = shift; |
| 50 | my $r = $self->{r}; |
50 | my $r = $self->{r}; |
| 51 | my $course_env = $self->{courseEnvironment}; |
51 | my $course_env = $self->{ce}; |
| 52 | |
52 | |
| 53 | my $user = $r->param('user'); |
53 | my $user = $r->param('user'); |
| 54 | my $passwd = $r->param('passwd'); |
54 | my $passwd = $r->param('passwd'); |
| 55 | my $key = $r->param('key'); |
55 | my $key = $r->param('key'); |
| 56 | my $time = time; |
56 | my $time = time; |