version 1.443, 2007/04/07 01:21:59
|
version 1.447, 2007/05/31 04:15:59
|
Line 42 package Apache::lonxml;
|
Line 42 package Apache::lonxml;
|
use vars |
use vars |
qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace $errorcount $warningcount); |
qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace $errorcount $warningcount); |
use strict; |
use strict; |
|
use LONCAPA; |
use HTML::LCParser(); |
use HTML::LCParser(); |
use HTML::TreeBuilder(); |
use HTML::TreeBuilder(); |
use HTML::Entities(); |
use HTML::Entities(); |
Line 598 sub callsub {
|
Line 599 sub callsub {
|
} |
} |
} |
} |
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
$currentstring.=&Apache::edit::handle_insert(); |
$currentstring.=&Apache::edit::handle_insert(); |
} elsif ($token->[0] eq 'E') { |
} elsif ($token->[0] eq 'E') { |
$currentstring.=&Apache::edit::handle_insertafter($token->[1]); |
$currentstring.=&Apache::edit::handle_insertafter($token->[1]); |
} |
} |
} |
} |
} |
} |
Line 996 sub get_all_text_unbalanced {
|
Line 997 sub get_all_text_unbalanced {
|
return $result |
return $result |
} |
} |
|
|
|
=pod |
|
|
|
For bubble grading mode and exam bubble printing mode, the tracking of |
|
the current 'bubble line number' is stored in the %env element |
|
'form.counter', and is modifed and handled by the following routines. |
|
|
|
The value of it is stored in $Apache:lonxml::counter when live and |
|
stored back to env after done. |
|
|
|
=item &increment_counter($increment); |
|
|
|
Increments the internal counter environment variable a specified amount |
|
|
|
Optional Arguments: |
|
$increment - amount to increment by (defaults to 1) |
|
|
|
=cut |
|
|
sub increment_counter { |
sub increment_counter { |
my ($increment) = @_; |
my ($increment) = @_; |
if (defined($increment) && $increment gt 0) { |
if (defined($increment) && $increment gt 0) { |
Line 1006 sub increment_counter {
|
Line 1025 sub increment_counter {
|
$Apache::lonxml::counter_changed=1; |
$Apache::lonxml::counter_changed=1; |
} |
} |
|
|
|
=pod |
|
|
|
=item &init_counter($increment); |
|
|
|
Initialize the internal counter environment variable |
|
|
|
=cut |
|
|
sub init_counter { |
sub init_counter { |
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
$Apache::lonxml::counter=1; |
$Apache::lonxml::counter=1; |
Line 1208 sub writeallows {
|
Line 1235 sub writeallows {
|
my %httpref=(); |
my %httpref=(); |
foreach (@extlinks) { |
foreach (@extlinks) { |
$httpref{'httpref.'. |
$httpref{'httpref.'. |
&Apache::lonnet::hreflocation($thisdir,$_)}=$thisurl; |
&Apache::lonnet::hreflocation($thisdir,&unescape($_))}=$thisurl; |
} |
} |
@extlinks=(); |
@extlinks=(); |
&Apache::lonnet::appenv(%httpref); |
&Apache::lonnet::appenv(%httpref); |
Line 1743 sub register_insert_xml {
|
Line 1770 sub register_insert_xml {
|
|
|
# parse the allows and ignore tags set to <show>no</show> |
# parse the allows and ignore tags set to <show>no</show> |
foreach my $tag (@alltags) { |
foreach my $tag (@alltags) { |
|
next if (!exists($insertlist{"$tag.allow"})); |
my $allow = $insertlist{"$tag.allow"}; |
my $allow = $insertlist{"$tag.allow"}; |
foreach my $element (split(',',$allow)) { |
foreach my $element (split(',',$allow)) { |
$element =~ s/(^\s*|\s*$ )//gx; |
$element =~ s/(^\s*|\s*$ )//gx; |
if ($insertlist{"$element.show"} ne 'no') { |
if (!exists($insertlist{"$element.show"}) |
|
|| $insertlist{"$element.show"} ne 'no') { |
push(@{ $insertlist{$tag.'.which'} },$element); |
push(@{ $insertlist{$tag.'.which'} },$element); |
} |
} |
} |
} |