version 1.121, 2002/10/01 21:04:34
|
version 1.132, 2002/11/06 23:05:02
|
Line 141 sub problem_edit_header {
|
Line 141 sub problem_edit_header {
|
<input type="submit" name="problemmode" value="EditXML" /> |
<input type="submit" name="problemmode" value="EditXML" /> |
<input type="submit" name="Undo" value="undo" /> <hr /> |
<input type="submit" name="Undo" value="undo" /> <hr /> |
<input type="submit" name="submit" value="Submit Changes" /> |
<input type="submit" name="submit" value="Submit Changes" /> |
<input type="submit" name="submit" value="Submit Changes and View" /><br /> |
<input type="submit" name="submit" value="Submit Changes and View" /><br /><p> </p> |
'; |
'; |
} |
} |
|
|
Line 163 sub problem_web_to_edit_header {
|
Line 163 sub problem_web_to_edit_header {
|
if (defined($ENV{'form.showallfoils'})) { $result.='checked="on"'; } |
if (defined($ENV{'form.showallfoils'})) { $result.='checked="on"'; } |
$result.= ' /> Show All Foils |
$result.= ' /> Show All Foils |
<hr />'; |
<hr />'; |
|
my $numtoanalyze=$ENV{'form.numtoanalyze'}; |
|
if (!$numtoanalyze) { $numtoanalyze=100; } |
|
#DISABLED for now. |
|
#$result.= '<input type="submit" name="problemmode" value="Answer Distribution" /> |
|
# <input type="text" name="numtoanalyze" value="'. |
|
# $numtoanalyze.'" size="5" /> <hr />'; |
|
return $result; |
} |
} |
|
|
sub initialize_storage { |
sub initialize_storage { |
Line 283 sub start_problem {
|
Line 290 sub start_problem {
|
my $expression='$external::datestatus="'.$status.'";'; |
my $expression='$external::datestatus="'.$status.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.0.solved"}.'";'; |
$expression.='$external::gradestatus="'.$Apache::lonhomework::history{"resource.0.solved"}.'";'; |
&Apache::run::run($expression,$safeeval); |
&Apache::run::run($expression,$safeeval); |
|
&Apache::lonxml::debug("Got $status"); |
if (( $status eq 'CLOSED' ) || |
if (( $status eq 'CLOSED' ) || |
( $status eq 'UNCHECKEDOUT') || |
( $status eq 'UNCHECKEDOUT') || |
( $status eq 'BANNED')) { |
( $status eq 'BANNED')) { |
my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[$#$parser]); |
my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser); |
if ( $target eq "web" ) { |
if ( $target eq "web" ) { |
$result.= $head_tag_start.'</head>'; |
$result.= $head_tag_start.'</head>'; |
my $msg=$body_tag_start. |
my $msg=$body_tag_start. |
Line 389 sub end_problem {
|
Line 397 sub end_problem {
|
$status ne 'UNCHECKEDOUT') { |
$status ne 'UNCHECKEDOUT') { |
# if part is zero, no <part>s existed, so we need show the current |
# if part is zero, no <part>s existed, so we need show the current |
# grading status |
# grading status |
my $gradestatus = &Apache::inputtags::gradestatus($Apache::inputtags::part); |
my $gradestatus = &Apache::inputtags::gradestatus($Apache::inputtags::part,$target); |
#FIXME this is ugly we should just generate tex in inputtags |
|
if ($target eq 'tex') { $gradestatus=&html_to_tex($gradestatus); } |
|
if ($Apache::lonhomework::type ne 'exam') {$result.= $gradestatus;} |
if ($Apache::lonhomework::type ne 'exam') {$result.= $gradestatus;} |
} |
} |
if ( |
if ( |
Line 476 sub end_library {
|
Line 482 sub end_library {
|
} |
} |
|
|
sub start_block { |
sub start_block { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
|
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { |
my $result; |
my $code = @$parstack[$#$parstack]; |
|
$code =~ s/\"//g; |
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || |
$code .=';return $condition;'; |
$target eq 'tex' || $target eq 'analyze') { |
# print "<br />$code<br />"; |
my $code = @$parstack[$#$parstack]; |
my $result = &Apache::run::run($code,$safeeval); |
if ($code) { |
&Apache::lonxml::debug("block :$code: returned :$result:"); |
$code =~ s/\"//g; |
if ( ! $result ) { |
$code .=';return $condition;'; |
my $skip=&Apache::lonxml::get_all_text("/block",$$parser[$#$parser]); |
$result = &Apache::run::run($code,$safeeval); |
&Apache::lonxml::debug("skipping ahead :$skip: $$parser[$#$parser]"); |
&Apache::lonxml::debug("block :$code: returned :$result:"); |
|
} else { |
|
$result='1'; |
|
} |
|
if ( ! $result ) { |
|
my $skip=&Apache::lonxml::get_all_text("/block",$$parser[-1]); |
|
&Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]"); |
|
} |
|
$result=''; |
|
} elsif ($target eq 'edit') { |
|
$result .=&Apache::edit::tag_start($target,$token); |
|
$result .=&Apache::edit::text_arg('Test Condition:','condition', |
|
$token,40); |
|
$result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
|
} elsif ($target eq 'modified') { |
|
my $constructtag=&Apache::edit::get_new_args($token,$parstack, |
|
$safeeval,'condition'); |
|
if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); } |
} |
} |
} |
return $result; |
return ""; |
|
} |
} |
|
|
sub end_block { |
sub end_block { |
Line 535 sub start_randomlist {
|
Line 557 sub start_randomlist {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result; |
my $result; |
if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' || |
if ($target eq 'answer' || $target eq 'grade' || $target eq 'web' || |
$target eq 'tex') { |
$target eq 'tex' || $target eq 'analyze') { |
my $body= &Apache::lonxml::get_all_text("/randomlist",$$parser[$#$parser]); |
my $body= &Apache::lonxml::get_all_text("/randomlist",$$parser[$#$parser]); |
my $b_parser= HTML::TokeParser->new(\$body); |
my $b_parser= HTML::TokeParser->new(\$body); |
my $b_tok; |
my $b_tok; |
Line 625 sub start_part {
|
Line 647 sub start_part {
|
if ( $target eq "web" ) { |
if ( $target eq "web" ) { |
$result="<br />Part is not open to be viewed. It $accessmsg<br />"; |
$result="<br />Part is not open to be viewed. It $accessmsg<br />"; |
} elsif ( $target eq 'tex' ) { |
} elsif ( $target eq 'tex' ) { |
$result="\\vskip 0 mm Part is not open to be viewed. It $accessmsg \\\\"; |
$result="\\end{minipage}\\vskip 0 mm Part is not open to be viewed. It $accessmsg \\\\\\begin{minipage}{\\textwidth}"; |
} |
} |
} else { |
} else { |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
$result='\vskip 0 mm'; |
if ($$tagstack[-2] ne 'problem') { |
|
$result.='\noindent \end{minipage}\vskip 0 mm \noindent \begin{minipage}{\textwidth}\noindent'; |
|
} |
} |
} |
} |
} |
} |
} |
Line 751 sub start_endouttext {
|
Line 775 sub start_endouttext {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result=''; |
my $result=''; |
if ($target eq "edit" ) { $result="</td></tr>".&Apache::edit::end_table()."\n"; } |
if ($target eq "edit" ) { $result="</td></tr>".&Apache::edit::end_table()."\n"; } |
if ($target eq "modified") { $result='<endouttext />'; } |
if ($target eq "modified") { |
|
$result='<endouttext />'. |
|
&Apache::edit::handle_insertafter('startouttext'); } |
return $result; |
return $result; |
} |
} |
sub end_endouttext { |
sub end_endouttext { |