version 1.147, 2007/11/17 01:51:11
|
version 1.153, 2010/05/23 12:29:25
|
Line 44 BEGIN {
|
Line 44 BEGIN {
|
'window','display','storetc','physnet', |
'window','display','storetc','physnet', |
'standalone','comment','num','parse','algebra', |
'standalone','comment','num','parse','algebra', |
'LONCAPA_INTERNAL_TURN_STYLE_ON', |
'LONCAPA_INTERNAL_TURN_STYLE_ON', |
'LONCAPA_INTERNAL_TURN_STYLE_OFF', |
'LONCAPA_INTERNAL_TURN_STYLE_OFF')); |
'LONCAPA_INTERNAL_LONHTTPD_PORT')); |
|
} |
} |
|
|
sub start_LONCAPA_INTERNAL_TURN_STYLE_ON { |
sub start_LONCAPA_INTERNAL_TURN_STYLE_ON { |
Line 81 sub end_LONCAPA_INTERNAL_TURN_STYLE_OFF
|
Line 80 sub end_LONCAPA_INTERNAL_TURN_STYLE_OFF
|
return ('','no'); |
return ('','no'); |
} |
} |
|
|
=pod |
|
|
|
=item start_LONCAPA_INTERNAL_LONHTTPD_PORT |
|
|
|
emits a pice of javascript that says a global js variable to the |
|
current lonhttp port, currently used by the remote control to find out |
|
where to load images from |
|
|
|
=cut |
|
|
|
sub start_LONCAPA_INTERNAL_LONHTTPD_PORT { |
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
if ($target eq 'web' || $target eq 'webgrade') { |
|
return '<script type="text/javascript">var lonhttpdport=\''. |
|
&Apache::loncommon::lonhttpd_port().'\';</script>'; |
|
} |
|
return ('','no'); |
|
} |
|
|
|
sub end_LONCAPA_INTERNAL_LONHTTPD_PORT { |
|
return ('','no'); |
|
} |
|
|
|
sub start_script { |
sub start_script { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
@Apache::scripttag::parser_env = @_; |
@Apache::scripttag::parser_env = @_; |
Line 396 sub start_import {
|
Line 372 sub start_import {
|
my $bodytext=$$parser[$#$parser]->get_text("/import"); |
my $bodytext=$$parser[$#$parser]->get_text("/import"); |
my $result =""; |
my $result =""; |
|
|
$bodytext=Apache::run::evaluate($bodytext,$safeeval,$$parstack[$#$parstack]); |
$bodytext=&Apache::run::evaluate($bodytext,$safeeval,$$parstack[$#$parstack]); |
|
|
if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade' |
if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade' |
|| $target eq 'answer' || $target eq 'tex' || $target eq 'analyze' ) { |
|| $target eq 'answer' || $target eq 'tex' || $target eq 'analyze' ) { |
Line 408 sub start_import {
|
Line 384 sub start_import {
|
&Apache::lonxml::error("<b> Unable to find <i>$bodytext as $location</i> for import</b>"); |
&Apache::lonxml::error("<b> Unable to find <i>$bodytext as $location</i> for import</b>"); |
return ""; |
return ""; |
} |
} |
|
my $importmode=&Apache::lonxml::get_param('importmode',$parstack,$safeeval); |
|
if ($importmode eq 'problem') { |
|
$file=~s/^\s*<problem>/<library>/s; |
|
$file=~s/<\/problem>\s*$/<\/library>/s; |
|
} |
my $dir=$location; |
my $dir=$location; |
$dir=~s:/[^/]*$::; |
$dir=~s:/[^/]*$::; |
# &Apache::lonxml::debug("directory $dir $location file $file \n<b>END</b>\n"); |
# &Apache::lonxml::debug("directory $dir $location file $file \n<b>END</b>\n"); |
Line 421 sub start_import {
|
Line 401 sub start_import {
|
|
|
} elsif ($target eq "edit" ) { |
} elsif ($target eq "edit" ) { |
$result.=&Apache::edit::tag_start($target,$token); |
$result.=&Apache::edit::tag_start($target,$token); |
$result.=&Apache::edit::editline($token->[1],$bodytext,'',40); |
my $location=$token->[1]; |
|
$location=~s/^\s*//s; |
|
$location=~s/\s*$//s; |
|
$result.=&Apache::edit::editline($location,$bodytext,'',40); |
$result.=&Apache::edit::browse(undef,'textnode'); |
$result.=&Apache::edit::browse(undef,'textnode'); |
|
$result.= '<label>'.&mt('Import as:'). |
|
'<select name="importmode_'.$Apache::lonxml::curdepth.'">'; |
|
foreach my $option ('','problem') { |
|
$result.='<option value="'.$option.'"'; |
|
if ($option eq &Apache::lonxml::get_param('importmode',$parstack,$safeeval)) { |
|
$result.=' selected="selected"'; |
|
} |
|
$result.='>'.($option?&mt('as problem'):&mt('as standard library')).'</option>'; |
|
} |
|
$result.='</select></label>'; |
#FIXME this need to convert $bodytext to be a contruction space reference |
#FIXME this need to convert $bodytext to be a contruction space reference |
#my $location=&Apache::lonnet::filelocation($Apache::lonxml::pwd['-1'],$bodytext); |
#my $location=&Apache::lonnet::filelocation($Apache::lonxml::pwd['-1'],$bodytext); |
#$result.="Click<a href=\"$location\">here</a> to edit<br />" |
#$result.="Click<a href=\"$location\">here</a> to edit<br />" |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
$result=$token->[4].&Apache::edit::modifiedfield("/import",$parser); |
&Apache::edit::get_new_args($token,$parstack,$safeeval,'importmode'); |
|
$result='<import id="'.$token->[2]{'id'}.'" importmode="'.$token->[2]{'importmode'}.'">'; |
|
$result.=&Apache::edit::modifiedfield("/import",$parser); |
} elsif ($target eq 'meta') { |
} elsif ($target eq 'meta') { |
my $id= &Apache::lonxml::get_id($parstack,$safeeval); |
my $id= &Apache::lonxml::get_id($parstack,$safeeval); |
$result.='<import part="'.$Apache::inputtags::part; |
$result.='<import part="'.$Apache::inputtags::part; |
Line 621 sub start_algebra {
|
Line 616 sub start_algebra {
|
$inside = &Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); |
$inside = &Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); |
if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { |
if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { |
my $style=&Apache::lonxml::get_param('style',$parstack,$safeeval); |
my $style=&Apache::lonxml::get_param('style',$parstack,$safeeval); |
$result=&Apache::lontexconvert::algebra($inside,$target,$style); |
$result=&Apache::lontexconvert::algebra($inside,undef,$target,$style,$parstack,$safeeval); |
} |
} |
$Apache::lonxml::post_evaluate=0; |
$Apache::lonxml::post_evaluate=0; |
} |
} |
Line 636 sub end_algebra {
|
Line 631 sub end_algebra {
|
|
|
1; |
1; |
__END__ |
__END__ |
|
|
|
=pod |
|
|
|
=head1 NAME |
|
|
|
Apache::scripttag.pm |
|
|
|
=head1 SYNOPSIS |
|
|
|
implements <script>, <scriptlib>, <parserlib>, |
|
and <import> |
|
|
|
This is part of the LearningOnline Network with CAPA project |
|
described at http://www.lon-capa.org. |
|
|
|
=cut |
|
|