version 1.240, 2004/02/16 20:01:26
|
version 1.244, 2004/03/08 23:18:21
|
Line 183 sub setup_rndseed {
|
Line 183 sub setup_rndseed {
|
sub problem_edit_header { |
sub problem_edit_header { |
return '<input type="hidden" name="submitted" value="edit" /> |
return '<input type="hidden" name="submitted" value="edit" /> |
<input type="hidden" name="problemmode" value="'.&mt('Edit').'" /> |
<input type="hidden" name="problemmode" value="'.&mt('Edit').'" /> |
<input type="submit" name="problemmode" value="'.&mt('Discard Edits and View').'" /> |
<input type="submit" name="problemmode" accesskey="d" value="'.&mt('Discard Edits and View').'" /> |
<input type="submit" name="problemmode" value="'.&mt('EditXML').'" /> |
<input type="submit" name="problemmode" accesskey="x" value="'.&mt('EditXML').'" /> |
<input type="submit" name="Undo" value="'.&mt('undo').'" /> <hr /> |
<input type="submit" name="Undo" accesskey="u" value="'.&mt('undo').'" /> <hr /> |
<input type="submit" name="submit" value="'.&mt('Submit Changes and Edit').'" /> |
<input type="submit" name="submit" accesskey="s" value="'.&mt('Submit Changes and Edit').'" /> |
<input type="submit" name="submit" value="'.&mt('Submit Changes and View').'" /><table><tr><td>'. |
<input type="submit" name="submit" accesskey="v" value="'.&mt('Submit Changes and View').'" /><table><tr><td>'. |
&Apache::loncommon::help_open_topic('Problem_Editor_XML_Index', |
&Apache::loncommon::help_open_topic('Problem_Editor_XML_Index', |
'Problem Editing Help').'</td><td>'. |
'Problem Editing Help').'</td><td>'. |
&Apache::loncommon::help_open_faq(5). |
&Apache::loncommon::help_open_faq(5). |
Line 213 sub option {
|
Line 213 sub option {
|
sub problem_web_to_edit_header { |
sub problem_web_to_edit_header { |
my ($rndseed)=@_; |
my ($rndseed)=@_; |
my $result.='<input type="hidden" name="problemmode" value="'.&mt('View').'" /> |
my $result.='<input type="hidden" name="problemmode" value="'.&mt('View').'" /> |
<input type="submit" name="problemmode" value="'.&mt('Edit').'" /> |
<input type="submit" name="problemmode" accesskey="e" value="'.&mt('Edit').'" /> |
<input type="submit" name="problemmode" value="'.&mt('EditXML').'" /> |
<input type="submit" name="problemmode" accesskey="x" value="'.&mt('EditXML').'" /> |
<input type="submit" name="newrandomization" value="'.&mt('New Randomization').'" /> |
<input type="submit" name="newrandomization" accesskey="a" value="'.&mt('New Randomization').'" /> |
<input type="submit" name="resetdata" value="'.&mt('Reset Submissions').'" /> |
<input type="submit" name="resetdata" accesskey="r" value="'.&mt('Reset Submissions').'" /> |
<nobr><input type="submit" name="changerandseed" value="'.&mt('Change Random Seed To:').'" /> |
<nobr><input type="submit" name="changerandseed" value="'.&mt('Change Random Seed To:').'" /> |
<input type="text" name="rndseed" width="10" value="'. |
<input type="text" name="rndseed" width="10" value="'. |
$rndseed.'" |
$rndseed.'" |
Line 242 Problem Status:
|
Line 242 Problem Status:
|
Problem Type: |
Problem Type: |
<select name='problemtype'> |
<select name='problemtype'> |
<option name=''></option> |
<option name=''></option> |
".&option('exam' ,'problemtype')."Exam Problem</option> |
".&option('exam' ,'problemtype').&mt("Exam Problem")."</option> |
".&option('problem','problemtype')."Homework problem</option> |
".&option('problem','problemtype').&mt("Homework problem")."</option> |
".&option('survey' ,'problemtype')."Survey Question</option> |
".&option('survey' ,'problemtype').&mt("Survey Question")."</option> |
</select> |
</select> |
</nobr> |
</nobr> |
<nobr> |
<nobr> |
Feedback Mode: |
Feedback Mode: |
<select name='problemstatus'> |
<select name='problemstatus'> |
<option value=''></option> |
<option value=''></option> |
".&option('yes','problemstatus')."Show Feedback</option> |
".&option('yes','problemstatus').&mt("Show Feedback")."</option> |
".&option('no', 'problemstatus')."Don\'t Show Feedback</option> |
".&option('no', 'problemstatus').&mt("Don't Show Feedback")."</option> |
</select> |
</select> |
<input type='submit' name='changeproblemmode' value='Change' /> |
|
</nobr> |
</nobr> |
|
<input type='submit' name='changeproblemmode' value='".&mt("Change")."' /> |
<hr />"; |
<hr />"; |
my $numtoanalyze=$ENV{'form.numtoanalyze'}; |
my $numtoanalyze=$ENV{'form.numtoanalyze'}; |
if (!$numtoanalyze) { $numtoanalyze=20; } |
if (!$numtoanalyze) { $numtoanalyze=20; } |
Line 336 sub init_problem_globals {
|
Line 336 sub init_problem_globals {
|
if ($type eq 'problem') { |
if ($type eq 'problem') { |
$Apache::inputtags::part='0'; |
$Apache::inputtags::part='0'; |
@Apache::inputtags::partlist=('0'); |
@Apache::inputtags::partlist=('0'); |
$Apache::lonhomework::problemstatus= |
|
&Apache::lonnet::EXT('resource.0.problemstatus'); |
$Apache::lonhomework::problemstatus=&get_problem_status('0') |
&Apache::lonxml::debug("problem status is $Apache::lonhomework::problemstatus"); |
|
&Apache::lonxml::debug("env probstat is ".$ENV{'form.problemstatus'}); |
|
if ($ENV{'request.state'} eq 'construct' && |
|
defined($ENV{'form.problemstatus'})) { |
|
$Apache::lonhomework::problemstatus=$ENV{'form.problemstatus'}; |
|
} |
|
} else { |
} else { |
$Apache::inputtags::part=''; |
$Apache::inputtags::part=''; |
@Apache::inputtags::partlist=(); |
@Apache::inputtags::partlist=(); |
Line 373 sub reset_problem_globals {
|
Line 367 sub reset_problem_globals {
|
undef($Apache::lonhomework::name); |
undef($Apache::lonhomework::name); |
} |
} |
|
|
sub set_problem_status { |
sub set_problem_state { |
my ($part)=@_; |
my ($part)=@_; |
if ($ENV{'form.problemstate'} eq 'CANNOT_ANSWER_correct') { |
if ($ENV{'form.problemstate'} eq 'CANNOT_ANSWER_correct') { |
$Apache::lonhomework::history{"resource.$part.solved"}= |
$Apache::lonhomework::history{"resource.$part.solved"}= |
Line 381 sub set_problem_status {
|
Line 375 sub set_problem_status {
|
} |
} |
} |
} |
|
|
|
sub get_problem_status { |
|
my ($part)=@_; |
|
my $problem_status=&Apache::lonnet::EXT("resource.$part.problemstatus"); |
|
&Apache::lonxml::debug("problem status for $part is $problem_status"); |
|
&Apache::lonxml::debug("env probstat is ".$ENV{'form.problemstatus'}); |
|
if ($ENV{'request.state'} eq 'construct' && |
|
defined($ENV{'form.problemstatus'})) { |
|
$problem_status=$ENV{'form.problemstatus'}; |
|
} |
|
return $problem_status; |
|
} |
|
|
sub start_problem { |
sub start_problem { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
|
Line 403 sub start_problem {
|
Line 409 sub start_problem {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
&Apache::lonhomework::showhash(%Apache::lonhomework::history); |
&Apache::lonhomework::showhash(%Apache::lonhomework::history); |
} |
} |
if ($ENV{'request.state'} eq 'construct') { &set_problem_status('0'); } |
if ($ENV{'request.state'} eq 'construct') { &set_problem_state('0'); } |
$Apache::lonhomework::type=&Apache::lonnet::EXT('resource.0.type'); |
$Apache::lonhomework::type=&Apache::lonnet::EXT('resource.0.type'); |
if (($ENV{'request.state'} eq 'construct') && |
if (($ENV{'request.state'} eq 'construct') && |
defined($ENV{'form.problemtype'})) { |
defined($ENV{'form.problemtype'})) { |
Line 650 sub end_problem {
|
Line 656 sub end_problem {
|
sub start_library { |
sub start_library { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($result,$head_tag_start,$body_tag_start,$form_tag_start); |
my ($result,$head_tag_start,$body_tag_start,$form_tag_start); |
if ($$tagstack[0] eq 'library') { &init_problem_globals('library') }; |
if ($$tagstack[0] eq 'library') { |
|
&init_problem_globals('library'); |
|
$Apache::lonhomework::type='problem'; |
|
} |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
($result,$head_tag_start,$body_tag_start,$form_tag_start)= |
($result,$head_tag_start,$body_tag_start,$form_tag_start)= |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); |
&page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); |
Line 994 sub start_part {
|
Line 1003 sub start_part {
|
@Apache::inputtags::response=(); |
@Apache::inputtags::response=(); |
@Apache::inputtags::previous=(); |
@Apache::inputtags::previous=(); |
@Apache::inputtags::previous_version=(); |
@Apache::inputtags::previous_version=(); |
$Apache::lonhomework::problemstatus= |
$Apache::lonhomework::problemstatus=&get_problem_status($id); |
&Apache::lonnet::EXT("resource.$id.problemstatus"); |
|
my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part); |
my $hidden=&Apache::loncommon::check_if_partid_hidden($Apache::inputtags::part); |
my $expression='$external::part=\''.$Apache::inputtags::part.'\';'; |
my $expression='$external::part=\''.$Apache::inputtags::part.'\';'; |
&Apache::run::run($expression,$safeeval); |
&Apache::run::run($expression,$safeeval); |
Line 1015 sub start_part {
|
Line 1023 sub start_part {
|
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.$id.solved"}.'";'; |
&Apache::run::run($expression,$safeeval); |
&Apache::run::run($expression,$safeeval); |
if ($ENV{'request.state'} eq 'construct') { |
if ($ENV{'request.state'} eq 'construct') { |
&set_problem_status($Apache::inputtags::part); |
&set_problem_state($Apache::inputtags::part); |
} |
} |
if (( $status eq 'CLOSED' ) || |
if (( $status eq 'CLOSED' ) || |
( $status eq 'UNCHECKEDOUT') || |
( $status eq 'UNCHECKEDOUT') || |