--- loncom/xml/lonxml.pm 2004/07/12 16:25:51 1.328
+++ loncom/xml/lonxml.pm 2004/10/18 19:50:43 1.332.2.2
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# XML Parser Module
#
-# $Id: lonxml.pm,v 1.328 2004/07/12 16:25:51 albertel Exp $
+# $Id: lonxml.pm,v 1.332.2.2 2004/10/18 19:50:43 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -389,9 +389,10 @@ sub latex_special_symbols {
} else {
$string=~s/\\/\\ensuremath{\\backslash}/g;
$string=~s/([^\\]|^)\%/$1\\\%/g;
- $string=~s/\b_{2,}\b/ \\makebox\[1 cm\]\[b\]{\\hrulefill}/g;
- $string=~s/([^\\]|^)(\$|_)/$1\\$2/g;
+ $string=~s/([^\\]|^)\$/$1\\\$/g;
+ $string=~s/([^\\])\_/$1\\_/g;
$string=~s/\$\$/\$\\\$/g;
+ $string=~s/\_\_/\_\\\_/g;
$string=~s/\#\#/\#\\\#/g;
$string=~s/([^\\]|^)(\~|\^)/$1\\$2\\strut /g;
$string=~s/(>|<)/\\ensuremath\{$1\}/g; #more or less
@@ -399,6 +400,7 @@ sub latex_special_symbols {
# any & or # leftover should be safe to just escape
$string=~s/([^\\]|^)\&/$1\\\&/g;
$string=~s/([^\\]|^)\#/$1\\\#/g;
+ $string=~s/\|/\$\\mid\$/g;
#single { or } How to escape?
}
return $string;
@@ -745,6 +747,7 @@ sub init_safespace {
#need to inspect this class of ops
# $safeeval->deny(":base_orig");
+ $safeeval->permit("require");
$safeinit .= ';$external::target="'.$target.'";';
my $rndseed;
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();
@@ -753,27 +756,6 @@ sub init_safespace {
&Apache::lonxml::debug("Setting rndseed to $rndseed");
&Apache::run::run($safeinit,$safeeval);
- my $subroutine=<<'EVALUATESUB';
-sub __LC_INTERNAL_EVALUATE__ {
- my ($__LC__a,$__LC__b,$__LC__c)=@_;
- my $__LC__prefix;
- while(1){
- {
- use strict;
- no strict "vars";
- if (eval(defined(eval($__LC__a.$__LC__b)))) {
- return $__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c);
- }
- }
- $__LC__prefix.=substr($__LC__a,0,1,"");
- if ($__LC__a!~/^(\$|&|\#)/) { last; }
- }
- return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c;
-}
-EVALUATESUB
- $safeeval->permit("require");
- $safeeval->reval($subroutine);
- $safeeval->deny("require");
}
sub default_homework_load {
@@ -1175,6 +1157,7 @@ $cleanbut
BUTTONS
+ $buttons.=&Apache::lonhtmlcommon::htmlareaselectactive('filecont');
my $editfooter=(<
@@ -1546,6 +1529,12 @@ sub whichuser {
if (defined($ENV{'form.grade_symb'})) {
my $tmp_courseid=$ENV{'form.grade_courseid'};
my $allowed=&Apache::lonnet::allowed('vgr',$tmp_courseid);
+ if (!$allowed &&
+ exists($ENV{'request.course.sec'}) &&
+ $ENV{'request.course.sec'} !~ /^\s*$/) {
+ $allowed=&Apache::lonnet::allowed('vgr',$ENV{'form.grade_courseid'}.
+ '/'.$ENV{'request.course.sec'});
+ }
if ($allowed) {
$symb=$ENV{'form.grade_symb'};
$courseid=$ENV{'form.grade_courseid'};