version 1.140, 2001/11/29 21:38:17
|
version 1.142, 2001/12/21 22:44:06
|
Line 66 use Math::Random qw(:all);
|
Line 66 use Math::Random qw(:all);
|
use Opcode; |
use Opcode; |
|
|
sub register { |
sub register { |
my $space; |
my ($space,@taglist) = @_; |
my @taglist; |
foreach my $temptag (@taglist) { |
my $temptag; |
push(@{ $Apache::lonxml::alltags{$temptag} },$space); |
($space,@taglist) = @_; |
|
foreach $temptag (@taglist) { |
|
$Apache::lonxml::alltags{$temptag}=$space; |
|
} |
} |
} |
} |
|
|
|
sub deregister { |
|
my ($space,@taglist) = @_; |
|
foreach my $temptag (@taglist) { |
|
my $tempspace = $Apache::lonxml::alltags{$temptag}[-1]; |
|
if ($tempspace eq $space) { |
|
pop(@{ $Apache::lonxml::alltags{$temptag} }); |
|
} |
|
} |
|
#&printalltags(); |
|
} |
|
|
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::lontexconvert; |
use Apache::lontexconvert; |
use Apache::style; |
use Apache::style; |
Line 425 sub unloadevents() {
|
Line 433 sub unloadevents() {
|
sub printalltags { |
sub printalltags { |
my $temp; |
my $temp; |
foreach $temp (sort keys %Apache::lonxml::alltags) { |
foreach $temp (sort keys %Apache::lonxml::alltags) { |
&Apache::lonxml::debug("$temp -- $Apache::lonxml::alltags{$temp}"); |
&Apache::lonxml::debug("$temp -- ". |
|
join(',',@{ $Apache::lonxml::alltags{$temp} })); |
} |
} |
} |
} |
|
|
Line 644 sub callsub {
|
Line 653 sub callsub {
|
my $sub1; |
my $sub1; |
no strict 'refs'; |
no strict 'refs'; |
my $tag=$token->[1]; |
my $tag=$token->[1]; |
my $space=$Apache::lonxml::alltags{$tag}; |
my $space=$Apache::lonxml::alltags{$tag}[-1]; |
if (!$space) { |
if (!$space) { |
$tag=~tr/A-Z/a-z/; |
$tag=~tr/A-Z/a-z/; |
$sub=~tr/A-Z/a-z/; |
$sub=~tr/A-Z/a-z/; |
$space=$Apache::lonxml::alltags{$tag} |
$space=$Apache::lonxml::alltags{$tag}[-1] |
} |
} |
|
|
my $deleted=0; |
my $deleted=0; |
Line 916 sub newparser {
|
Line 925 sub newparser {
|
sub parstring { |
sub parstring { |
my ($token) = @_; |
my ($token) = @_; |
my $temp=''; |
my $temp=''; |
map { |
foreach (@{$token->[3]}) { |
unless ($_=~/\W/) { |
unless ($_=~/\W/) { |
my $val=$token->[2]->{$_}; |
my $val=$token->[2]->{$_}; |
$val =~ s/([\%\@\\])/\\$1/g; |
$val =~ s/([\%\@\\])/\\$1/g; |
#if ($val =~ m/^[\%\@]/) { $val="\\".$val; } |
#if ($val =~ m/^[\%\@]/) { $val="\\".$val; } |
$temp .= "my \$$_=\"$val\";" |
$temp .= "my \$$_=\"$val\";" |
} |
} |
} @{$token->[3]}; |
} |
return $temp; |
return $temp; |
} |
} |
|
|
Line 936 sub writeallows {
|
Line 945 sub writeallows {
|
my $thisdir=$thisurl; |
my $thisdir=$thisurl; |
$thisdir=~s/\/[^\/]+$//; |
$thisdir=~s/\/[^\/]+$//; |
my %httpref=(); |
my %httpref=(); |
map { |
foreach (@extlinks) { |
$httpref{'httpref.'. |
$httpref{'httpref.'. |
&Apache::lonnet::hreflocation($thisdir,$_)}=$thisurl; |
&Apache::lonnet::hreflocation($thisdir,$_)}=$thisurl; |
} @extlinks; |
} |
@extlinks=(); |
@extlinks=(); |
&Apache::lonnet::appenv(%httpref); |
&Apache::lonnet::appenv(%httpref); |
} |
} |
Line 949 sub writeallows {
|
Line 958 sub writeallows {
|
# |
# |
sub afterburn { |
sub afterburn { |
my $result=shift; |
my $result=shift; |
map { |
foreach (split(/&/,$ENV{'QUERY_STRING'})) { |
my ($name, $value) = split(/=/,$_); |
my ($name, $value) = split(/=/,$_); |
$value =~ tr/+/ /; |
$value =~ tr/+/ /; |
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
Line 958 sub afterburn {
|
Line 967 sub afterburn {
|
$ENV{'form.'.$name}=$value; |
$ENV{'form.'.$name}=$value; |
} |
} |
} |
} |
} (split(/&/,$ENV{'QUERY_STRING'})); |
} |
if ($ENV{'form.highlight'}) { |
if ($ENV{'form.highlight'}) { |
map { |
foreach (split(/\,/,$ENV{'form.highlight'})) { |
my $anchorname=$_; |
my $anchorname=$_; |
my $matchthis=$anchorname; |
my $matchthis=$anchorname; |
$matchthis=~s/\_+/\\s\+/g; |
$matchthis=~s/\_+/\\s\+/g; |
$result=~s/($matchthis)/\<font color=\"red\"\>$1\<\/font\>/gs; |
$result=~s/($matchthis)/\<font color=\"red\"\>$1\<\/font\>/gs; |
} split(/\,/,$ENV{'form.highlight'}); |
} |
} |
} |
if ($ENV{'form.link'}) { |
if ($ENV{'form.link'}) { |
map { |
foreach (split(/\,/,$ENV{'form.link'})) { |
my ($anchorname,$linkurl)=split(/\>/,$_); |
my ($anchorname,$linkurl)=split(/\>/,$_); |
my $matchthis=$anchorname; |
my $matchthis=$anchorname; |
$matchthis=~s/\_+/\\s\+/g; |
$matchthis=~s/\_+/\\s\+/g; |
$result=~s/($matchthis)/\<a href=\"$linkurl\"\>$1\<\/a\>/gs; |
$result=~s/($matchthis)/\<a href=\"$linkurl\"\>$1\<\/a\>/gs; |
} split(/\,/,$ENV{'form.link'}); |
} |
} |
} |
if ($ENV{'form.anchor'}) { |
if ($ENV{'form.anchor'}) { |
my $anchorname=$ENV{'form.anchor'}; |
my $anchorname=$ENV{'form.anchor'}; |
Line 1044 sub handler {
|
Line 1053 sub handler {
|
} else { |
} else { |
$request->content_type('text/html'); |
$request->content_type('text/html'); |
} |
} |
&Apache::loncommon::no_cache($request); |
&Apache::loncommon::no_cache($request); |
$request->send_http_header; |
$request->send_http_header; |
|
|
return OK if $request->header_only; |
return OK if $request->header_only; |
|
|
|
|