--- loncom/interface/lonpickcourse.pm 2003/03/26 04:57:04 1.2
+++ loncom/interface/lonpickcourse.pm 2003/10/13 22:24:51 1.9
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.2 2003/03/26 04:57:04 www Exp $
+# $Id: lonpickcourse.pm,v 1.9 2003/10/13 22:24:51 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,10 +33,11 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::loncoursedata;
use Apache::lonnet;
+use Apache::lonlocal;
sub handler {
my $r = shift;
- $r->content_type('text/html');
+ &Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
return OK if $r->header_only;
@@ -47,22 +48,42 @@ sub handler {
The LearningOnline Network with CAPA
ENDDOCUMENT
-
-
+# Get parameters from query string
&Apache::loncommon::get_unprocessed_cgi
($ENV{'QUERY_STRING'},['domainfilter','descriptfilter',
'sincefilter','form','cnumelement','cdomelement']);
+# domain filter and selection
my $domainfilter=$ENV{'form.domainfilter'};
$domainfilter=~s/\W//g;
- unless ($domainfilter) { $domainfilter='.'; }
+ unless ($domainfilter) { $domainfilter=''; }
+ my $domainselectform=&Apache::loncommon::select_dom_form($domainfilter,
+ 'domainfilter',1);
+# description filter
my $descriptfilter=$ENV{'form.descriptfilter'};
- $descriptfilter=~s/\W//g;
- unless ($descriptfilter) { $descriptfilter='.'; }
+ $descriptfilter=~s/[^\w\s]//g;
+ unless ($descriptfilter) { $descriptfilter=''; }
+
+# last course activity filter and selection
my $sincefilter=$ENV{'form.sincefilter'};
- $sincefilter=~s/\D//g;
- unless ($sincefilter) { $sincefilter=0; }
+ $sincefilter=~s/[^\d-]//g;
+ unless ($sincefilter) { $sincefilter=-1; }
+ my $sincefilterform=&Apache::loncommon::select_form($sincefilter,
+ 'sincefilter',('-1'=>'',
+ '86400' => 'today',
+ '604800' => 'last week',
+ '2592000' => 'last month',
+ '7776000' => 'last three months',
+ '15552000' => 'last six months',
+ '31104000' => 'last year',
+ 'select_form_order' =>
+ ['-1','86400','604800','2592000','7776000',
+ '15552000','31104000']));
$r->print(&Apache::loncommon::bodytag("Selecting a Course"));
+ my %lt=&Apache::lonlocal::texthash(
+ 'cac' => 'Course Activity',
+ 'cde' => 'Course Description',
+ 'cdo' => 'Course Domain');
$r->print(<
function gochoose(cname,cdom) {
@@ -70,18 +91,45 @@ function gochoose(cname,cdom) {
var slct=opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'};
var i;
for (i=0;i
+
+
ENDSCRIPT
- $r->rflush();
# ---------------------------------------------------------------- Get the data
- my %courses=
- &Apache::lonnet::courseiddump($domainfilter,$descriptfilter,$sincefilter);
- foreach (keys %courses) {
- $r->print($_.': '.$courses{$_}.'
');
+ if ($ENV{'form.gosearch'}) {
+ $r->print(&mt('Searching').' ...
');
+ $r->rflush();
+ unless ($descriptfilter) { $descriptfilter='.'; }
+ my $timefilter=($sincefilter==-1?1:time-$sincefilter);
+ my %courses=
+ &Apache::lonnet::courseiddump
+ ($domainfilter,$descriptfilter,$timefilter);
+ $r->print('');
}
$r->print('