version 1.1, 2000/07/06 21:07:26
|
version 1.4, 2000/08/02 16:47:53
|
Line 5
|
Line 5
|
package Apache::scripttag; |
package Apache::scripttag; |
|
|
use strict; |
use strict; |
|
use Apache::lonnet; |
|
|
sub BEGIN { |
sub BEGIN { |
&Apache::lonxml::register('Apache::scripttag',('script')); |
&Apache::lonxml::register('Apache::scripttag',('script','scriptlib','parserlib')); |
} |
} |
|
|
sub start_script { |
sub start_script { |
my ($target,$token,@parstack)=@_; |
my ($target,$token,$parstack,$parser,$safeeval)=@_; |
|
|
#static mapping of params into variables |
my $result=""; |
# map {$partstring =~ s/\$$_/$token->[2]->{$_}/g; } @{$token->[3]}; |
my $bodytext=$parser->get_text("/script"); |
# print "want to use run\n"; |
if ($target ne "edit" ) { |
my $decl=''; |
$result = &Apache::run::run($bodytext,$safeeval); |
map {$decl .="my \$".$_.'='.$token->[2]->{$_}} @{$token->[3]}; |
} else { |
print "declares $decl\n"; |
$result="<textarea>$bodytext</textarea>\n"; |
print "2:\n$token->[2]\n"; |
} |
print "3:\n$token->[3]\n"; |
return $result; |
# &Apache::run::run($partstring,$safeeval); |
|
|
|
# $partstring = ''; |
|
} |
} |
|
|
sub end_script { |
sub end_script {} |
|
|
|
sub start_scriptlib { |
|
my ($target,$token,$parstack,$parser,$safeeval)=@_; |
|
my $bodytext=$parser->get_text("/scriptlib"); |
|
my $result =""; |
|
if ($target ne "edit" ) { |
|
&Apache::run::run(&getfile($bodytext),$safeeval); |
|
#print "ran $bodytext:<br>".&getfile($bodytext)."<br>"; |
|
} else { |
|
$result="<textarea>$bodytext</textarea>\n"; |
|
} |
|
return $result; |
|
} |
|
|
|
sub end_scriptlib {} |
|
|
|
sub start_parserlib { |
|
my ($target,$token,$parstack,$parser,$safeeval,$style)=@_; |
|
my $bodytext="/home/httpd/html/".$parser->get_text("/parserlib"); |
|
%$style = ( %$style , &Apache::style::styleparser($target, &getfile($bodytext))); |
} |
} |
|
|
|
sub end_parserlib { |
|
} |
|
|
|
sub getfile { |
|
my ($filename) = @_; |
|
my $a=""; |
|
&Apache::lonnet::repcopy($filename); |
|
{ |
|
my $fh=Apache::File->new($filename); |
|
while (<$fh>) { |
|
$a .=$_; |
|
} |
|
} |
|
return $a |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |