| … | |
… | |
| 16 | use base qw(WeBWorK::ContentGenerator); |
16 | use base qw(WeBWorK::ContentGenerator); |
| 17 | use Apache::Constants qw(:common); |
17 | use Apache::Constants qw(:common); |
| 18 | use CGI qw(); |
18 | use CGI qw(); |
| 19 | use WeBWorK::ContentGenerator; |
19 | use WeBWorK::ContentGenerator; |
| 20 | use WeBWorK::DB::WW; |
20 | use WeBWorK::DB::WW; |
| 21 | use WeBWorK::Utils qw(formatDateTime); |
21 | use WeBWorK::Utils qw(readFile formatDateTime); |
| 22 | |
22 | |
| 23 | sub initialize { |
23 | sub initialize { |
| 24 | my $self = shift; |
24 | my $self = shift; |
| 25 | my $courseEnvironment = $self->{courseEnvironment}; |
25 | my $courseEnvironment = $self->{courseEnvironment}; |
| 26 | |
26 | |
| … | |
… | |
| 55 | my $r = $self->{r}; |
55 | my $r = $self->{r}; |
| 56 | my $courseEnvironment = $self->{courseEnvironment}; |
56 | my $courseEnvironment = $self->{courseEnvironment}; |
| 57 | my $user = $r->param("user"); |
57 | my $user = $r->param("user"); |
| 58 | my $sort = $r->param("sort") || "status"; |
58 | my $sort = $r->param("sort") || "status"; |
| 59 | my $wwdb = $self->{wwdb}; |
59 | my $wwdb = $self->{wwdb}; |
|
|
60 | |
|
|
61 | my $motd = eval { readFile($courseEnvironment->{courseFiles}->{motd}) }; |
|
|
62 | $@ or print $motd; |
| 60 | |
63 | |
| 61 | $sort = "status" unless $sort eq "status" or $sort eq "name"; |
64 | $sort = "status" unless $sort eq "status" or $sort eq "name"; |
| 62 | my $baseURL = $r->uri . "?" . $self->url_authen_args(); |
65 | my $baseURL = $r->uri . "?" . $self->url_authen_args(); |
| 63 | my $nameHeader = ($sort eq "name") ? "Name" : CGI::a({-href=>"$baseURL&sort=name"}, "Name"); |
66 | my $nameHeader = ($sort eq "name") ? "Name" : CGI::a({-href=>"$baseURL&sort=name"}, "Name"); |
| 64 | my $statusHeader = ($sort eq "status") ? "Status" : CGI::a({-href=>"$baseURL&sort=status"}, "Status"); |
67 | my $statusHeader = ($sort eq "status") ? "Status" : CGI::a({-href=>"$baseURL&sort=status"}, "Status"); |