Diff for /loncom/xml/scripttag.pm between versions 1.144 and 1.151

version 1.144, 2007/10/11 00:24:46 version 1.151, 2008/12/11 21:28:59
Line 30  package Apache::scripttag; Line 30  package Apache::scripttag;
   
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::style;  use Apache::lonlocal;
   use Apache::style();
   
 #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 43  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 80  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 136  sub start_script { Line 113  sub start_script {
   
     $uname =~s/\W//g;      $uname =~s/\W//g;
     $udom  =~s/\W//g;      $udom  =~s/\W//g;
       my $function_name = 
    join('_','LONCAPA_scriptvars',$uname,$udom,
        $env{'form.counter'},$Apache::lonxml::curdepth);
     my $script_var ="<script type=\"text/javascript\">      my $script_var ="<script type=\"text/javascript\">
 // <![CDATA[  // <![CDATA[
     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('$start_page<pre>";      function $function_name() {newWindow=open('','new_W','width=500,height=500,scrollbars=1,resizable=yes');newWindow.$windowopen;newWindow.document.writeln('$start_page<pre>";
     my $listing=&Apache::run::dump($target,$safeeval);      my $listing=&Apache::run::dump($target,$safeeval);
     $listing=~s/\\/\\\\/g;      $listing=~s/\\/\\\\/g;
     $listing=~s/\'/\\\'/g;      $listing=~s/\'/\\\'/g;
     $script_var.=$listing;      $script_var.=$listing;
     $script_var.= "<\\/pre>$end_page');newWindow.document.close();newWindow.focus()}      $script_var.= "<\\/pre>$end_page');newWindow.document.close();newWindow.focus()}
 // ]]>  // ]]>
 </script><a href=\"javascript:LONCAPA_scriptvars_".$uname."_".$udom."_$Apache::lonxml::curdepth();void(0);\">Script Vars</a><br />";  </script><a href=\"javascript:$function_name();void(0);\">".&mt('Script Vars')."</a><br />";
     &Apache::lonxml::add_script_result($script_var);      &Apache::lonxml::add_script_result($script_var);
  }   }
     } elsif ($target eq "edit" ) {      } elsif ($target eq "edit" ) {
Line 242  sub start_scriptlib { Line 222  sub start_scriptlib {
     my $script=&Apache::lonnet::getfile($location);      my $script=&Apache::lonnet::getfile($location);
     if ($script == -1) {      if ($script == -1) {
       if ($target eq 'edit') {        if ($target eq 'edit') {
         $error='</tr><tr><td>Errors</td><td colspan="2"><b> Unable to find <i>'.$location.'</i></b></td>'."\n";          $error='</tr><tr><td>'.&mt('Errors').'</td><td colspan="2"><b>'.&mt(' Unable to find [_1]','<span class="LC_filename">'.$location.'</span>').'</b></td>'."\n";
       } else {        } else {
  &Apache::lonxml::error("<b> Unable to find <i>$location</i> for scriptlib</b>");   &Apache::lonxml::error("<b> Unable to find <i>$location</i> for scriptlib</b>");
  return "";   return "";
Line 329  sub start_window { Line 309  sub start_window {
  $result.=&Apache::edit::text_arg('Text of Link:','linktext',$token,70);   $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('Height:','height',$token,5);
  $result.=&Apache::edit::text_arg('Width:','width',$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();   $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $constructtag=&Apache::edit::get_new_args($token,$parstack,   my $constructtag=&Apache::edit::get_new_args($token,$parstack,
      $safeeval,'linktext',       $safeeval,'linktext',
      'width','height');       'width','height',
        'mimetype');
  if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }   if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); }
     }      }
     return $result;        return $result;  
Line 353  sub end_window { Line 335  sub end_window {
     if (!$width) { $width='500'; }      if (!$width) { $width='500'; }
     my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);      my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
     if (!$height) { $height='200'; }      if (!$height) { $height='200'; }
       my $mimetype= &Apache::lonxml::get_param('mimetype',$parstack,$safeeval)
             || 'text/html';
   
     my $start_page =      my ($start_page,$end_page);
  &Apache::loncommon::start_page($linktext, undef,      if ($mimetype eq 'text/html') {
        {'only_body' => 1,   $start_page =
  'bgcolor'   => '#FFFFFF',      &Apache::loncommon::start_page($linktext, undef,
  'js_ready'  => 1,});     {'only_body' => 1,
     my $end_page =      'bgcolor'   => '#FFFFFF',
  &Apache::loncommon::end_page({'js_ready' => 1,});      'js_ready'  => 1,});
    $end_page =
       &Apache::loncommon::end_page({'js_ready' => 1,});
       }
     $result = "<script type=\"text/javascript\">      $result = "<script type=\"text/javascript\">
 //<!--  //<!--
  function LONCAPA_newwindow_$Apache::lonxml::curdepth() {   function LONCAPA_newwindow_$Apache::lonxml::curdepth() {
   newWindow=open(".&Apache::lonhtmlcommon::javascript_nothing().",'new_W');
   newWindow.close();
 newWindow=open(".&Apache::lonhtmlcommon::javascript_nothing().",'new_W','width=$width,height=$height,scrollbars=1');  newWindow=open(".&Apache::lonhtmlcommon::javascript_nothing().",'new_W','width=$width,height=$height,scrollbars=1');
 newWindow.".&Apache::lonhtmlcommon::javascript_docopen().";  newWindow.".&Apache::lonhtmlcommon::javascript_docopen($mimetype).";
 newWindow.document.writeln('$start_page $output $end_page');  newWindow.document.writeln('$start_page $output $end_page');
 newWindow.document.close();}  newWindow.document.close();}
 //-->  //-->
Line 608  sub start_algebra { Line 597  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,$target,$style,$parstack,$safeeval);
  }   }
  $Apache::lonxml::post_evaluate=0;   $Apache::lonxml::post_evaluate=0;
     }      }
Line 623  sub end_algebra { Line 612  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
   

Removed from v.1.144  
changed lines
  Added in v.1.151


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