version 1.13, 2004/03/19 03:47:09
|
version 1.23, 2004/12/28 05:55:11
|
Line 52 ENDDOCUMENT
|
Line 52 ENDDOCUMENT
|
&Apache::loncommon::get_unprocessed_cgi |
&Apache::loncommon::get_unprocessed_cgi |
($ENV{'QUERY_STRING'},['domainfilter','descriptfilter', |
($ENV{'QUERY_STRING'},['domainfilter','descriptfilter', |
'sincefilter','form','cnumelement', |
'sincefilter','form','cnumelement', |
'cdomelement','cnameelement']); |
'cdomelement','cnameelement','roleelement', |
|
'pickedcourse','instcodefilter','ownerfilter']); |
# domain filter and selection |
# domain filter and selection |
my $domainfilter=$ENV{'form.domainfilter'}; |
my $domainfilter=$ENV{'form.domainfilter'}; |
$domainfilter=~s/\W//g; |
$domainfilter=~s/\W//g; |
Line 61 ENDDOCUMENT
|
Line 62 ENDDOCUMENT
|
'domainfilter',1); |
'domainfilter',1); |
# description filter |
# description filter |
my $descriptfilter=$ENV{'form.descriptfilter'}; |
my $descriptfilter=$ENV{'form.descriptfilter'}; |
$descriptfilter=~s/[^\w\s]//g; |
|
unless ($descriptfilter) { $descriptfilter=''; } |
unless ($descriptfilter) { $descriptfilter=''; } |
|
my $listdescript=&HTML::Entities::encode($descriptfilter,'<>&"'); |
|
# institutional code filter |
|
my $instcodefilter=$ENV{'form.instcodefilter'}; |
|
unless ($instcodefilter) { $instcodefilter=''; } |
|
my $listinstcode=&HTML::Entities::encode($instcodefilter,'<>&"'); |
|
# course owner filter |
|
my $ownerfilter=$ENV{'form.ownerfilter'}; |
|
unless ($ownerfilter) { $ownerfilter=''; } |
|
my $listowner=&HTML::Entities::encode($ownerfilter,'<>&"'); |
# last course activity filter and selection |
# last course activity filter and selection |
my $sincefilter=$ENV{'form.sincefilter'}; |
my $sincefilter=$ENV{'form.sincefilter'}; |
$sincefilter=~s/[^\d-]//g; |
$sincefilter=~s/[^\d-]//g; |
Line 79 ENDDOCUMENT
|
Line 87 ENDDOCUMENT
|
'select_form_order' => |
'select_form_order' => |
['-1','86400','604800','2592000','7776000', |
['-1','86400','604800','2592000','7776000', |
'15552000','31104000'])); |
'15552000','31104000'])); |
|
# if called from loncreateuser, report sections, then close |
$r->print(&Apache::loncommon::bodytag("Selecting a Course")); |
my ($loaditem,$seclist); |
|
my $num_sections = 0; |
|
if ($ENV{'form.form'} eq 'cu' && $ENV{'form.pickedcourse'}) { |
|
$loaditem = 'onLoad="setSections()"'; |
|
my ($cdom,$cnum) = split/_/,$ENV{'form.pickedcourse'}; |
|
my %sections_count = (); |
|
$num_sections = &Apache::loncommon::get_sections($cdom,$cnum,\%sections_count); |
|
my @sections = (); |
|
if ($num_sections > 0) { |
|
@sections = (sort {$a <=> $b} keys %sections_count); |
|
$seclist = join('","',@sections); |
|
} |
|
} |
|
$r->print(&Apache::loncommon::bodytag("Selecting a Course",undef,$loaditem)); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'cac' => 'Course Activity', |
'cac' => 'Course Activity', |
'cde' => 'Course Description', |
'cde' => 'Course Description', |
'cdo' => 'Course Domain'); |
'cdo' => 'Course Domain', |
|
'cin' => 'Course Institutional Code', |
|
'cow' => "Course Owner's usename"); |
my ($name_code,$name_input); |
my ($name_code,$name_input); |
if (defined($ENV{'form.cnameelement'}) && $ENV{'form.cnameelement'} ne '') { |
if (defined($ENV{'form.cnameelement'}) && $ENV{'form.cnameelement'} ne '') { |
$name_code = "opener.document.$ENV{'form.form'}.$ENV{'form.cnameelement'}.value=cdesc;"; |
$name_code = "opener.document.$ENV{'form.form'}.$ENV{'form.cnameelement'}.value=cdesc;"; |
$name_input ='<input type="hidden" name="cnameelement" value="'. |
$name_input ='<input type="hidden" name="cnameelement" value="'. |
$ENV{'form.cnameelement'}.'" />'; |
$ENV{'form.cnameelement'}.'" />'; |
} |
} |
|
my $submitopener = ''; |
|
my $autosubmit = ''; |
|
my $roleelement = ''; |
|
my $lastaction = 'self.close()'; |
|
if ($ENV{'form.form'} eq 'cu') { |
|
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
|
'document.courselist.submit();'; |
|
} |
|
my $roledom = $ENV{'form.roleelement'}; |
|
if ($roledom) { |
|
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
|
$submitopener = &Apache::lonroles::processpick($roledom); |
|
$autosubmit = 'process_pick("'.$roledom.'")'; |
|
} |
$r->print(<<ENDSCRIPT); |
$r->print(<<ENDSCRIPT); |
<script> |
<script> |
function gochoose(cname,cdom,cdesc) { |
function gochoose(cname,cdom,cdesc) { |
$name_code |
$name_code |
opener.document.$ENV{"form.form"}.$ENV{'form.cnumelement'}.value=cname; |
var openerForm = "$ENV{'form.form'}"; |
var slct=opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'}; |
opener.document.$ENV{'form.form'}.$ENV{'form.cnumelement'}.value=cname; |
var i; |
if (openerForm == 'cu' || openerForm == 'rolechoice') { |
for (i=0;i<slct.length;i++) { |
opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'}.value=cdom; |
if (slct.options[i].value==cdom) { slct.selectedIndex=i; } |
|
} |
} |
self.close(); |
else { |
|
var slct=opener.document.$ENV{'form.form'}.$ENV{'form.cdomelement'}; |
|
var i; |
|
for (i=0;i<slct.length;i++) { |
|
if (slct.options[i].value==cdom) { slct.selectedIndex=i; } |
|
} |
|
} |
|
$autosubmit |
|
$lastaction |
|
} |
|
|
|
function setSections() { |
|
var numSections = $num_sections |
|
var sectionsArray = new Array("$seclist") |
|
opener.document.$ENV{"form.form"}.currsec.length = 0 |
|
if (numSections == 0) { |
|
opener.document.$ENV{"form.form"}.currsec.multiple=false |
|
opener.document.$ENV{"form.form"}.currsec.size=1; |
|
opener.document.$ENV{"form.form"}.currsec.options[0] = new Option('No existing sections','',false,false) |
|
} |
|
else { |
|
if (numSections == 1) { |
|
opener.document.$ENV{"form.form"}.currsec.multiple=false; |
|
opener.document.$ENV{"form.form"}.currsec.size=1; |
|
opener.document.$ENV{"form.form"}.currsec.options[0] = new Option('Select','',true,true); |
|
opener.document.$ENV{"form.form"}.currsec.options[1] = new Option('No section','',false,false) |
|
opener.document.$ENV{"form.form"}.currsec.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
|
} |
|
else { |
|
for (var i=0; i<numSections; i++) { |
|
opener.document.$ENV{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
|
} |
|
opener.document.$ENV{"form.form"}.currsec.multiple=true |
|
if (numSections < 3) { |
|
opener.document.$ENV{"form.form"}.currsec.size=numSections; |
|
} |
|
else { |
|
opener.document.$ENV{"form.form"}.currsec.size=3; |
|
} |
|
opener.document.$ENV{"form.form"}.currsec.options[0].selected = false |
|
} |
|
} |
|
self.close() |
} |
} |
</script> |
</script> |
|
$submitopener |
<form method="post"> |
<form method="post"> |
<input type="hidden" name="cnumelement" value="$ENV{'form.cnumelement'}" /> |
<input type="hidden" name="cnumelement" value="$ENV{'form.cnumelement'}" /> |
<input type="hidden" name="cdomelement" value="$ENV{'form.cdomelement'}" /> |
<input type="hidden" name="cdomelement" value="$ENV{'form.cdomelement'}" /> |
$name_input |
$name_input |
<input type="hidden" name="form" value="$ENV{'form.form'}" /> |
<input type="hidden" name="form" value="$ENV{'form.form'}" /> |
|
$roleelement |
$lt{'cac'}: $sincefilterform |
$lt{'cac'}: $sincefilterform |
<br /> |
<br /> |
$lt{'cdo'}: $domainselectform |
$lt{'cdo'}: $domainselectform |
<br /> |
<br /> |
|
$lt{'cin'}: |
|
<input type="text" name="instcodefilter" size="10" value="$listinstcode" /> |
|
<br /> |
|
$lt{'cow'}: |
|
<input type="text" name="ownerfilter" size="10" value="$listowner" /> |
|
<br /> |
$lt{'cde'}: |
$lt{'cde'}: |
<input type="text" name="descriptfilter" size="40" value="$descriptfilter" /> |
<input type="text" name="descriptfilter" size="40" value="$listdescript" /> |
<p><input type="submit" name="gosearch" value="Search" /></p> |
<p><input type="submit" name="gosearch" value="Search" /></p> |
</form> |
</form> |
<hr /> |
<hr /> |
Line 125 ENDSCRIPT
|
Line 210 ENDSCRIPT
|
$r->print(&mt('Searching').' ...<br /> <br />'); |
$r->print(&mt('Searching').' ...<br /> <br />'); |
$r->rflush(); |
$r->rflush(); |
unless ($descriptfilter) { $descriptfilter='.'; } |
unless ($descriptfilter) { $descriptfilter='.'; } |
|
unless ($instcodefilter) { $instcodefilter='.'; } |
|
unless ($ownerfilter) { $ownerfilter='.'; } |
my $timefilter=($sincefilter==-1?1:time-$sincefilter); |
my $timefilter=($sincefilter==-1?1:time-$sincefilter); |
my %courses= |
my %courses= |
&Apache::lonnet::courseiddump |
&Apache::lonnet::courseiddump |
($domainfilter,$descriptfilter,$timefilter); |
($domainfilter,$descriptfilter,$timefilter,$instcodefilter,$ownerfilter); |
$r->print('<form>'); |
$r->print('<form name="courselist">'); |
my %by_descrip; |
my %by_descrip; |
foreach my $course (keys %courses) { |
foreach my $course (keys %courses) { |
$by_descrip{lc($courses{$course})}=$course; |
my $descr; |
|
if ($courses{$course} =~ m/^([^:]*):/) { |
|
$descr = &Apache::lonnet::unescape($1); |
|
} else { |
|
$descr = &Apache::lonnet::unescape($courses{$course}); |
|
} |
|
$by_descrip{lc($descr)}=$course; |
} |
} |
foreach my $description (sort(keys(%by_descrip))) { |
foreach my $description (sort(keys(%by_descrip))) { |
my $course=$by_descrip{$description}; |
my $course=$by_descrip{$description}; |
my $cleandesc=&HTML::Entities::encode($courses{$course}); |
my $cleandesc=&HTML::Entities::encode($description,'<>&"'); |
$cleandesc=~s/'/\\'/g; |
$cleandesc=~s/'/\\'/g; |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($cdom,$cnum)=split(/\_/,$course); |
$r->print('<input type="button" value="Select" onClick="gochoose('. |
$r->print('<input type="button" value="Select" onClick="gochoose('. |
"'".$cnum."','".$cdom."','".$cleandesc."')".'" /> '.$courses{$course}.' ('. |
"'".$cnum."','".$cdom."','".$cleandesc."')".'" /> '.$description.' ('. |
($Apache::lonnet::domaindescription{$cdom}? |
($Apache::lonnet::domaindescription{$cdom}? |
$Apache::lonnet::domaindescription{$cdom}:$cdom). |
$Apache::lonnet::domaindescription{$cdom}:$cdom). |
")<br />\n"); |
")<br />\n"); |
} |
} |
if (!%courses) { $r->print(&mt('None found')); } |
if (!%courses) { $r->print(&mt('None found')); } |
$r->print('</form>'); |
$r->print('<input type="hidden" name="form" value="'.$ENV{'form.form'}.'" />'."\n". |
|
'<input type="hidden" name="pickedcourse" value="" />'."\n". |
|
'<input type="hidden" name="cnumelement" value="'.$ENV{'form.cnumelement'}.'" />'."\n". |
|
'<input type="hidden" name="cdomelement" value="'.$ENV{'form.cdomelement'}.'" />'."\n". |
|
'</form>'); |
} |
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |
return OK; |
return OK; |
} |
} |
|
|
1; |
1; |
__END__ |
__END__ |