+ENDSCRIPT
+ $r->print(&mt('Select Parameters to View'));
+ $r->print("\n');
+}
+
+sub menu {
+ my ($r,$allparms,$allparts,$allkeys,$pscat,$psprt,$fcat)=@_;
+ my $tempkey;
+
+ &parmmenu($r,$allkeys,$pscat);
+
+ $r->print('');
+ $r->print(' |
|
');
+
+ $r->print(''.&mt('Sort list by').' | ');
+ $r->print(' | ');
+
+ $r->print('
|
');
+
+}
+
##################################################
##################################################
@@ -778,6 +880,15 @@ Variables used (guessed by Jeremy):
sub assessparms {
my $r=shift;
+
+ my @ids=();
+ my %symbp=();
+ my %mapp=();
+ my %typep=();
+ my %keyp=();
+ my %uris=();
+ my %maptitles=();
+
# -------------------------------------------------------- Variable declaration
my %allkeys=();
my %allmaps=();
@@ -788,7 +899,7 @@ sub assessparms {
my $uhome;
my $csec;
- my $coursename=$ENV{'course.'.$ENV{'request.course.id'}.'.description'};
+ my $coursename=$env{'course.'.$env{'request.course.id'}.'.description'};
$alllevs{'Resource Level'}='full';
$alllevs{'Map Level'}='map';
@@ -798,9 +909,6 @@ sub assessparms {
my %allparts;
my %defp;
- %courseopt=();
- %useropt=();
- my %bighash=();
@ids=();
%symbp=();
@@ -808,54 +916,50 @@ sub assessparms {
my $message='';
- $csec=$ENV{'form.csec'};
+ $csec=$env{'form.csec'};
- if ($udom=$ENV{'form.udom'}) {
- } elsif ($udom=$ENV{'request.role.domain'}) {
- } elsif ($udom=$ENV{'user.domain'}) {
+ if ($udom=$env{'form.udom'}) {
+ } elsif ($udom=$env{'request.role.domain'}) {
+ } elsif ($udom=$env{'user.domain'}) {
} else {
$udom=$r->dir_config('lonDefDomain');
}
my @pscat=&Apache::loncommon::get_env_multiple('form.pscat');
- my $pschp=$ENV{'form.pschp'};
+ my $pschp=$env{'form.pschp'};
my @psprt=&Apache::loncommon::get_env_multiple('form.psprt');
if (!@psprt) { $psprt[0]='0'; }
- my $showoptions=$ENV{'form.showoptions'};
my $pssymb='';
my $parmlev='';
- my $trimheader='';
- my $prevvisit=$ENV{'form.prevvisit'};
+ my $prevvisit=$env{'form.prevvisit'};
- unless ($ENV{'form.parmlev'}) {
+ unless ($env{'form.parmlev'}) {
$parmlev = 'map';
} else {
- $parmlev = $ENV{'form.parmlev'};
+ $parmlev = $env{'form.parmlev'};
}
# ----------------------------------------------- Was this started from grades?
- if (($ENV{'form.command'} eq 'set') && ($ENV{'form.url'})
- && (!$ENV{'form.dis'})) {
- my $url=$ENV{'form.url'};
+ if (($env{'form.command'} eq 'set') && ($env{'form.url'})
+ && (!$env{'form.dis'})) {
+ my $url=$env{'form.url'};
$url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
$pssymb=&Apache::lonnet::symbread($url);
if (!@pscat) { @pscat=('all'); }
$pschp='';
$parmlev = 'full';
- $trimheader='yes';
- } elsif ($ENV{'form.symb'}) {
- $pssymb=$ENV{'form.symb'};
+ } elsif ($env{'form.symb'}) {
+ $pssymb=$env{'form.symb'};
if (!@pscat) { @pscat=('all'); }
$pschp='';
$parmlev = 'full';
- $trimheader='yes';
} else {
- $ENV{'form.url'}='';
+ $env{'form.url'}='';
}
- my $id=$ENV{'form.id'};
+ my $id=$env{'form.id'};
if (($id) && ($udom)) {
$uname=(&Apache::lonnet::idget($udom,$id))[1];
if ($uname) {
@@ -866,7 +970,7 @@ sub assessparms {
&mt('at domain')." '$udom'";
}
} else {
- $uname=$ENV{'form.uname'};
+ $uname=$env{'form.uname'};
}
unless ($udom) { $uname=''; }
$uhome='';
@@ -879,13 +983,13 @@ sub assessparms {
$uname='';
} else {
$csec=&Apache::lonnet::getsection($udom,$uname,
- $ENV{'request.course.id'});
+ $env{'request.course.id'});
if ($csec eq '-1') {
$message="".
&mt("User")." '$uname' ".&mt("at domain")." '$udom' ".
&mt("not in this course")."";
$uname='';
- $csec=$ENV{'form.csec'};
+ $csec=$env{'form.csec'};
} else {
my %name=&Apache::lonnet::userenvironment($udom,$uname,
('firstname','middlename','lastname','generation','id'));
@@ -899,51 +1003,29 @@ sub assessparms {
unless ($csec) { $csec=''; }
- my $fcat=$ENV{'form.fcat'};
+ my $fcat=$env{'form.fcat'};
unless ($fcat) { $fcat=''; }
-# ------------------------------------------------------------------- Tie hashs
- if (!(tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',
- &GDBM_READER(),0640))) {
- $r->print("Unable to access course data. (File $ENV{'request.course.fn'}.db not tieable)");
- return ;
- }
- if (!(tie(%parmhash,'GDBM_File',
- $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER(),0640))) {
- $r->print("Unable to access parameter data. (File $ENV{'request.course.fn'}_parms.db not tieable)");
- return ;
- }
-
# --------------------------------------------------------- Get all assessments
- &extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles);
+ &extractResourceInformation(\@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles,\%uris);
$mapp{'0.0'} = '';
$symbp{'0.0'} = '';
# ---------------------------------------------------------- Anything to store?
- if ($ENV{'form.pres_marker'}) {
- $message.=&storeparm(split(/\&/,$ENV{'form.pres_marker'}),
- $ENV{'form.pres_value'},
- $ENV{'form.pres_type'},
- $uname,$udom,$csec);
+ if ($env{'form.pres_marker'}) {
+ my @markers=split(/\&\&\&/,$env{'form.pres_marker'});
+ my @values=split(/\&\&\&/,$env{'form.pres_value'});
+ my @types=split(/\&\&\&/,$env{'form.pres_type'});
+ for (my $i=0;$i<=$#markers;$i++) {
+ $message.=&storeparm(split(/\&/,$markers[$i]),
+ $values[$i],
+ $types[$i],
+ $uname,$udom,$csec);
+ }
# ---------------------------------------------------------------- Done storing
$message.=''.&mt('Changes can take up to 10 minutes before being active for all students.').&Apache::loncommon::help_open_topic('Caching').'
';
}
-# --------------------------------------------- Devalidate cache for this child
- &Apache::lonnet::devalidatecourseresdata(
- $ENV{'course.'.$ENV{'request.course.id'}.'.num'},
- $ENV{'course.'.$ENV{'request.course.id'}.'.domain'});
- &Apache::lonnet::clear_EXT_cache_status();
-# -------------------------------------------------------------- Get coursedata
- %courseopt = &Apache::lonnet::dump
- ('resourcedata',
- $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
- $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
-# --------------------------------------------------- Get userdata (if present)
- if ($uname) {
- %useropt=&Apache::lonnet::dump('resourcedata',$udom,$uname);
- }
-
# ------------------------------------------------------------------- Sort this
@ids=sort {
@@ -962,26 +1044,14 @@ sub assessparms {
if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);}
# ------------------------------------------------------------------ Start page
- my $have_assesments=1;
- if (scalar(keys(%allkeys)) eq 0) { $have_assesments=0; }
-
- &startpage($r,$id,$udom,$csec,$uname,$have_assesments,$trimheader);
+ &startpage($r,$id,$udom,$csec,$uname,scalar(keys(%allkeys)));
- if (!$have_assesments) {
- untie(%bighash);
- untie(%parmhash);
- return '';
- }
-# if ($ENV{'form.url'}) {
-# $r->print('');
-# }
$r->print('');
foreach ('tolerance','date_default','date_start','date_end',
'date_interval','int','float','string') {
$r->print('');
+ $env{'form.recent_'.$_}.'" name="recent_'.$_.'">');
}
$r->print(''.$message.'
');
- $r->print('
|
');
-# $r->print("Show: $showoptions |
");
-# $r->print("pscat: @pscat |
");
-# $r->print("psprt: @psprt |
");
-# $r->print("fcat: $fcat |
");
-
- if ($showoptions eq 'show') {
- my $tempkey;
-
- $r->print(''.&mt('Select Parameters to View').' |
');
-
- $r->print('');
-
-# $r->print(' |
Select Parts | ');
- $r->print(' | |
|
');
-
- $r->print(''.&mt('Sort list by').' | ');
- $r->print(' | ');
-
- $r->print('
|
');
-
- } else { # hide options - include any necessary extras here
-
- $r->print(''."\n");
- unless (@pscat) {
- foreach (keys %allparms ) {
- $r->print(''."\n");
- }
- } else {
- foreach (@pscat) {
- $r->print(''."\n");
- }
- }
+ &menu($r,\%allparms,\%allparts,\%allkeys,\@pscat,\@psprt,$fcat);
- unless (@psprt) {
- foreach (keys %allparts ) {
- $r->print(''."\n");
- }
- } else {
- foreach (@psprt) {
- $r->print(''."\n");
- }
- }
-
- }
- $r->print('
');
if (($prevvisit) || ($pschp) || ($pssymb)) {
$submitmessage = &mt("Update Course Assessment Parameter Display");
} else {
@@ -1129,13 +1103,6 @@ sub assessparms {
}
$r->print('');
-# my @temp_psprt;
-# foreach my $t (@psprt) {
-# push(@temp_psprt, grep {eval (/^$t\./ || ($_ == $t))} (keys %allparts));
-# }
-
-# @psprt = @temp_psprt;
-
my @temp_pscat;
map {
my $cat = $_;
@@ -1147,10 +1114,10 @@ sub assessparms {
if (($prevvisit) || ($pschp) || ($pssymb)) {
# ----------------------------------------------------------------- Start Table
my @catmarker=map { tr|.|_|; 'parameter_'.$_; } @pscat;
- my $csuname=$ENV{'user.name'};
- my $csudom=$ENV{'user.domain'};
+ my $csuname=$env{'user.name'};
+ my $csudom=$env{'user.domain'};
- if ($parmlev eq 'full' || $parmlev eq 'brief') {
+ if ($parmlev eq 'full') {
my $coursespan=$csec?8:5;
$r->print('');
$r->print(' | ');
@@ -1190,8 +1157,8 @@ ENDTABLETWO
$r->print(<$lt{'aut'} | $lt{'type'} |
$lt{'emof'} | $lt{'part'} | $lt{'pn'} |
-$lt{'gen'} | $lt{'femof'} |
-$lt{'def'} | $lt{'foremf'} | $lt{'fr'} |
+$lt{'gen'} | $lt{'foremf'} |
+$lt{'def'} | $lt{'femof'} | $lt{'fr'} |
ENDTABLEHEADFOUR
if ($csec) {
@@ -1234,7 +1201,7 @@ ENDTABLEHEADFOUR
my %display=();
my %type= ();
my %default=();
- my $uri=&Apache::lonnet::declutter($bighash{'src_'.$rid});
+ my $uri=&Apache::lonnet::declutter($uris{$rid});
foreach (split(/\,/,$keyp{$rid})) {
my $tempkeyp = $_;
@@ -1287,7 +1254,7 @@ ENDTABLEHEADFOUR
undef $firstrow;
}
- &print_row($r,$_,\%part,\%name,$rid,\%default,
+ &print_row($r,$_,\%part,\%name,\%symbp,$rid,\%default,
\%type,\%display,$defbgone,$defbgtwo,
$parmlev,$uname,$udom,$csec);
}
@@ -1296,7 +1263,7 @@ ENDTABLEHEADFOUR
} # end foreach ids
# -------------------------------------------------- End entry for one resource
$r->print('
---|
');
- } # end of brief/full
+ } # end of full
#--------------------------------------------------- Entry for parm level map
if ($parmlev eq 'map') {
my $defbgone = '"E0E099"';
@@ -1333,7 +1300,7 @@ ENDTABLEHEADFOUR
# $r->print("$mapid:$map: $rid
\n");
if ($map eq $mapid) {
- my $uri=&Apache::lonnet::declutter($bighash{'src_'.$rid});
+ my $uri=&Apache::lonnet::declutter($uris{$rid});
# $r->print("Keys: $keyp{$rid}
\n");
#--------------------------------------------------------------------
@@ -1395,7 +1362,7 @@ ENDMAPONE
foreach (sort keys %name) {
$r->print('');
- &print_row($r,$_,\%part,\%name,$mapid,\%default,
+ &print_row($r,$_,\%part,\%name,\%symbp,$mapid,\%default,
\%type,\%display,$defbgone,$defbgtwo,
$parmlev,$uname,$udom,$csec);
# $r->print("
resource.$part{$_}.$name{$_},$symbp{$mapid} |
\n");
@@ -1421,7 +1388,7 @@ ENDMAPONE
foreach (@ids) {
my $rid = $_;
- my $uri=&Apache::lonnet::declutter($bighash{'src_'.$rid});
+ my $uri=&Apache::lonnet::declutter($uris{$rid});
#--------------------------------------------------------------------
# @catmarker contains list of all possible parameters including part #s
@@ -1473,7 +1440,7 @@ ENDMAPONE
foreach (sort keys %name) {
$r->print('');
- &print_row($r,$_,\%part,\%name,$mapid,\%default,
+ &print_row($r,$_,\%part,\%name,\%symbp,$mapid,\%default,
\%type,\%display,$defbgone,$defbgtwo,$parmlev,$uname,$udom,$csec);
# $r->print("
resource.$part{$_}.$name{$_},$symbp{$mapid} |
\n");
}
@@ -1481,8 +1448,6 @@ ENDMAPONE
} # end of $parmlev eq general
}
$r->print('