version 1.58, 2006/11/14 18:27:57
|
version 1.64, 2007/10/03 19:57:29
|
Line 35 use Apache::loncoursedata;
|
Line 35 use Apache::loncoursedata;
|
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::longroup; |
use Apache::longroup; |
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
use LONCAPA; |
|
|
sub handler { |
sub handler { |
Line 79 sub handler {
|
Line 78 sub handler {
|
|
|
my $onlyown = 0; |
my $onlyown = 0; |
# if called to assign course-based portfolio access control |
# if called to assign course-based portfolio access control |
if ((($env{'form.form'} eq 'portform') && ($env{'user.adv'}))) { |
if ((($env{'form.form'} eq 'portform') && (!$env{'user.adv'}))) { |
$onlyown = 1; |
$onlyown = 1; |
} |
} |
|
|
Line 176 sub display_matched_courses {
|
Line 175 sub display_matched_courses {
|
my $numcourses = keys(%courses); |
my $numcourses = keys(%courses); |
foreach my $course (keys(%courses)) { |
foreach my $course (keys(%courses)) { |
my $descr; |
my $descr; |
if ($courses{$course} =~ m/^([^:]*):/i) { |
if (ref($courses{$course}) eq 'HASH') { |
|
$descr = &unescape($courses{$course}{'description'}); |
|
} elsif ($courses{$course} =~ m/^([^:]*):/i) { |
$descr = &unescape($1); |
$descr = &unescape($1); |
} else { |
} else { |
$descr = &unescape($courses{$course}); |
$descr = &unescape($courses{$course}); |
Line 196 sub display_matched_courses {
|
Line 197 sub display_matched_courses {
|
my $cleandesc=&HTML::Entities::encode($description,'<>&"'); |
my $cleandesc=&HTML::Entities::encode($description,'<>&"'); |
$cleandesc=~s/'/\\'/g; |
$cleandesc=~s/'/\\'/g; |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($descr,$instcode,$owner,$ttype) = split/:/,$courses{$course}; |
my ($descr,$instcode,$ttype,@owners); |
|
if (ref($courses{$course}) eq 'HASH') { |
|
$descr = $courses{$course}{'description'}; |
|
$instcode = $courses{$course}{'instcode'}; |
|
$ttype = $courses{$course}{'type'}; |
|
push(@owners,&unescape($courses{$course}{'owner'})); |
|
if (ref($courses{$course}{'co-owners'}) eq 'ARRAY') { |
|
foreach my $item (@{$courses{$course}{'co-owners'}}) { |
|
push(@owners,&unescape($item)); |
|
} |
|
} |
|
} else { |
|
my $singleowner; |
|
($descr,$instcode,$singleowner,$ttype)=split(/:/,$courses{$course}); |
|
push(@owners,&unescape($singleowner)); |
|
} |
|
my $owner = join(', ',@owners); |
$r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc)); |
$r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc)); |
$r->print($description.'('. |
$r->print($description.'('. |
($Apache::lonnet::domaindescription{$cdom}? |
(&Apache::lonnet::domain($cdom,'description')? |
$Apache::lonnet::domaindescription{$cdom}:$cdom).")"); |
&Apache::lonnet::domain($cdom,'description'):$cdom).")"); |
unless ($instcode eq '') { |
if ($instcode ne '') { |
$r->print(" - ".&unescape($instcode)); |
$r->print(" - ".&unescape($instcode)); |
} |
} |
unless ($owner eq '') { |
if (@owners > 1) { |
$r->print(", owner - ".&unescape($owner)); |
$r->print(', '.&mt('owners').' - ',join(', ',@owners)); |
|
} elsif (@owners == 1) { |
|
$r->print(', '.&mt('owner').' - '.$owner); |
} |
} |
unless ($ttype eq '') { |
if ($ttype ne '') { |
$r->print('('.&unescape($ttype).')'); |
$r->print('('.&unescape($ttype).')'); |
} |
} |
if ($multiple) { $r->print("</label>\n"); } |
if ($multiple) { $r->print("</label>\n"); } |
Line 266 sub build_filters {
|
Line 285 sub build_filters {
|
foreach my $item (@{$filterlist}) { |
foreach my $item (@{$filterlist}) { |
$filter->{$item} = $env{'form.'.$item}; |
$filter->{$item} = $env{'form.'.$item}; |
if ($item ne 'descriptfilter' && $item ne 'instcodefilter') { |
if ($item ne 'descriptfilter' && $item ne 'instcodefilter') { |
$filter->{$item} =~ s/\W//g; |
if ($item eq 'domainfilter' || $item eq 'ownerdomfilter') { |
|
$filter->{$item} = &LONCAPA::clean_domain($filter->{$item}); |
|
} elsif ($item eq 'coursefilter') { |
|
$filter->{$item} = &LONCAPA::clean_courseid($filter->{$item}); |
|
} elsif ($item eq 'ownerfilter') { |
|
$filter->{$item} = &LONCAPA::clean_username($filter->{$item}); |
|
} else { |
|
$filter->{$item} =~ s/\W//g; |
|
} |
if (!$filter->{$item}) { |
if (!$filter->{$item}) { |
$filter->{$item} = ''; |
$filter->{$item} = ''; |
} |
} |
} |
} |
if ($item eq 'domainfilter') { |
if ($item eq 'domainfilter') { |
|
my $allow_blank = 1; |
|
if ($formname eq 'portform') { |
|
$filter->{$item} ||= $env{'user.domain'}; |
|
$allow_blank=0; |
|
} |
$domainselectform = |
$domainselectform = |
&Apache::loncommon::select_dom_form($filter->{$item},'domainfilter',1); |
&Apache::loncommon::select_dom_form($filter->{$item}, |
|
'domainfilter', |
|
$allow_blank); |
} elsif ($item eq 'ownerdomfilter') { |
} elsif ($item eq 'ownerdomfilter') { |
$ownerdomselectform = |
$ownerdomselectform = |
&Apache::loncommon::select_dom_form($filter->{$item},'ownerdomfilter',1); |
&Apache::loncommon::select_dom_form($filter->{$item},'ownerdomfilter',1); |
Line 339 $name_input
|
Line 373 $name_input
|
$roleelement |
$roleelement |
$multelement |
$multelement |
|; |
|; |
|
if ($formname eq 'portform') { |
|
$output .= '<input type="hidden" name="setroles" value="'.$env{'form.setroles'}.'" />'; |
|
} |
} |
} |
if ($sincefilterform) { |
if ($sincefilterform) { |
$output .= $lt{'cac'}.': '.$sincefilterform.'<br />'."\n"; |
$output .= $lt{'cac'}.': '.$sincefilterform.'<br />'."\n"; |
Line 406 sub search_courses {
|
Line 443 sub search_courses {
|
undef,undef,$type); |
undef,undef,$type); |
} else { |
} else { |
$r->print('<br />'); |
$r->print('<br />'); |
foreach my $cid (sort(&Apache::loncommon::findallcourses())) { |
my %coursehash = &Apache::loncommon::findallcourses(); |
|
foreach my $cid (sort(keys(%coursehash))) { |
$courses{$cid} = $env{'course.'.$cid.'.description'}; |
$courses{$cid} = $env{'course.'.$cid.'.description'}; |
} |
} |
} |
} |