version 1.44, 2002/02/12 06:28:23
|
version 1.45, 2002/03/13 21:24:24
|
Line 366 sub assessparms {
|
Line 366 sub assessparms {
|
$ENV{'request.course.id'}); |
$ENV{'request.course.id'}); |
if ($csec eq '-1') { |
if ($csec eq '-1') { |
$message="<font color=red>". |
$message="<font color=red>". |
"User '$uname' at domain '$udom' not in this course</font>"; |
"User '$uname' at domain '$udom' not ". |
|
"in this course</font>"; |
$uname=''; |
$uname=''; |
$csec=$ENV{'form.csec'}; |
$csec=$ENV{'form.csec'}; |
} else { |
} else { |
Line 464 sub assessparms {
|
Line 465 sub assessparms {
|
if ($snum==6) { $storeunder=$seclevel; } |
if ($snum==6) { $storeunder=$seclevel; } |
if ($snum==5) { $storeunder=$seclevelm; } |
if ($snum==5) { $storeunder=$seclevelm; } |
if ($snum==4) { $storeunder=$seclevelr; } |
if ($snum==4) { $storeunder=$seclevelr; } |
$storeunder=&Apache::lonnet::escape($storeunder); |
|
|
|
my $storecontent= |
my %storecontent = ($storeunder => $ENV{'form.pres_value'}, |
$storeunder.'='. |
$storeunder.'type' => $ENV{'form.pres_type'}); |
&Apache::lonnet::escape($ENV{'form.pres_value'}).'&'. |
|
$storeunder.'.type='. |
|
&Apache::lonnet::escape($ENV{'form.pres_type'}); |
|
|
|
my $reply=''; |
my $reply=''; |
if ($snum>3) { |
if ($snum>3) { |
# ---------------------------------------------------------------- Store Course |
# ---------------------------------------------------------------- Store Course |
Line 485 sub assessparms {
|
Line 481 sub assessparms {
|
} else { |
} else { |
&Apache::lonnet::expirespread('','','assesscalc'); |
&Apache::lonnet::expirespread('','','assesscalc'); |
} |
} |
|
|
# Store parameter |
# Store parameter |
$reply=&Apache::lonnet::critical('put:'. |
$reply=&Apache::lonnet::cput |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'. |
('resourcedata',\%storecontent, |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.':resourcedata:'. |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$storecontent, |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}); |
|
} else { |
} else { |
# ------------------------------------------------------------------ Store User |
# ------------------------------------------------------------------ Store User |
# |
# |
Line 506 sub assessparms {
|
Line 500 sub assessparms {
|
} else { |
} else { |
&Apache::lonnet::expirespread($uname,$udom,'assesscalc'); |
&Apache::lonnet::expirespread($uname,$udom,'assesscalc'); |
} |
} |
|
|
# Store parameter |
# Store parameter |
$reply= |
$reply=&Apache::lonnet::cput |
&Apache::lonnet::critical('put:'.$udom.':'.$uname.':resourcedata:'. |
('resourcedata',\%storecontent,$udom,$uname); |
$storecontent,$uhome); |
|
} |
} |
|
|
if ($reply=~/^error\:(.*)/) { |
if ($reply=~/^error\:(.*)/) { |
Line 519 sub assessparms {
|
Line 511 sub assessparms {
|
# ---------------------------------------------------------------- Done storing |
# ---------------------------------------------------------------- Done storing |
} |
} |
# -------------------------------------------------------------- Get coursedata |
# -------------------------------------------------------------- Get coursedata |
my $reply=&Apache::lonnet::reply('dump:'. |
%courseopt = &Apache::lonnet::dump |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'. |
('resourcedata', |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.':resourcedata', |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
if ($reply!~/^error\:/) { |
|
foreach (split(/\&/,$reply)) { |
|
my ($name,$value)=split(/\=/,$_); |
|
$courseopt{&Apache::lonnet::unescape($name)}= |
|
&Apache::lonnet::unescape($value); |
|
} |
|
} |
|
# --------------------------------------------------- Get userdata (if present) |
# --------------------------------------------------- Get userdata (if present) |
if ($uname) { |
if ($uname) { |
my $reply= |
%useropt=&Apache::lonnet::dump('resourcedata',$udom,$uname); |
&Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome); |
|
if ($reply!~/^error\:/) { |
|
foreach (split(/\&/,$reply)) { |
|
my ($name,$value)=split(/\=/,$_); |
|
$useropt{&Apache::lonnet::unescape($name)}= |
|
&Apache::lonnet::unescape($value); |
|
} |
|
} |
|
} |
} |
|
|
# ------------------------------------------------------------------- Sort this |
# ------------------------------------------------------------------- Sort this |
Line 713 ENDTABLEHEADFOUR
|
Line 690 ENDTABLEHEADFOUR
|
untie(%parmhash); |
untie(%parmhash); |
} |
} |
|
|
|
# Set course environment parameters |
sub crsenv { |
sub crsenv { |
my $r=shift; |
my $r=shift; |
my $setoutput=''; |
my $setoutput=''; |
|
my $dom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}; |
|
my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'}; |
# -------------------------------------------------- Go through list of changes |
# -------------------------------------------------- Go through list of changes |
foreach (keys %ENV) { |
foreach (keys %ENV) { |
if ($_=~/^form\.(.+)\_setparmval$/) { |
if ($_=~/^form\.(.+)\_setparmval$/) { |
Line 726 sub crsenv {
|
Line 706 sub crsenv {
|
} |
} |
if ($name eq 'url') { |
if ($name eq 'url') { |
$value=~s/^\/res\///; |
$value=~s/^\/res\///; |
|
my @tmp = &Apache::lonnet::get |
|
('environment',['url'],$dom,$crs); |
$setoutput.='Backing up previous URL: '. |
$setoutput.='Backing up previous URL: '. |
&Apache::lonnet::reply('put:'. |
&Apache::lonnet::put |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
('environment', |
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
{'top level map backup ' => $tmp[1] }, |
':environment:'. |
$dom,$crs). |
&Apache::lonnet::escape('top level map backup '. |
'<br>'; |
time).'='. |
|
&Apache::lonnet::reply('get:'. |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
|
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
|
':environment:url', |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}), |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}). |
|
'<br>'; |
|
|
|
} |
} |
if ($name) { |
if ($name) { |
$setoutput.='Setting <tt>'.$name.'</tt> to <tt>'. |
$setoutput.='Setting <tt>'.$name.'</tt> to <tt>'. |
$value.'</tt>: '. |
$value.'</tt>: '. |
&Apache::lonnet::reply('put:'. |
&Apache::lonnet::put |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
('environment',{$name=>$value},$dom,$crs). |
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
'<br>'; |
':environment:'. |
|
&Apache::lonnet::escape($name).'='. |
|
&Apache::lonnet::escape($value), |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}). |
|
'<br>'; |
|
} |
} |
} |
} |
} |
} |
# -------------------------------------------------------- Get parameters again |
# -------------------------------------------------------- Get parameters again |
my $rep=&Apache::lonnet::reply |
|
('dump:'.$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
my %values=&Apache::lonnet::dump('environment',$dom,$crs); |
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
|
':environment', |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}); |
|
my $output=''; |
my $output=''; |
if ($rep ne 'con_lost') { |
if (! exists($values{'con_lost'})) { |
my %values; |
|
my %descriptions= |
my %descriptions= |
('url' => '<b>Top Level Map</b><br><font color=red> Modification may make assessment data inaccessible</font>', |
('url' => '<b>Top Level Map</b><br><font color=red> '. |
'description' => '<b>Course Description</b>', |
'Modification may make assessment data '. |
'courseid' => '<b>Course ID or number</b><br>(internal, optional)', |
'inaccessible</font>', |
'question.email' => '<b>Feedback Addresses for Content Questions</b><br>(<tt>user:domain,user:domain,...</tt>)', |
'description' => '<b>Course Description</b>', |
'comment.email' => '<b>Feedback Addresses for Comments</b><br>(<tt>user:domain,user:domain,...</tt>)', |
'courseid' => '<b>Course ID or number</b><br>'. |
'policy.email' => '<b>Feedback Addresses for Course Policy</b><br>(<tt>user:domain,user:domain,...</tt>)', |
'(internal, optional)', |
'hideemptyrows' => '<b>Hide Empty Rows in Spreadsheets</b><br>("<tt>yes</tt>" for default hiding)', |
'question.email' => '<b>Feedback Addresses for Content '. |
'pch.roles.denied'=> '<b>Disallow Resource Discussion for Students</b><br>"<tt>st</tt>": student, "<tt>ta</tt>": TA, "<tt>in</tt>": instructor;<br><tt>role,role,...</tt>)' |
'Questions</b><br>(<tt>user:domain,'. |
); |
'user:domain,...</tt>)', |
|
'comment.email' => '<b>Feedback Addresses for Comments</b><br>'. |
foreach (split(/\&/,$rep)) { |
'(<tt>user:domain,user:domain,...</tt>)', |
my ($name,$value)=split(/\=/,$_); |
'policy.email' => '<b>Feedback Addresses for Course Policy</b>'. |
$name=&Apache::lonnet::unescape($name); |
'<br>(<tt>user:domain,user:domain,...</tt>)', |
$values{$name}=&Apache::lonnet::unescape($value); |
'hideemptyrows' => '<b>Hide Empty Rows in Spreadsheets</b><br>'. |
unless ($descriptions{$name}) { |
'("<tt>yes</tt>" for default hiding)', |
$descriptions{$name}=$name; |
'pch.roles.denied'=> '<b>Disallow Resource Discussion for '. |
|
'Students</b><br>"<tt>st</tt>": '. |
|
'student, "<tt>ta</tt>": '. |
|
'TA, "<tt>in</tt>": '. |
|
'instructor;<br><tt>role,role,...</tt>)' |
|
); |
|
foreach (keys(%values)) { |
|
unless ($descriptions{$_}) { |
|
$descriptions{$_}=$_; |
} |
} |
} |
} |
foreach (sort keys %descriptions) { |
foreach (sort keys %descriptions) { |
$output.='<tr><td>'.$descriptions{$_}.'</td><td><input name="'. |
$output.='<tr><td>'.$descriptions{$_}.'</td><td><input name="'. |
$_.'_value" size=40 value="'. |
$_.'_value" size=40 value="'. |
$values{$_}. |
$values{$_}.'"></td><td><input type=checkbox name="'. |
'"></td><td><input type=checkbox name="'.$_. |
$_.'_setparmval"></td></tr>'; |
'_setparmval"></td></tr>'; |
|
} |
} |
$output.='<tr><td><i>Create New Environment Variable</i><br>'. |
$output.='<tr><td><i>Create New Environment Variable</i><br>'. |
'<input type="text" size=40 name="newp_name"></td><td>'. |
'<input type="text" size=40 name="newp_name" ></td><td>'. |
'<input type="text" size=40 name="newp_value"></td><td>'. |
'<input type="text" size=40 name="newp_value" ></td><td>'. |
'<input type="checkbox" name="newp_setparmval"></td></tr>'; |
'<input type="checkbox" name="newp_setparmval"></td></tr>'; |
} |
} |
$r->print(<<ENDENV); |
$r->print(<<ENDENV); |
<html> |
<html> |