version 1.10, 2000/11/24 20:00:27
|
version 1.11, 2000/11/24 21:41:43
|
Line 43 my $fcat;
|
Line 43 my $fcat;
|
# -------------------------------------------- Figure out a cascading parameter |
# -------------------------------------------- Figure out a cascading parameter |
|
|
sub parmval { |
sub parmval { |
my ($what,$id)=@_; |
my ($what,$id,$def)=@_; |
my $result=''; |
my $result=''; |
|
@outpar=(); |
# ----------------------------------------------------- Cascading lookup scheme |
# ----------------------------------------------------- Cascading lookup scheme |
|
|
my $symbparm=$symbp{$id}.'.'.$what; |
my $symbparm=$symbp{$id}.'.'.$what; |
Line 67 sub parmval {
|
Line 68 sub parmval {
|
my $courselevelm= |
my $courselevelm= |
$ENV{'request.course.id'}.'.'.$mapparm; |
$ENV{'request.course.id'}.'.'.$mapparm; |
|
|
# ----------------------------------------------------------- first, check user |
# -------------------------------------------------------- first, check default |
|
|
if ($uname) { |
|
if ($useropt{$courselevelr}) { $outpar[1]=$useropt{$courselevelr}; |
|
$result=1; } |
|
if ($useropt{$courselevelm}) { $outpar[2]=$useropt{$courselevelm}; |
|
$result=2; } |
|
if ($useropt{$courselevel}) { $outpar[3]=$useropt{$courselevel}; |
|
$result=3; } |
|
} |
|
|
|
# -------------------------------------------------------- second, check course |
if ($def) { $outpar[11]=$def; |
|
$result=11; } |
|
|
if ($courseopt{$seclevelr}) { $outpar[4]=$courseopt{$seclevelr}; |
# ----------------------------------------------------- second, check map parms |
$result=4; } |
|
if ($courseopt{$seclevelm}) { $outpar[5]=$courseopt{$seclevelm}; |
my $thisparm=$parmhash{$symbparm}; |
$result=5; } |
if ($thisparm) { $outpar[10]=$thisparm; |
if ($courseopt{$seclevel}) { $outpar[6]=$courseopt{$seclevel}; |
$result=10; } |
$result=6; } |
|
|
# --------------------------------------------------------- third, check course |
|
|
if ($courseopt{$courselevelr}) { $outpar[7]=$courseopt{$courselevelr}; |
|
$result=7; } |
|
if ($courseopt{$courselevelm}) { $outpar[8]=$courseopt{$courselevelm}; |
|
$result=8; } |
|
if ($courseopt{$courselevel}) { $outpar[9]=$courseopt{$courselevel}; |
if ($courseopt{$courselevel}) { $outpar[9]=$courseopt{$courselevel}; |
$result=9; } |
$result=9; } |
|
|
# ------------------------------------------------------ third, check map parms |
if ($courseopt{$courselevelm}) { $outpar[8]=$courseopt{$courselevelm}; |
|
$result=8; } |
|
|
my $thisparm=$parmhash{$symbparm}; |
if ($courseopt{$courselevelr}) { $outpar[7]=$courseopt{$courselevelr}; |
if ($thisparm) { $outpar[10]=$thisparm; |
$result=7; } |
$result=10; } |
|
|
|
# --------------------------------------------- last, look in resource metadata |
|
|
|
my $filename='/home/httpd/res/'.$bighash{'src_'.$id}.'.meta'; |
if ($csec) { |
if (-e $filename) { |
|
my @content; |
if ($courseopt{$seclevel}) { $outpar[6]=$courseopt{$seclevel}; |
{ |
$result=6; } |
my $fh=Apache::File->new($filename); |
|
@content=<$fh>; |
if ($courseopt{$seclevelm}) { $outpar[5]=$courseopt{$seclevelm}; |
} |
$result=5; } |
if (join('',@content)=~ |
|
/\<$what[^\>]*\>([^\<]*)\<\/$what\>/) { |
if ($courseopt{$seclevelr}) { $outpar[4]=$courseopt{$seclevelr}; |
$outpar[11]=$1; |
$result=4; } |
$result=11; |
|
} |
} |
} |
|
|
# ---------------------------------------------------------- fourth, check user |
|
|
|
if ($uname) { |
|
|
|
if ($useropt{$courselevel}) { $outpar[3]=$useropt{$courselevel}; |
|
$result=3; } |
|
|
|
if ($useropt{$courselevelm}) { $outpar[2]=$useropt{$courselevelm}; |
|
$result=2; } |
|
|
|
if ($useropt{$courselevelr}) { $outpar[1]=$useropt{$courselevelr}; |
|
$result=1; } |
|
|
|
} |
|
|
return $result; |
return $result; |
} |
} |
|
|
Line 295 ENDHEAD
|
Line 298 ENDHEAD
|
my $coursespan=$csec?8:5; |
my $coursespan=$csec?8:5; |
$r->print(<<ENDTABLEHEAD); |
$r->print(<<ENDTABLEHEAD); |
<p><table border=2> |
<p><table border=2> |
<tr><td colspan=4></td> |
<tr><td colspan=5></td> |
<th colspan=$coursespan>Any User</th> |
<th colspan=$coursespan>Any User</th> |
ENDTABLEHEAD |
ENDTABLEHEAD |
if ($uname) { |
if ($uname) { |
$r->print("<th colspan=3 rowspan=2>User $uname at Domain $udom</th>"); |
$r->print("<th colspan=3 rowspan=2>User $uname at Domain $udom</th>"); |
} |
} |
$r->print(<<ENDTABLETWO); |
$r->print(<<ENDTABLETWO); |
</tr><tr><td colspan=4></td> |
<th rowspan=3>Parameter in Effect</th></tr><tr><td colspan=5></td> |
<th colspan=2>Resource Level</th> |
<th colspan=2>Resource Level</th> |
<th colspan=3>in Course</th> |
<th colspan=3>in Course</th> |
ENDTABLETWO |
ENDTABLETWO |
if ($csec) { |
if ($csec) { |
$r->print("<th colspan=3>in Section/Group $csec</th>"); |
$r->print("<th colspan=3>in Section/Group $csec</th>"); |
} |
} |
$r->print('</tr><tr>'); |
|
$r->print(<<ENDTABLEHEADFOUR); |
$r->print(<<ENDTABLEHEADFOUR); |
<tr><th>Assessment URL and Title</th> |
</tr><tr><th>Assessment URL and Title</th><th>Type</th> |
<th>Enclosing Map</th><th>Part No.</th><th>Parameter Name</th> |
<th>Enclosing Map</th><th>Part No.</th><th>Parameter Name</th> |
<th>from Metadata</th><th>from Enclosing Map</th> |
<th>default</th><th>from Enclosing Map</th> |
<th>general</th><th>for Enclosing Map</th><th>for Resource</th> |
<th>general</th><th>for Enclosing Map</th><th>for Resource</th> |
ENDTABLEHEADFOUR |
ENDTABLEHEADFOUR |
if ($csec) { |
if ($csec) { |
Line 328 ENDTABLEHEADFOUR
|
Line 330 ENDTABLEHEADFOUR
|
@outpar=(); |
@outpar=(); |
my $rid=$_; |
my $rid=$_; |
my $thistitle=''; |
my $thistitle=''; |
my @part=(0,1,1); |
my %name= ('0_deadline' => 'deadline'); |
my @name=('deadline','sig','tol'); |
my %part= ('0_deadline' => '0'); |
my @display=('Deadline','Significant Figures','Tolerance'); |
my %display=('0_deadline' => 'Deadline'); |
my @type=('date','int','tolerance'); |
my %type= ('0_deadline' => 'date_end'); |
|
my %default=('0_deadline' => time); |
my %metadata=&Apache::lonmeta::unpackagemeta( |
my %metadata=&Apache::lonmeta::unpackagemeta( |
&Apache::lonnet::getfile('/home/httpd/html/'.$bighash{'src_'.$rid}.'.meta'),1); |
&Apache::lonnet::getfile('/home/httpd/html/'.$bighash{'src_'.$rid}.'.meta'),1); |
map { |
map { |
if ($_=~/^parameter\_(\d+)\_(\w+)$/) { |
if ($_=~/^parameter\_(\d+)\_(\w+)$/) { |
$part[$#part+1]=$1; |
my $hashid=$1.'_'.$2; |
$name[$#name+1]=$2; |
$part{$hashid}=$1; |
($type[$#type+1],$display[$#display+1])= |
$name{$hashid}=$2; |
|
my $tdef; |
|
($tdef,$display{$hashid})= |
split(/\_\_dis\_\_/,$metadata{$_}); |
split(/\_\_dis\_\_/,$metadata{$_}); |
unless ($display[$#display]) { |
($type{$hashid},$default{$hashid})=split(/\:/,$tdef); |
$display[$#display]=$name[$#name]; |
unless ($display{$hashid}) { |
|
$display{$hashid}=$name{$hashid}; |
} |
} |
} |
} |
if ($_ eq 'title') { |
if ($_ eq 'title') { |
$thistitle=$metadata{$_}; |
$thistitle=$metadata{$_}; |
} |
} |
} keys %metadata; |
} keys %metadata; |
my $totalparms=$#name+1; |
my $totalparms=scalar keys %name; |
$r->print('<td rowspan='.$totalparms.'><tt><font size=-1>'. |
$r->print('<td rowspan='.$totalparms.'><tt><font size=-1>'. |
join(' / ',split(/\//,&Apache::lonnet::declutter($bighash{'src_'.$rid}))). |
join(' / ',split(/\//,&Apache::lonnet::declutter($bighash{'src_'.$rid}))). |
'</font></tt><p><b>'. |
'</font></tt><p><b>'. |
Line 356 ENDTABLEHEADFOUR
|
Line 362 ENDTABLEHEADFOUR
|
if ($thistitle) { |
if ($thistitle) { |
$r->print(' ('.$thistitle.')'); |
$r->print(' ('.$thistitle.')'); |
} |
} |
$r->print('</b></td><td rowspan='.$totalparms.'>'); |
$r->print('</b></td>'); |
$r->print('<tt><font size=-1>'. |
$r->print('<td rowspan='.$totalparms.'>'.$typep{$rid}.'</td>'); |
|
$r->print('<td rowspan='.$totalparms.'><tt><font size=-1>'. |
join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>'); |
join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>'); |
my $i; |
map { |
for ($i=0;$i<$totalparms;$i++) { |
|
$r->print("<td>$part[$i]</td><td>$display[$i]</td>"); |
my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_}); |
$r->print('<td>'.&valout($outpar[8],$type[$i]).'</td>'); |
|
$r->print('<td>'.&valout($outpar[7],$type[$i]).'</td>'); |
$r->print("<td>$part{$_}</td><td>$display{$_}</td>"); |
|
|
|
$r->print('<td>'.&valout($outpar[11],$type{$_}).'</td>'); |
|
$r->print('<td>'.&valout($outpar[10],$type{$_}).'</td>'); |
$r->print('<td>'. |
$r->print('<td>'. |
&plink($type[$i],$display[$i],$outpar[6]).'</td>'); |
&plink($type{$_},$display{$_},$outpar[9]).'</td>'); |
|
$r->print('<td>'. |
|
&plink($type{$_},$display{$_},$outpar[8]).'</td>'); |
|
$r->print('<td>'. |
|
&plink($type{$_},$display{$_},$outpar[7]).'</td>'); |
if ($csec) { |
if ($csec) { |
$r->print('<td>'. |
$r->print('<td>'. |
&plink($type[$i],$display[$i],$outpar[5]).'</td>'); |
&plink($type{$_},$display{$_},$outpar[6]).'</td>'); |
|
$r->print('<td>'. |
|
&plink($type{$_},$display{$_},$outpar[5]).'</td>'); |
|
$r->print('<td>'. |
|
&plink($type{$_},$display{$_},$outpar[4]).'</td>'); |
} |
} |
$r->print('<td>'. |
|
&plink($type[$i],$display[$i],$outpar[4]).'</td>'); |
|
if ($uname) { |
if ($uname) { |
$r->print('<td>'. |
$r->print('<td>'. |
&plink($type[$i],$display[$i],$outpar[3]).'</td>'); |
&plink($type{$_},$display{$_},$outpar[3]).'</td>'); |
if ($csec) { |
$r->print('<td>'. |
$r->print('<td>'. |
&plink($type{$_},$display{$_},$outpar[2]).'</td>'); |
&plink($type[$i],$display[$i],$outpar[2]).'</td>'); |
$r->print('<td>'. |
} |
&plink($type{$_},$display{$_},$outpar[1]).'</td>'); |
$r->print('<td>'. |
|
&plink($type[$i],$display[$i],$outpar[1]).'</td>'); |
|
} |
} |
|
$r->print('<td>'.&valout($outpar[$result],$type{$_}).'</td>'); |
$r->print("</tr>\n<tr>"); |
$r->print("</tr>\n<tr>"); |
} |
} sort keys %name; |
# -------------------------------------------------- End entry for one resource |
# -------------------------------------------------- End entry for one resource |
} @ids; |
} @ids; |
$r->print('</table></form></body></html>'); |
$r->print('</table></form></body></html>'); |
Line 404 __END__
|
Line 419 __END__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|