--- loncom/interface/lonpickcourse.pm 2003/03/26 16:39:40 1.3
+++ loncom/interface/lonpickcourse.pm 2004/11/12 23:29:56 1.18
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.3 2003/03/26 16:39:40 www Exp $
+# $Id: lonpickcourse.pm,v 1.18 2004/11/12 23:29:56 raeburn 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,50 +48,125 @@ 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']);
+ 'sincefilter','form','cnumelement',
+ 'cdomelement','cnameelement','roleelement']);
+# 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='.'; }
+ unless ($descriptfilter) { $descriptfilter=''; }
+ my $listdescript=&HTML::Entities::encode($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');
+ my ($name_code,$name_input);
+ if (defined($ENV{'form.cnameelement'}) && $ENV{'form.cnameelement'} ne '') {
+ $name_code = "opener.document.$ENV{'form.form'}.$ENV{'form.cnameelement'}.value=cdesc;";
+ $name_input ='';
+ }
+ my $submitopener = '';
+ my $autosubmit = '';
+ my $roleelement = '';
+ my $roledom = $ENV{'form.roleelement'};
+ if ($roledom) {
+ $roleelement = '';
+ $submitopener = &Apache::lonroles::processpick($roledom);
+ $autosubmit = 'process_pick("'.$roledom.'")';
+ }
$r->print(<
-function gochoose(cname,cdom) {
- opener.document.$ENV{'form.form'}.$ENV{'form.cnumelement'}.value=cname;
+function gochoose(cname,cdom,cdesc) {
+ $name_code
+ opener.document.$ENV{"form.form"}.$ENV{'form.cnumelement'}.value=cname;
var slct=opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'};
var i;
for (i=0;i
+$submitopener
+
+
ENDSCRIPT
- $r->rflush();
# ---------------------------------------------------------------- Get the data
- my %courses=
- &Apache::lonnet::courseiddump($domainfilter,$descriptfilter,$sincefilter);
- $r->print('');
}
- $r->print('