version 1.29, 2001/05/10 01:06:06
|
version 1.30, 2001/07/06 12:11:22
|
Line 11
|
Line 11
|
# |
# |
# 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28, |
# 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28, |
# 12/08,12/12, |
# 12/08,12/12, |
# 16/01/01,02/08,03/20,03/23,03/24,03/26,05/09 Gerd Kortemeyer |
# 16/01/01,02/08,03/20,03/23,03/24,03/26,05/09, |
|
# 07/05,07/06 Gerd Kortemeyer |
|
|
package Apache::lonparmset; |
package Apache::lonparmset; |
|
|
Line 153 sub plink {
|
Line 154 sub plink {
|
&valout($value,$type).'</a><a name="'.$marker.'"></a>'; |
&valout($value,$type).'</a><a name="'.$marker.'"></a>'; |
} |
} |
|
|
# ================================================================ Main Handler |
sub assessparms { |
|
|
sub handler { |
|
my $r=shift; |
|
|
|
if ($r->header_only) { |
|
$r->content_type('text/html'); |
|
$r->send_http_header; |
|
return OK; |
|
} |
|
|
|
# ----------------------------------------------------- Needs to be in a course |
|
|
|
if (($ENV{'request.course.fn'}) && |
my $r=shift; |
(&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}))) { |
|
# -------------------------------------------------------- Variable declaration |
# -------------------------------------------------------- Variable declaration |
|
|
%courseopt=(); |
%courseopt=(); |
Line 426 sub handler {
|
Line 415 sub handler {
|
$r->print(<<ENDHEAD); |
$r->print(<<ENDHEAD); |
<html> |
<html> |
<head> |
<head> |
<title>LON-CAPA Assessment Parameters</title> |
<title>LON-CAPA Course Parameters</title> |
<script> |
<script> |
|
|
function pclose() { |
function pclose() { |
Line 471 sub handler {
|
Line 460 sub handler {
|
</script> |
</script> |
</head> |
</head> |
<body bgcolor="#FFFFFF" onUnload="pclose()"> |
<body bgcolor="#FFFFFF" onUnload="pclose()"> |
<h1>Set Assessment Parameters</h1> |
<h1>Set Course Parameters</h1> |
<form method="post" action="/adm/parmset" name="parmform"> |
<form method="post" action="/adm/parmset" name="envform"> |
<h2>Course: $ENV{'course.'.$ENV{'request.course.id'}.'.description'}</h2> |
<h2>Course: $ENV{'course.'.$ENV{'request.course.id'}.'.description'}</h2> |
|
<h3>Course Environment</h3> |
|
<input type="submit" name="crsenv" value="Set Course Environment"> |
|
</form> |
|
<form method="post" action="/adm/parmset" name="parmform"> |
|
<h3>Course Assessments</h3> |
<b> |
<b> |
Section/Group: |
Section/Group: |
<input type="text" value="$csec" size="6" name="csec"> |
<input type="text" value="$csec" size="6" name="csec"> |
Line 696 ENDTABLEHEADFOUR
|
Line 690 ENDTABLEHEADFOUR
|
untie(%bighash); |
untie(%bighash); |
untie(%parmhash); |
untie(%parmhash); |
} |
} |
|
} |
|
|
|
sub crsenv { |
|
my $r=shift; |
|
my $setoutput=''; |
|
# -------------------------------------------------- Go through list of changes |
|
map { |
|
if ($_=~/^form\.(.+)\_setparmval$/) { |
|
my $name=$1; |
|
my $value=$ENV{'form.'.$name.'_value'}; |
|
if ($name eq 'newp') { |
|
$name=$ENV{'form.newp_name'}; |
|
} |
|
if ($name eq 'url') { |
|
$value=~s/^\/res\///; |
|
$setoutput.='Backing up previous URL: '. |
|
&Apache::lonnet::reply('put:'. |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
|
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
|
':environment:'. |
|
&Apache::lonnet::escape('top level map backup '. |
|
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) { |
|
$setoutput.='Setting <tt>'.$name.'</tt> to <tt>'. |
|
$value.'</tt>: '. |
|
&Apache::lonnet::reply('put:'. |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
|
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
|
':environment:'. |
|
&Apache::lonnet::escape($name).'='. |
|
&Apache::lonnet::escape($value), |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}). |
|
'<br>'; |
|
} |
|
} |
|
} keys %ENV; |
|
# -------------------------------------------------------- Get parameters again |
|
my $rep=&Apache::lonnet::reply |
|
('dump:'.$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}. |
|
':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}. |
|
':environment', |
|
$ENV{'course.'.$ENV{'request.course.id'}.'.home'}); |
|
my $output=''; |
|
if ($rep ne 'con_lost') { |
|
my %values; |
|
my %descriptions= |
|
('url' => '<b>Top Level Map</b><br><font color=red>'. |
|
'Modification may make assessment data inaccessible</font>', |
|
'description' => '<b>Course Description</b>', |
|
'courseid' => '<b>Course ID or number</b><br>(internal, optional)', |
|
'question.email' => '<b>Feedback Addresses for Content Questions</b><br>'. |
|
'(<tt>user:domain,user:domain,...</tt>)', |
|
'comment.email' => '<b>Feedback Addresses for Comments</b><br>'. |
|
'(<tt>user:domain,user:domain,...</tt>)', |
|
'policy.email' => '<b>Feedback Addresses for Course Policy</b><br>'. |
|
'(<tt>user:domain,user:domain,...</tt>)' |
|
); |
|
|
|
map { |
|
my ($name,$value)=split(/\=/,$_); |
|
$name=&Apache::lonnet::unescape($name); |
|
$values{$name}=&Apache::lonnet::unescape($value); |
|
unless ($descriptions{$name}) { |
|
$descriptions{$name}=$name; |
|
} |
|
} split(/\&/,$rep); |
|
map { |
|
$output.='<tr><td>'.$descriptions{$_}.'</td><td><input name="'. |
|
$_.'_value" size=40 value="'. |
|
$values{$_}. |
|
'"></td><td><input type=checkbox name="'.$_. |
|
'_setparmval"></td></tr>'; |
|
} keys %descriptions; |
|
$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_value"></td><td>'. |
|
'<input type="checkbox" name="newp_setparmval"></td></tr>'; |
|
} |
|
$r->print(<<ENDENV); |
|
<html> |
|
<head> |
|
<title>LON-CAPA Course Environment</title> |
|
</head> |
|
<body bgcolor="#FFFFFF"> |
|
<h1>Set Course Parameters</h1> |
|
<form method="post" action="/adm/parmset" name="envform"> |
|
<h2>Course: $ENV{'course.'.$ENV{'request.course.id'}.'.description'}</h2> |
|
<h3>Course Environment</h3> |
|
$setoutput |
|
<p> |
|
<table border=2> |
|
<tr><th>Parameter</th><th>Value</th><th>Set?</th></tr> |
|
$output |
|
</table> |
|
<input type="submit" name="crsenv" value="Set Course Environment"> |
|
</form> |
|
</body> |
|
</html> |
|
ENDENV |
|
} |
|
|
|
# ================================================================ Main Handler |
|
|
|
sub handler { |
|
my $r=shift; |
|
|
|
if ($r->header_only) { |
|
$r->content_type('text/html'); |
|
$r->send_http_header; |
|
return OK; |
|
} |
|
|
|
# ----------------------------------------------------- Needs to be in a course |
|
|
|
if (($ENV{'request.course.fn'}) && |
|
(&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}))) { |
|
|
|
unless ($ENV{'form.crsenv'}) { |
|
# --------------------------------------------------------- Bring up assessment |
|
&assessparms($r); |
|
# ---------------------------------------------- This is for course environment |
|
} else { |
|
&crsenv($r); |
|
} |
} else { |
} else { |
# ----------------------------- Not in a course, or not allowed to modify parms |
# ----------------------------- Not in a course, or not allowed to modify parms |
$ENV{'user.error.msg'}= |
$ENV{'user.error.msg'}= |