--- loncom/interface/lonpickcourse.pm 2007/06/01 18:07:47 1.63.2.1
+++ loncom/interface/lonpickcourse.pm 2007/10/03 19:57:29 1.64
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.63.2.1 2007/06/01 18:07:47 albertel Exp $
+# $Id: lonpickcourse.pm,v 1.64 2007/10/03 19:57:29 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -175,7 +175,9 @@ sub display_matched_courses {
my $numcourses = keys(%courses);
foreach my $course (keys(%courses)) {
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);
} else {
$descr = &unescape($courses{$course});
@@ -195,18 +197,36 @@ sub display_matched_courses {
my $cleandesc=&HTML::Entities::encode($description,'<>&"');
$cleandesc=~s/'/\\'/g;
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($description.'('.
(&Apache::lonnet::domain($cdom,'description')?
&Apache::lonnet::domain($cdom,'description'):$cdom).")");
- unless ($instcode eq '') {
+ if ($instcode ne '') {
$r->print(" - ".&unescape($instcode));
}
- unless ($owner eq '') {
- $r->print(", owner - ".&unescape($owner));
+ if (@owners > 1) {
+ $r->print(', '.&mt('owners').' - ',join(', ',@owners));
+ } elsif (@owners == 1) {
+ $r->print(', '.&mt('owner').' - '.$owner);
}
- unless ($ttype eq '') {
+ if ($ttype ne '') {
$r->print('('.&unescape($ttype).')');
}
if ($multiple) { $r->print("\n"); }
@@ -363,9 +383,9 @@ $multelement
if ($domainselectform) {
$output .= $lt{'cdo'}.': '.$domainselectform.'
'."\n";
}
-# if ($typeselectform) {
-# $output .= $lt{'cog'}.': '.$typeselectform.'
'."\n";
-# }
+ if ($typeselectform) {
+ $output .= $lt{'cog'}.': '.$typeselectform.'
'."\n";
+ }
if ($instcodeform) {
$output .= $lt{'cin'}.': '.$instcodeform.'
'."\n";
}