Diff for /loncom/xml/scripttag.pm between versions 1.111 and 1.118

version 1.111, 2004/04/12 23:01:57 version 1.118, 2004/09/29 14:50:43
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # 2/21 Guy  
 # 8/20 Gerd Kortemeyer  
   
 package Apache::scripttag;  package Apache::scripttag;
   
Line 119  sub start_script { Line 117  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;
Line 137  sub start_script { Line 136  sub start_script {
  my $bodytext=&Apache::lonxml::get_all_text_unbalanced("/script",$parser);   my $bodytext=&Apache::lonxml::get_all_text_unbalanced("/script",$parser);
     }      }
   } else {    } else {
     if ($target ne "meta") {  
       $result = $token->[4];  
       my $bodytext=&Apache::lonxml::get_all_text_unbalanced("/script",$parser);        my $bodytext=&Apache::lonxml::get_all_text_unbalanced("/script",$parser);
       $result.=$bodytext;        if ($target ne "meta" && $target ne 'tex') {
     }    $result = $token->[4];
     $result.=$bodytext;
         }
   }    }
   return $result;    return $result;
 }  }
Line 152  sub end_script { Line 151  sub end_script {
   my $type = &Apache::lonxml::get_param('type',$parstack,$safeeval);    my $type = &Apache::lonxml::get_param('type',$parstack,$safeeval);
   my $result='';    my $result='';
   #other script blocks need to survive    #other script blocks need to survive
   if ($type ne "loncapa/perl") {    if ($type ne "loncapa/perl" && $target ne 'tex') {
     return $token->[2];      return $token->[2];
   } elsif ($target eq 'edit' ) {    } elsif ($target eq 'edit' ) {
     return &Apache::edit::end_table();      return &Apache::edit::end_table();
Line 179  sub start_display { Line 178  sub start_display {
       $result=&Apache::run::run($bodytext,$safeeval);        $result=&Apache::run::run($bodytext,$safeeval);
       if ($target eq 'grade' || $target eq 'answer' ||        if ($target eq 'grade' || $target eq 'answer' ||
   $target eq 'analyze') {    $target eq 'analyze') {
   $result=''; # grade should produce no output    # grade/answer/analyxe should produce no output but if we
     # are redirecting, the redirecter should know what to do
     # with the output
     if (!$Apache::lonxml::redirection) { $result=''; }
       }        }
       $Apache::lonxml::post_evaluate=0;        $Apache::lonxml::post_evaluate=0;
   } elsif ($target eq "edit" ) {    } elsif ($target eq "edit" ) {
Line 483  sub end_comment { Line 485  sub end_comment {
 sub xmlparse {  sub xmlparse {
   my ($string) = @_;    my ($string) = @_;
   &Apache::lonxml::debug("xmlparse recursion starting with $string");    &Apache::lonxml::debug("xmlparse recursion starting with $string");
     # Apache::run::evaluate does an 'eval' on the name of the subroutine
     # if it detects something that looks like a subroutine, this ends up calling
     # things without any arguments and since perl is nice enough to pass
     # along the default arguments when you don't explicitly say no arguments
     # if you call &xmlparse, it gets &xmlparse passed as it argument.
     # Same thing soccurs with &chemparse.
   if ($string eq '&xmlparse') { return '&xmlparse'; }    if ($string eq '&xmlparse') { return '&xmlparse'; }
     if ($string eq '&chemparse') { return '&chemparse'; }
   my ($target,$token,$tagstack,$parstack,$oldparser,$safeeval,$style)=    my ($target,$token,$tagstack,$parstack,$oldparser,$safeeval,$style)=
     @Apache::scripttag::parser_env;      @Apache::scripttag::parser_env;
   my @parser;    my @parser;

Removed from v.1.111  
changed lines
  Added in v.1.118


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