Diff for /loncom/xml/lonxml.pm between versions 1.284 and 1.295

version 1.284, 2003/10/04 20:49:40 version 1.295, 2003/11/21 20:21:20
Line 96  use Apache::style(); Line 96  use Apache::style();
 use Apache::run();  use Apache::run();
 use Apache::londefdef();  use Apache::londefdef();
 use Apache::scripttag();  use Apache::scripttag();
   use Apache::languagetags();
 use Apache::edit();  use Apache::edit();
 use Apache::inputtags();  use Apache::inputtags();
 use Apache::outputtags();  use Apache::outputtags();
Line 166  $Apache::lonxml::style_end_values=''; Line 167  $Apache::lonxml::style_end_values='';
 #should we do the postag variable interpolation  #should we do the postag variable interpolation
 $Apache::lonxml::post_evaluate=1;  $Apache::lonxml::post_evaluate=1;
   
   #a header message to emit in the case of any generated warning or errors
   $Apache::lonxml::warnings_error_header='';
   
 sub xmlbegin {  sub xmlbegin {
   my $output='';    my $output='';
   if ($ENV{'browser.mathml'}) {    if ($ENV{'browser.mathml'}) {
Line 319  sub xmlparse { Line 323  sub xmlparse {
  &Apache::inputtags::initialize_inputtags();   &Apache::inputtags::initialize_inputtags();
  &Apache::outputtags::initialize_outputtags();   &Apache::outputtags::initialize_outputtags();
  &Apache::edit::initialize_edit();   &Apache::edit::initialize_edit();
    &Apache::londefdef::initialize_londefdef();
   
 #  #
 # do we have a course style file?  # do we have a course style file?
Line 335  sub xmlparse { Line 340  sub xmlparse {
                           &Apache::style::styleparser($target,$styletext));                            &Apache::style::styleparser($target,$styletext));
        }         }
     }      }
    } elsif ($ENV{'construct.style'} && ($ENV{'request.state'} eq 'construct')) {
        my $location=&Apache::lonnet::filelocation('',$ENV{'construct.style'});
        my $styletext=&Apache::lonnet::getfile($location);
          if ($styletext ne '-1') {
             %style_for_target = (%style_for_target,
                             &Apache::style::styleparser($target,$styletext));
         }
  }   }
 #&printalltags();  #&printalltags();
  my @pars = ();   my @pars = ();
Line 393  sub latex_special_symbols { Line 405  sub latex_special_symbols {
  $string =~ s/_/ /g;   $string =~ s/_/ /g;
     } else {      } else {
  $string=~s/\\ /\\char92 /g;   $string=~s/\\ /\\char92 /g;
  $string=~s/\^/\\char94 /g;   $string=~s/\^/\\\^ /g;
  $string=~s/\~/\\char126 /g;   $string=~s/\~/\\char126 /g;
  $string=~s/(&[^A-Za-z\#])/\\$1/g;   #fixup & if it doesn't look like
           # { or α
    $string=~s/(&(?!((\#[0-9]+)|([a-z]+));))/\\$1/gi;
  $string=~s/([^&])\#/$1\\#/g;   $string=~s/([^&])\#/$1\\#/g;
  $string=~s/(\$|_|{|})/\\$1/g;   $string=~s/(\$|_|{|})/\\$1/g;
  $string=~s/\\char92 /\\texttt{\\char92}/g;   $string=~s/\\char92 /\\texttt{\\char92}/g;
Line 614  sub setup_globals { Line 628  sub setup_globals {
   @Apache::lonxml::extlinks=();    @Apache::lonxml::extlinks=();
   @Apache::lonxml::ssi_info=();    @Apache::lonxml::ssi_info=();
   $Apache::lonxml::post_evaluate=1;    $Apache::lonxml::post_evaluate=1;
     $Apache::lonxml::warnings_error_header='';
   if ($target eq 'meta') {    if ($target eq 'meta') {
     $Apache::lonxml::redirection = 0;      $Apache::lonxml::redirection = 0;
     $Apache::lonxml::metamode = 1;      $Apache::lonxml::metamode = 1;
Line 657  sub init_safespace { Line 672  sub init_safespace {
   $safeeval->permit("entereval");    $safeeval->permit("entereval");
   $safeeval->permit(":base_math");    $safeeval->permit(":base_math");
   $safeeval->permit("sort");    $safeeval->permit("sort");
     $safeeval->permit("time");
   $safeeval->deny(":base_io");    $safeeval->deny(":base_io");
   $safehole->wrap(\&Apache::scripttag::xmlparse,$safeeval,'&xmlparse');    $safehole->wrap(\&Apache::scripttag::xmlparse,$safeeval,'&xmlparse');
   $safehole->wrap(\&Apache::outputtags::multipart,$safeeval,'&multipart');    $safehole->wrap(\&Apache::outputtags::multipart,$safeeval,'&multipart');
Line 982  sub parstring { Line 998  sub parstring {
       my $val=$token->[2]->{$_};        my $val=$token->[2]->{$_};
       $val =~ s/([\%\@\\\"\'])/\\$1/g;        $val =~ s/([\%\@\\\"\'])/\\$1/g;
       #if ($val =~ m/^[\%\@]/) { $val="\\".$val; }        #if ($val =~ m/^[\%\@]/) { $val="\\".$val; }
         if ($val !~ m/^\s*\$[a-z_]/i) { $val =~ s/\$/\\\$/g; }
       $temp .= "my \$$_=\"$val\";";        $temp .= "my \$$_=\"$val\";";
     }      }
   }    }
Line 1057  ENDSCRIPT Line 1074  ENDSCRIPT
   
 sub storefile {  sub storefile {
     my ($file,$contents)=@_;      my ($file,$contents)=@_;
       &Apache::lonnet::correct_line_ends(\$contents);
     if (my $fh=Apache::File->new('>'.$file)) {      if (my $fh=Apache::File->new('>'.$file)) {
  print $fh $contents;   print $fh $contents;
         $fh->close();          $fh->close();
Line 1287  sub error { Line 1305  sub error {
   $errorcount++;    $errorcount++;
   if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {    if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) {
     # If printing in construction space, put the error inside <pre></pre>      # If printing in construction space, put the error inside <pre></pre>
     print "<b>ERROR:</b>".join("\n",@_)."\n";        print $Apache::lonxml::warnings_error_header.
     "<b>ERROR:</b>".join("\n",@_)."\n";
         $Apache::lonxml::warnings_error_header='';
   } else {    } else {
     print "<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />";      print "<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />";
     #notify author      #notify author
Line 1310  sub error { Line 1330  sub error {
 }  }
   
 sub warning {  sub warning {
   $warningcount++;      $warningcount++;
       
   if ($ENV{'form.grade_target'} ne 'tex') {      if ($ENV{'form.grade_target'} ne 'tex') {
       if ($ENV{'request.state'} eq 'construct' || $Apache::lonxml::debug) {   if ($ENV{'request.state'} eq 'construct' || $Apache::lonxml::debug) {
         print "<b>W</b>ARNING<b>:</b>".join('<br />',@_)."<br />\n";      print $Apache::lonxml::warnings_error_header.
       }   "<b>W</b>ARNING<b>:</b>".join('<br />',@_)."<br />\n";
   }      $Apache::lonxml::warnings_error_header='';
    }
       }
 }  }
   
 sub get_param {  sub get_param {

Removed from v.1.284  
changed lines
  Added in v.1.295


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