version 1.3, 2003/03/26 16:39:40
|
version 1.14, 2004/03/31 05:24:00
|
Line 33 use Apache::Constants qw(:common);
|
Line 33 use Apache::Constants qw(:common);
|
use Apache::loncommon; |
use Apache::loncommon; |
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use Apache::lonnet; |
use Apache::lonnet; |
|
use Apache::lonlocal; |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
$r->content_type('text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
|
|
Line 47 sub handler {
|
Line 48 sub handler {
|
<title>The LearningOnline Network with CAPA</title> |
<title>The LearningOnline Network with CAPA</title> |
</head> |
</head> |
ENDDOCUMENT |
ENDDOCUMENT |
|
# Get parameters from query string |
|
|
&Apache::loncommon::get_unprocessed_cgi |
&Apache::loncommon::get_unprocessed_cgi |
($ENV{'QUERY_STRING'},['domainfilter','descriptfilter', |
($ENV{'QUERY_STRING'},['domainfilter','descriptfilter', |
'sincefilter','form','cnumelement','cdomelement']); |
'sincefilter','form','cnumelement', |
|
'cdomelement','cnameelement']); |
|
# domain filter and selection |
my $domainfilter=$ENV{'form.domainfilter'}; |
my $domainfilter=$ENV{'form.domainfilter'}; |
$domainfilter=~s/\W//g; |
$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'}; |
my $descriptfilter=$ENV{'form.descriptfilter'}; |
$descriptfilter=~s/\W//g; |
$descriptfilter=~s/[^\w\s]//g; |
unless ($descriptfilter) { $descriptfilter='.'; } |
unless ($descriptfilter) { $descriptfilter=''; } |
|
|
|
# last course activity filter and selection |
my $sincefilter=$ENV{'form.sincefilter'}; |
my $sincefilter=$ENV{'form.sincefilter'}; |
$sincefilter=~s/\D//g; |
$sincefilter=~s/[^\d-]//g; |
unless ($sincefilter) { $sincefilter=0; } |
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")); |
$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 ='<input type="hidden" name="cnameelement" value="'. |
|
$ENV{'form.cnameelement'}.'" />'; |
|
} |
$r->print(<<ENDSCRIPT); |
$r->print(<<ENDSCRIPT); |
<script> |
<script> |
function gochoose(cname,cdom) { |
function gochoose(cname,cdom,cdesc) { |
opener.document.$ENV{'form.form'}.$ENV{'form.cnumelement'}.value=cname; |
$name_code |
|
opener.document.$ENV{"form.form"}.$ENV{'form.cnumelement'}.value=cname; |
var slct=opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'}; |
var slct=opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'}; |
var i; |
var i; |
for (i=0;i<slct.length;i++) { |
for (i=0;i<slct.length;i++) { |
if (slct[i]==cdom) { slct.selectedIndex=i; } |
if (slct.options[i].value==cdom) { slct.selectedIndex=i; } |
} |
} |
self.close(); |
self.close(); |
} |
} |
</script> |
</script> |
|
<form method="post"> |
|
<input type="hidden" name="cnumelement" value="$ENV{'form.cnumelement'}" /> |
|
<input type="hidden" name="cdomelement" value="$ENV{'form.cdomelement'}" /> |
|
$name_input |
|
<input type="hidden" name="form" value="$ENV{'form.form'}" /> |
|
|
|
$lt{'cac'}: $sincefilterform |
|
<br /> |
|
$lt{'cdo'}: $domainselectform |
|
<br /> |
|
$lt{'cde'}: |
|
<input type="text" name="descriptfilter" size="40" value="$descriptfilter" /> |
|
<p><input type="submit" name="gosearch" value="Search" /></p> |
|
</form> |
|
<hr /> |
ENDSCRIPT |
ENDSCRIPT |
$r->rflush(); |
|
# ---------------------------------------------------------------- Get the data |
# ---------------------------------------------------------------- Get the data |
my %courses= |
if ($ENV{'form.gosearch'}) { |
&Apache::lonnet::courseiddump($domainfilter,$descriptfilter,$sincefilter); |
$r->print(&mt('Searching').' ...<br /> <br />'); |
$r->print('<form>'); |
$r->rflush(); |
foreach (keys %courses) { |
unless ($descriptfilter) { $descriptfilter='.'; } |
my ($cdom,$cnum)=split(/\_/,$_); |
my $timefilter=($sincefilter==-1?1:time-$sincefilter); |
$r->print('<input type="button" value="Select" onClick="gochoose('. |
my %courses= |
"'".$cnum."','".$cdom."')".'" /> '.$courses{$_}.' ('. |
&Apache::lonnet::courseiddump |
|
($domainfilter,$descriptfilter,$timefilter); |
|
$r->print('<form>'); |
|
my %by_descrip; |
|
foreach my $course (keys %courses) { |
|
$by_descrip{lc($courses{$course})}=$course; |
|
} |
|
foreach my $description (sort(keys(%by_descrip))) { |
|
my $course=$by_descrip{$description}; |
|
my $cleandesc=&HTML::Entities::encode($courses{$course},'<>&"'); |
|
$cleandesc=~s/'/\\'/g; |
|
my ($cdom,$cnum)=split(/\_/,$course); |
|
$r->print('<input type="button" value="Select" onClick="gochoose('. |
|
"'".$cnum."','".$cdom."','".$cleandesc."')".'" /> '.$courses{$course}.' ('. |
($Apache::lonnet::domaindescription{$cdom}? |
($Apache::lonnet::domaindescription{$cdom}? |
$Apache::lonnet::domaindescription{$cdom}:$cdom).')<br />'); |
$Apache::lonnet::domaindescription{$cdom}:$cdom). |
|
")<br />\n"); |
|
} |
|
if (!%courses) { $r->print(&mt('None found')); } |
|
$r->print('</form>'); |
} |
} |
$r->print('</form></body></html>'); |
$r->print('</body></html>'); |
return OK; |
return OK; |
} |
} |
|
|