--- loncom/interface/lonparmset.pm 2005/08/30 01:25:53 1.246 +++ loncom/interface/lonparmset.pm 2005/09/02 22:14:35 1.247 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.246 2005/08/30 01:25:53 banghart Exp $ +# $Id: lonparmset.pm,v 1.247 2005/09/02 22:14:35 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2191,18 +2191,20 @@ sub listdata { my $foundkeys=0; foreach my $thiskey (sort { if ($sortorder eq 'realmstudent') { - my ($astudent,$arealm)=($a=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/); - my ($bstudent,$brealm)=($b=~/^$env{'request.course.id'}\.([^\.]+)\.(.+)\.[^\.]+$/); - if (!defined($astudent) && !defined($bstudent) && - !defined($arealm) && !defined($brealm)) { - ($arealm)=($a=~/^$env{'request.course.id'}\.(.+)\.[^\.]+$/); - ($brealm)=($b=~/^$env{'request.course.id'}\.(.+)\.[^\.]+$/); + my ($astudent,$arealm)=($a=~/^\Q$env{'request.course.id'}\E\.\[([^\.]+)\]\.(.+)\.[^\.]+$/); + my ($bstudent,$brealm)=($b=~/^\Q$env{'request.course.id'}\E\.\[([^\.]+)\]\.(.+)\.[^\.]+$/); + if (!defined($astudent)) { + ($arealm)=($a=~/^\Q$env{'request.course.id'}\E\.(.+)$/); } - ($arealm cmp $brealm) || ($astudent cmp $bstudent); + if (!defined($bstudent)) { + ($brealm)=($b=~/^\Q$env{'request.course.id'}\E\.(.+)$/); + } + ($arealm cmp $brealm) || ($astudent cmp $bstudent); } else { $a cmp $b; } } keys %{$listdata}) { + if ($$listdata{$thiskey.'.type'}) { my $thistype=$$listdata{$thiskey.'.type'}; if ($$resourcedata{$thiskey.'.type'}) {