--- loncom/xml/lonxml.pm 2003/02/14 19:35:55 1.234 +++ loncom/xml/lonxml.pm 2003/03/30 21:58:17 1.243 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.234 2003/02/14 19:35:55 www Exp $ +# $Id: lonxml.pm,v 1.243 2003/03/30 21:58:17 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -145,7 +145,7 @@ $Apache::lonxml::registered=0; $Apache::lonxml::request=''; # a problem number counter, and check on ether it is used -$Apache::lonxml::counter=4; +$Apache::lonxml::counter=1; $Apache::lonxml::counter_changed=0; #internal check on whether to look at style defs @@ -196,6 +196,13 @@ sub xmlend { my $message=$contrib{$idx.':message'}; $message=~s/\n/\
/g; $message=&Apache::lontexconvert::msgtexconverted($message); + if ($contrib{$idx.':attachmenturl'}) { + my ($fname,$ft) + =($contrib{$idx.':attachmenturl'}=~/\/(\w+)\.(\w+)$/); + $message.='

Attachment: '.$fname.'.'.$ft.''; + } if ($message) { if ($hidden) { $message=''.$message.''; @@ -248,7 +255,7 @@ sub xmlend { } if ($discussiononly) { $discussion.=(< +

@@ -257,6 +264,9 @@ sub xmlend { Note: in anonymous discussion, your name is visible only to course faculty
+

+Attachment (128 KB max size): +

ENDDISCUSS $discussion.=&Apache::lonfeedback::generate_preview_button(); @@ -457,22 +467,20 @@ sub htmlclean { sub latex_special_symbols { my ($current_token,$stack,$parstack,$where)=@_; - if ($where=='header') { - $current_token =~ s/_/ /g; - $current_token =~ s/\^/ /g; - $current_token =~ s/&/\\&/g; + if ($where eq 'header') { + $current_token =~ s/(\\|_|\^)/ /g; + $current_token =~ s/(\$|%|\#|&|\{|\})/\\$1/g; } else { - $current_token=~s/\\ /\\char92 /g; - $current_token=~s/\^/\\char94 /g; - $current_token=~s/\~/\\char126 /g; - $current_token=~s/(&[^a-z\#])/\\$1/g; - $current_token=~s/([^&])\#/$1\\#/g; - $current_token=~s/(\$|_|{|})/\\$1/g; - $current_token=~s/\\char92 /\\texttt{\\char92}/g; - $current_token=~s/>/\$>\$/g; #more - $current_token=~s/|<)/\$$1\$/g; #more or less + if ($current_token=~m/\d%/) {$current_token =~ s/(\d)%/$1\\%/g;} #percent after digit + if ($current_token=~m/\s%/) {$current_token =~ s/(\s)%/$1\\%/g;} #persent after space } return $current_token; } @@ -488,7 +496,8 @@ sub inner_xmlparse { if ($metamode<1) { my $text=$token->[1]; if ($token->[0] eq 'C' && $target eq 'tex') { - $text = '%'.$text."\n"; + $text = ''; +# $text = '%'.$text."\n"; } $result.=$text; } @@ -592,6 +601,8 @@ sub callsub { my $sub1; no strict 'refs'; my $tag=$token->[1]; +# get utterly rid of extended html tags + if ($tag=~/^x\-/i) { return ''; } my $space=$Apache::lonxml::alltags{$tag}[-1]; if (!$space) { $tag=~tr/A-Z/a-z/; @@ -794,7 +805,7 @@ sub default_homework_load { my ($safeeval)=@_; &Apache::lonxml::debug('Loading default_homework'); my $default=&Apache::lonnet::getfile('/home/httpd/html/res/adm/includes/default_homework.lcpm'); - if ($default == -1) { + if ($default eq -1) { &Apache::lonxml::error("Unable to find default_homework.lcpm"); } else { &Apache::run::run($default,$safeeval); @@ -893,7 +904,7 @@ sub increment_counter { sub init_counter { if (defined($ENV{'form.counter'})) { $Apache::lonxml::counter=$ENV{'form.counter'}; - } elsif (not defined($Apache::lonxml::counter)) { + } else { $Apache::lonxml::counter=1; &store_counter(); } @@ -1099,6 +1110,13 @@ sub inserteditinfo { my ($result,$filecontents)=@_; $filecontents = &HTML::Entities::encode($filecontents); # my $editheader='Edit below
'; + my $xml_help = '
'. + &Apache::loncommon::help_open_topic("Greek_Symbols",'Greek Symbols', + undef,undef,600) + .''. + &Apache::loncommon::help_open_topic("Other_Symbols",'Other Symbols', + undef,undef,600) + .'
'; my $buttons=(< @@ -1109,6 +1127,7 @@ BUTTONS
+$xml_help $buttons
@@ -1178,7 +1197,7 @@ sub handler { my %mystyle; my $result = ''; my $filecontents=&Apache::lonnet::getfile($file); - if ($filecontents == -1) { + if ($filecontents eq -1) { $result=(<