version 1.66, 2002/09/07 17:30:31
|
version 1.74, 2002/10/28 14:00:18
|
Line 87 my $coursename;
|
Line 87 my $coursename;
|
|
|
Figure out a cascading parameter. |
Figure out a cascading parameter. |
|
|
Inputs: $what $id $def |
Inputs: $what - a parameter spec (incluse part info and name I.E. 0.weight) |
|
$id - a bighash Id number |
Returns: I am not entirely sure. |
$def - the resource's default value 'stupid emacs |
|
|
|
Returns: A list, the first item is the index into the remaining list of items of parm valuse that is the active one, the list consists of parm values at the 11 possible levels |
|
|
|
11- resource default |
|
10- map default |
|
9 - General Course |
|
8 - Map level in course |
|
7 - resource level in course |
|
6 - General for section |
|
5 - Map level for section |
|
4 - resource level in section |
|
3 - General for specific student |
|
2 - Map level for specific student |
|
1 - resource level for specific student |
|
|
=cut |
=cut |
|
|
Line 123 sub parmval {
|
Line 137 sub parmval {
|
|
|
# --------------------------------------------------------- third, check course |
# --------------------------------------------------------- third, check course |
|
|
if ($courseopt{$courselevel}) { |
if (defined($courseopt{$courselevel})) { |
$outpar[9]=$courseopt{$courselevel}; |
$outpar[9]=$courseopt{$courselevel}; |
$result=9; |
$result=9; |
} |
} |
|
|
if ($courseopt{$courselevelm}) { |
if (defined($courseopt{$courselevelm})) { |
$outpar[8]=$courseopt{$courselevelm}; |
$outpar[8]=$courseopt{$courselevelm}; |
$result=8; |
$result=8; |
} |
} |
|
|
if ($courseopt{$courselevelr}) { |
if (defined($courseopt{$courselevelr})) { |
$outpar[7]=$courseopt{$courselevelr}; |
$outpar[7]=$courseopt{$courselevelr}; |
$result=7; |
$result=7; |
} |
} |
|
|
if ($csec) { |
if (defined($csec)) { |
if ($courseopt{$seclevel}) { |
if (defined($courseopt{$seclevel})) { |
$outpar[6]=$courseopt{$seclevel}; |
$outpar[6]=$courseopt{$seclevel}; |
$result=6; |
$result=6; |
} |
} |
if ($courseopt{$seclevelm}) { |
if (defined($courseopt{$seclevelm})) { |
$outpar[5]=$courseopt{$seclevelm}; |
$outpar[5]=$courseopt{$seclevelm}; |
$result=5; |
$result=5; |
} |
} |
|
|
if ($courseopt{$seclevelr}) { |
if (defined($courseopt{$seclevelr})) { |
$outpar[4]=$courseopt{$seclevelr}; |
$outpar[4]=$courseopt{$seclevelr}; |
$result=4; |
$result=4; |
} |
} |
Line 156 sub parmval {
|
Line 170 sub parmval {
|
|
|
# ---------------------------------------------------------- fourth, check user |
# ---------------------------------------------------------- fourth, check user |
|
|
if ($uname) { |
if (defined($uname)) { |
if ($useropt{$courselevel}) { |
if (defined($useropt{$courselevel})) { |
$outpar[3]=$useropt{$courselevel}; |
$outpar[3]=$useropt{$courselevel}; |
$result=3; |
$result=3; |
} |
} |
|
|
if ($useropt{$courselevelm}) { |
if (defined($useropt{$courselevelm})) { |
$outpar[2]=$useropt{$courselevelm}; |
$outpar[2]=$useropt{$courselevelm}; |
$result=2; |
$result=2; |
} |
} |
|
|
if ($useropt{$courselevelr}) { |
if (defined($useropt{$courselevelr})) { |
$outpar[1]=$useropt{$courselevelr}; |
$outpar[1]=$useropt{$courselevelr}; |
$result=1; |
$result=1; |
} |
} |
} |
} |
|
|
return ($result,@outpar); |
return ($result,@outpar); |
} |
} |
|
|
Line 199 sub valout {
|
Line 212 sub valout {
|
my $result = ''; |
my $result = ''; |
# Values of zero are valid. |
# Values of zero are valid. |
if (! $value && $value ne '0') { |
if (! $value && $value ne '0') { |
$result = ' '; |
$result = ' '; |
} else { |
} else { |
if ($type eq 'date_interval') { |
if ($type eq 'date_interval') { |
my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value); |
my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value); |
Line 449 sub print_row {
|
Line 462 sub print_row {
|
} |
} |
my $sessionval=&Apache::lonnet::EXT('resource.'.$$part{$which}. |
my $sessionval=&Apache::lonnet::EXT('resource.'.$$part{$which}. |
'.'.$$name{$which},$symbp{$rid}); |
'.'.$$name{$which},$symbp{$rid}); |
my $sessionvaltype=&Apache::lonnet::EXT('resource.'.$$part{$which}. |
# this doesn't seem to work, and I don't think is correct |
'.'.$$name{$which}.'.type',$symbp{$rid}); |
# my $sessionvaltype=&Apache::lonnet::EXT('resource.'.$$part{$which}. |
|
# '.'.$$name{$which}.'.type',$symbp{$rid}); |
|
# this seems to work |
|
my $sessionvaltype=$typeoutpar[$result]; |
|
if (!defined($sessionvaltype)) { $sessionvaltype=$$defaulttype{$which}; } |
$r->print('<td bgcolor=#999999 align="center"><font color=#FFFFFF>'. |
$r->print('<td bgcolor=#999999 align="center"><font color=#FFFFFF>'. |
&valout($sessionval,$sessionvaltype).' '. |
&valout($sessionval,$sessionvaltype).' '. |
'</font></td>'); |
'</font></td>'); |
Line 806 sub assessparms {
|
Line 823 sub assessparms {
|
} |
} |
# ---------------------------------------------------------------- Done storing |
# ---------------------------------------------------------------- Done storing |
} |
} |
|
# --------------------------------------------- Devalidate cache for this child |
|
&Apache::lonnet::devalidatecourseresdata( |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}, |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}); |
# -------------------------------------------------------------- Get coursedata |
# -------------------------------------------------------------- Get coursedata |
%courseopt = &Apache::lonnet::dump |
%courseopt = &Apache::lonnet::dump |
('resourcedata', |
('resourcedata', |
Line 1175 ENDTABLEHEADFOUR
|
Line 1196 ENDTABLEHEADFOUR
|
foreach (split(/\,/,$keyp{$rid})) { |
foreach (split(/\,/,$keyp{$rid})) { |
my $tempkeyp = $_; |
my $tempkeyp = $_; |
my $fullkeyp = $tempkeyp; |
my $fullkeyp = $tempkeyp; |
$tempkeyp =~ s/_[\d_]+_/_0_/; |
$tempkeyp =~ s/_\w+_/_0_/; |
|
|
if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) { |
if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) { |
$part{$tempkeyp}="0"; |
$part{$tempkeyp}="0"; |
Line 1183 ENDTABLEHEADFOUR
|
Line 1204 ENDTABLEHEADFOUR
|
$display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display'); |
$display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display'); |
unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; } |
unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; } |
$display{$tempkeyp}.=' ('.$name{$tempkeyp}.')'; |
$display{$tempkeyp}.=' ('.$name{$tempkeyp}.')'; |
$display{$tempkeyp} =~ s/_[\d_]+_/_0_/; |
$display{$tempkeyp} =~ s/_\w+_/_0_/; |
$default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp); |
$default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp); |
$type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type'); |
$type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type'); |
} |
} |
Line 1257 ENDMAPONE
|
Line 1278 ENDMAPONE
|
foreach (split(/\,/,$keyp{$rid})) { |
foreach (split(/\,/,$keyp{$rid})) { |
my $tempkeyp = $_; |
my $tempkeyp = $_; |
my $fullkeyp = $tempkeyp; |
my $fullkeyp = $tempkeyp; |
$tempkeyp =~ s/_[\d_]+_/_0_/; |
$tempkeyp =~ s/_\w+_/_0_/; |
if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) { |
if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) { |
$part{$tempkeyp}="0"; |
$part{$tempkeyp}="0"; |
$name{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.name'); |
$name{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.name'); |
$display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display'); |
$display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display'); |
unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; } |
unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; } |
$display{$tempkeyp}.=' ('.$name{$tempkeyp}.')'; |
$display{$tempkeyp}.=' ('.$name{$tempkeyp}.')'; |
$display{$tempkeyp} =~ s/_[\d_]+_/_0_/; |
$display{$tempkeyp} =~ s/_\w+_/_0_/; |
$default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp); |
$default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp); |
$type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type'); |
$type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type'); |
} |
} |
Line 1382 sub crsenv {
|
Line 1403 sub crsenv {
|
'<a href="javascript:openbrowser'. |
'<a href="javascript:openbrowser'. |
"('envform','default_xml_style'". |
"('envform','default_xml_style'". |
",'sty')\">Browse</a><br>", |
",'sty')\">Browse</a><br>", |
'question.email' => '<b>Feedback Addresses for Content '. |
'question.email' => '<b>Feedback Addresses for Resource Content '. |
'Questions</b><br>(<tt>user:domain,'. |
'Questions</b><br>(<tt>user:domain,'. |
'user:domain,...</tt>)', |
'user:domain(section;section;...;*;...),...</tt>)', |
'comment.email' => '<b>Feedback Addresses for Comments</b><br>'. |
'comment.email' => '<b>Feedback Addresses for Course Content Comments</b><br>'. |
'(<tt>user:domain,user:domain,...</tt>)', |
'(<tt>user:domain,user:domain(section;section;...;*;...),...</tt>)', |
'policy.email' => '<b>Feedback Addresses for Course Policy</b>'. |
'policy.email' => '<b>Feedback Addresses for Course Policy</b>'. |
'<br>(<tt>user:domain,user:domain,...</tt>)', |
'<br>(<tt>user:domain,user:domain(section;section;...;*;...),...</tt>)', |
'hideemptyrows' => '<b>Hide Empty Rows in Spreadsheets</b><br>'. |
'hideemptyrows' => '<b>Hide Empty Rows in Spreadsheets</b><br>'. |
'("<tt>yes</tt>" for default hiding)', |
'("<tt>yes</tt>" for default hiding)', |
'pageseparators' => '<b>Visibly Separate Items on Pages</b><br>'. |
'pageseparators' => '<b>Visibly Separate Items on Pages</b><br>'. |
Line 1425 sub crsenv {
|
Line 1446 sub crsenv {
|
} |
} |
foreach (sort keys %descriptions) { |
foreach (sort keys %descriptions) { |
# onchange is javascript to automatically check the 'Set' button. |
# onchange is javascript to automatically check the 'Set' button. |
my $onchange = 'onchange="javascript:window.document.forms'. |
my $onchange = 'onFocus="javascript:window.document.forms'. |
'[\'envform\'].elements[\''.$_.'_setparmval\']'. |
'[\'envform\'].elements[\''.$_.'_setparmval\']'. |
'.checked=true;"'; |
'.checked=true;"'; |
$output.='<tr><td>'.$descriptions{$_}.'</td>'. |
$output.='<tr><td>'.$descriptions{$_}.'</td>'. |
Line 1434 sub crsenv {
|
Line 1455 sub crsenv {
|
'<td><input type=checkbox name="'.$_.'_setparmval"></td>'. |
'<td><input type=checkbox name="'.$_.'_setparmval"></td>'. |
'</tr>'."\n"; |
'</tr>'."\n"; |
} |
} |
my $onchange = 'onchange="javascript:window.document.forms'. |
my $onchange = 'onFocus="javascript:window.document.forms'. |
'[\'envform\'].elements[\'newp_setparmval\']'. |
'[\'envform\'].elements[\'newp_setparmval\']'. |
'.checked=true;"'; |
'.checked=true;"'; |
$output.='<tr><td><i>Create New Environment Variable</i><br />'. |
$output.='<tr><td><i>Create New Environment Variable</i><br />'. |