--- loncom/interface/lonpickcourse.pm 2006/11/14 18:27:57 1.58
+++ loncom/interface/lonpickcourse.pm 2007/03/08 01:58:45 1.62
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.58 2006/11/14 18:27:57 raeburn Exp $
+# $Id: lonpickcourse.pm,v 1.62 2007/03/08 01:58:45 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,7 +35,6 @@ use Apache::loncoursedata;
use Apache::lonnet;
use Apache::lonlocal;
use Apache::longroup;
-use lib '/home/httpd/lib/perl/';
use LONCAPA;
sub handler {
@@ -79,7 +78,7 @@ sub handler {
my $onlyown = 0;
# 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;
}
@@ -199,8 +198,8 @@ sub display_matched_courses {
my ($descr,$instcode,$owner,$ttype) = split/:/,$courses{$course};
$r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc));
$r->print($description.'('.
- ($Apache::lonnet::domaindescription{$cdom}?
- $Apache::lonnet::domaindescription{$cdom}:$cdom).")");
+ (&Apache::lonnet::domain($cdom,'description')?
+ &Apache::lonnet::domain($cdom,'description'):$cdom).")");
unless ($instcode eq '') {
$r->print(" - ".&unescape($instcode));
}
@@ -266,7 +265,15 @@ sub build_filters {
foreach my $item (@{$filterlist}) {
$filter->{$item} = $env{'form.'.$item};
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}) {
$filter->{$item} = '';
}
@@ -339,6 +346,9 @@ $name_input
$roleelement
$multelement
|;
+ if ($formname eq 'portform') {
+ $output .= '';
+ }
}
if ($sincefilterform) {
$output .= $lt{'cac'}.': '.$sincefilterform.'
'."\n";
@@ -406,7 +416,8 @@ sub search_courses {
undef,undef,$type);
} else {
$r->print('
');
- foreach my $cid (sort(&Apache::loncommon::findallcourses())) {
+ my %coursehash = &Apache::loncommon::findallcourses();
+ foreach my $cid (sort(keys(%coursehash))) {
$courses{$cid} = $env{'course.'.$cid.'.description'};
}
}