--- loncom/xml/scripttag.pm 2006/03/24 21:45:51 1.136
+++ loncom/xml/scripttag.pm 2011/12/09 22:04:55 1.158
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# ';
- }
- return ('','no');
-}
-
-sub end_LONCAPA_INTERNAL_LONHTTPD_PORT {
- return ('','no');
-}
-
sub start_script {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
@Apache::scripttag::parser_env = @_;
@@ -116,7 +101,7 @@ sub start_script {
($env{'form.answer_output_mode'} ne 'tex') &&
($Apache::lonhomework::viewgrades == 'F')) {
$Apache::lonxml::evaluate--;
- my (undef,undef,$udom,$uname)=&Apache::lonxml::whichuser();
+ my (undef,undef,$udom,$uname)=&Apache::lonnet::whichuser();
my $windowopen=&Apache::lonhtmlcommon::javascript_docopen();
my $start_page =
&Apache::loncommon::start_page('Script Vars', undef,
@@ -126,16 +111,21 @@ sub start_script {
my $end_page =
&Apache::loncommon::end_page({'js_ready' => 1,});
- $result.="Script Vars
";
+ $uname =~s/\W//g;
+ $udom =~s/\W//g;
+ my $function_name =
+ join('_','LONCAPA_scriptvars',$uname,$udom,
+ $env{'form.counter'},$Apache::lonxml::curdepth);
+ my $scriptblocklog=$start_page.
+ &Apache::loncommon::start_scrollbox('500px','480px','480px').
+ '
'.&Apache::run::dump($target,$safeeval).'
'.
+ &Apache::loncommon::end_scrollbox().
+ $end_page;
+ $scriptblocklog=~s/\'/\\'/gs;
+ &Apache::lonxml::add_script_result(
+ &Apache::loncommon::modal_adhoc_script($function_name,500,500,$scriptblocklog).
+ "".&mt('Script Vars')."
"
+ );
}
} elsif ($target eq "edit" ) {
#&Apache::run::run($bodytext,$safeeval);
@@ -148,7 +138,7 @@ sub start_script {
}
} else {
my $bodytext=&Apache::lonxml::get_all_text_unbalanced("/script",$parser);
- if ($target ne "meta" && $target ne 'tex') {
+ if ($target ne "meta" && $target ne 'tex' && $target ne 'answer') {
$result = $token->[4];
$result.=$bodytext;
}
@@ -222,7 +212,7 @@ sub start_scriptlib {
if ($target eq 'web' || $target eq 'tex' || $target eq 'grade' ||
$target eq 'meta' || $target eq 'edit' || $target eq 'answer' ||
- $target eq 'analyze') {
+ $target eq 'analyze' || $target eq 'webgrade') {
$bodytext=$$parser[$#$parser]->get_text("/scriptlib");
$bodytext=&Apache::run::evaluate($bodytext,$safeeval,
$$parstack[$#$parstack]);
@@ -231,7 +221,7 @@ sub start_scriptlib {
my $script=&Apache::lonnet::getfile($location);
if ($script == -1) {
if ($target eq 'edit') {
- $error='Errors | Unable to find '.$location.' | '."\n";
+ $error='
'.&mt('Errors').' | '.&mt(' Unable to find [_1]',''.$location.'').' | '."\n";
} else {
&Apache::lonxml::error(" Unable to find $location for scriptlib");
return "";
@@ -268,7 +258,7 @@ sub start_parserlib {
my $error='';
if ($target eq 'web' || $target eq 'tex' || $target eq 'grade' ||
$target eq 'meta' || $target eq 'edit' || $target eq 'answer' ||
- $target eq 'analyze') {
+ $target eq 'analyze' || $target eq 'webgrade') {
$bodytext=$$parser[$#$parser]->get_text("/parserlib");
$bodytext=&Apache::run::evaluate($bodytext,$safeeval,
$$parstack[$#$parstack]);
@@ -309,7 +299,7 @@ sub end_parserlib {
sub start_window {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result = '';
- if ($target eq 'web') {
+ if ($target eq 'web' || $target eq 'webgrade') {
&Apache::lonxml::startredirection;
} elsif ($target eq 'tex') {
$result = '\unskip\footnote{';
@@ -318,11 +308,13 @@ sub start_window {
$result.=&Apache::edit::text_arg('Text of Link:','linktext',$token,70);
$result.=&Apache::edit::text_arg('Height:','height',$token,5);
$result.=&Apache::edit::text_arg('Width:','width',$token,5);
+ $result.=&Apache::edit::text_arg('Mime Type:','mimetype',$token,5);
$result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
} elsif ($target eq 'modified') {
my $constructtag=&Apache::edit::get_new_args($token,$parstack,
$safeeval,'linktext',
- 'width','height');
+ 'width','height',
+ 'mimetype');
if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
}
return $result;
@@ -331,7 +323,7 @@ sub start_window {
sub end_window {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
my $result;
- if ($target eq 'web') {
+ if ($target eq 'web' || $target eq 'webgrade') {
my $output=&Apache::lonxml::endredirection;
$output =~ s/[\n\r]/ /g;
# $output = &HTML::Entities::encode($output,'<>&"\'');
@@ -342,19 +334,26 @@ sub end_window {
if (!$width) { $width='500'; }
my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
if (!$height) { $height='200'; }
+ my $mimetype= &Apache::lonxml::get_param('mimetype',$parstack,$safeeval)
+ || 'text/html';
- my $start_page =
- &Apache::loncommon::start_page($linktext, undef,
- {'only_body' => 1,
- 'bgcolor' => '#FFFFFF',
- 'js_ready' => 1,});
- my $end_page =
- &Apache::loncommon::end_page({'js_ready' => 1,});
+ my ($start_page,$end_page);
+ if ($mimetype eq 'text/html') {
+ $start_page =
+ &Apache::loncommon::start_page($linktext, undef,
+ {'only_body' => 1,
+ 'bgcolor' => '#FFFFFF',
+ 'js_ready' => 1,});
+ $end_page =
+ &Apache::loncommon::end_page({'js_ready' => 1,});
+ }
$result = "