Diff for /loncom/xml/scripttag.pm between versions 1.117 and 1.123

version 1.117, 2004/09/28 20:40:05 version 1.123, 2005/02/24 01:21:50
Line 31  package Apache::scripttag; Line 31  package Apache::scripttag;
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::style;  use Apache::style;
   use AlgParser;
   
 #Globals  #Globals
 # this used to pass around the standard callsub arguments to a tag func  # this used to pass around the standard callsub arguments to a tag func
Line 41  BEGIN { Line 42  BEGIN {
   &Apache::lonxml::register('Apache::scripttag',    &Apache::lonxml::register('Apache::scripttag',
     ('script','scriptlib','parserlib','import',      ('script','scriptlib','parserlib','import',
      'window','display','storetc','physnet',       'window','display','storetc','physnet',
      'standalone','comment',       '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'));       'LONCAPA_INTERNAL_LONHTTPD_PORT'));
Line 117  sub start_script { Line 118  sub start_script {
     ($Apache::lonhomework::viewgrades == 'F')) {      ($Apache::lonhomework::viewgrades == 'F')) {
     $Apache::lonxml::evaluate--;      $Apache::lonxml::evaluate--;
     my (undef,undef,$udom,$uname)=&Apache::lonxml::whichuser();      my (undef,undef,$udom,$uname)=&Apache::lonxml::whichuser();
     $result.="<script type=\"text/javascript\"> function LONCAPA_scriptvars_".$uname."_".$udom."_"."$Apache::lonxml::curdepth() {newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.document.open('text/html','replace');newWindow.document.writeln('<html><head><title>Script Vars</title></head><body bgcolor=\"#FFFFFF\"><pre>";      my $windowopen=&Apache::lonhtmlcommon::javascript_docopen();
       $result.="<script type=\"text/javascript\">
   // <!--
       function LONCAPA_scriptvars_".$uname."_".$udom."_"."$Apache::lonxml::curdepth() {newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.$windowopen;newWindow.document.writeln('<html><head><title>Script Vars</title></head><body bgcolor=\"#FFFFFF\"><pre>";
     my $listing=&Apache::run::dump($target,$safeeval);      my $listing=&Apache::run::dump($target,$safeeval);
     $listing=~s/\'/\\\'/g;      $listing=~s/\'/\\\'/g;
     $listing=~s/\n/\\n/g;      $listing=~s/\n/\\n/g;
     $listing=~s/\r/\\r/g;      $listing=~s/\r/\\r/g;
     $result.=$listing;      $result.=$listing;
     $result.= "</pre></body></html>');newWindow.document.close();}</script><a href=\"javascript:LONCAPA_scriptvars_".$uname."_".$udom."_$Apache::lonxml::curdepth();void(0);\">Script Vars</a><br />";      $result.= "</pre></body></html>');newWindow.document.close();}
   // -->
   </script><a href=\"javascript:LONCAPA_scriptvars_".$uname."_".$udom."_$Apache::lonxml::curdepth();void(0);\">Script Vars</a><br />";
  }   }
     } elsif ($target eq "edit" ) {      } elsif ($target eq "edit" ) {
       #&Apache::run::run($bodytext,$safeeval);        #&Apache::run::run($bodytext,$safeeval);
Line 162  sub end_script { Line 168  sub end_script {
   
 sub start_display {  sub start_display {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     @Apache::scripttag::parser_env = @_;
   my $result;    my $result;
   
   if ( $target eq "modified" ) {    if ( $target eq "modified" ) {
Line 393  sub end_import { Line 399  sub end_import {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
   pop(@Apache::inputtags::import);    pop(@Apache::inputtags::import);
   my $result;    my $result;
   if ($target eq 'edit' ) { $result=&Apache::edit::end_table(); }    if ($target eq 'edit' ) { $result=&Apache::edit::end_row.
    &Apache::edit::end_table(); }
   return $result;    return $result;
 }  }
   
Line 499  sub xmlparse { Line 506  sub xmlparse {
   my $result=&Apache::lonxml::inner_xmlparse($target,$tagstack,    my $result=&Apache::lonxml::inner_xmlparse($target,$tagstack,
      $parstack,\@parser,       $parstack,\@parser,
      $safeeval,$style);       $safeeval,$style);
   &Apache::lonxml::debug("xmlparse recursion ending with $result");    &Apache::lonxml::debug("target is $target xmlparse recursion ending with $result");
   return $result;    return $result;
 }  }
   
   sub start_num {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       my $inside = &Apache::lonxml::get_all_text_unbalanced("/num",$parser);
       if ($target eq 'tex' || $target eq 'web') {
    $inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]);
    if (!$Apache::lonxml::default_homework_loaded) {
       &Apache::lonxml::default_homework_load($safeeval);
    }
    @Apache::scripttag::parser_env = @_;
    my $format=&Apache::lonxml::get_param('format',$parstack,$safeeval);
    $result=&Apache::run::run("return &prettyprint(q\0$inside\0,q\0$format\0);",$safeeval);
       }    
       return $result;
   }
   
   sub end_num {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       return $result;
   }
   
   sub start_parse {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       if ( $target eq 'web' || $target eq 'tex' ||
    $target eq 'grade' || $target eq 'answer' ||
    $target eq 'analyze') {
    my $inside = &Apache::lonxml::get_all_text_unbalanced("/parse",$parser);
    $inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]);
    if (!$Apache::lonxml::default_homework_loaded) {
       &Apache::lonxml::default_homework_load($safeeval);
    }
    @Apache::scripttag::parser_env = @_;
    $result=&Apache::run::run("return &xmlparse(q\0$inside\0);",$safeeval);
       }
       return $result;
   }
   
   sub end_parse {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       return $result;
   }
   
   sub start_algebra {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       if ( $target eq 'web' || $target eq 'tex' ||
    $target eq 'grade' || $target eq 'answer' ||
    $target eq 'analyze') {
    my $inside = &Apache::lonxml::get_all_text_unbalanced("/algebra",$parser);
    $inside = &Apache::run::evaluate($inside,$safeeval,$$parstack[-1]);
    if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') {
       $result=&Apache::lontexconvert::algebra($inside,$target);
    }
    $Apache::lonxml::post_evaluate=0;
       }
       return $result;
   }
   
   sub end_algebra {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       return $result;
   }
   
 1;  1;
 __END__  __END__

Removed from v.1.117  
changed lines
  Added in v.1.123


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>