version 1.191, 2002/09/04 04:55:13
|
version 1.194, 2002/09/10 20:53:36
|
Line 154 sub xmlbegin {
|
Line 154 sub xmlbegin {
|
} |
} |
|
|
sub xmlend { |
sub xmlend { |
|
my ($discussiononly,$symb)=@_; |
my $discussion=''; |
my $discussion=''; |
if ($ENV{'request.course.id'}) { |
if ($ENV{'request.course.id'}) { |
my $crs='/'.$ENV{'request.course.id'}; |
my $crs='/'.$ENV{'request.course.id'}; |
Line 162 sub xmlend {
|
Line 163 sub xmlend {
|
} |
} |
$crs=~s/\_/\//g; |
$crs=~s/\_/\//g; |
my $seeid=&Apache::lonnet::allowed('rin',$crs); |
my $seeid=&Apache::lonnet::allowed('rin',$crs); |
my $symb=&Apache::lonnet::symbread(); |
unless ($symb) { |
|
$symb=&Apache::lonnet::symbread(); |
|
} |
if ($symb) { |
if ($symb) { |
my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'}, |
my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}); |
if ($contrib{'version'}) { |
if ($contrib{'version'}) { |
$discussion.= |
unless ($discussiononly) { |
'<address><hr /><h2>Course Discussion of Resource</h2>'; |
$discussion.= |
|
'<address><hr />'; |
|
} |
my $idx; |
my $idx; |
for ($idx=1;$idx<=$contrib{'version'};$idx++) { |
for ($idx=1;$idx<=$contrib{'version'};$idx++) { |
my $hidden=($contrib{'hidden'}=~/\.$idx\./); |
my $hidden=($contrib{'hidden'}=~/\.$idx\./); |
Line 183 sub xmlend {
|
Line 188 sub xmlend {
|
} |
} |
my $sender='Anonymous'; |
my $sender='Anonymous'; |
if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { |
if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { |
$sender=$contrib{$idx.':plainname'}.' ('. |
$sender=&Apache::loncommon::aboutmewrapper( |
|
$contrib{$idx.':plainname'}, |
|
$contrib{$idx.':sendername'}, |
|
$contrib{$idx.':senderdomain'}).' ('. |
$contrib{$idx.':sendername'}.' at '. |
$contrib{$idx.':sendername'}.' at '. |
$contrib{$idx.':senderdomain'}.')'; |
$contrib{$idx.':senderdomain'}.')'; |
if ($contrib{$idx.':anonymous'}) { |
if ($contrib{$idx.':anonymous'}) { |
Line 211 sub xmlend {
|
Line 219 sub xmlend {
|
} |
} |
} |
} |
} |
} |
$discussion.='</address>'; |
unless ($discussiononly) { |
|
$discussion.='</address>'; |
|
} |
|
} |
|
if ($discussiononly) { |
|
$discussion.='<h1>'.$symb.'</h1>'; |
} |
} |
} |
} |
} |
} |
return $discussion.'</html>'; |
return $discussion.($discussiononly?'':'</html>'); |
} |
} |
|
|
sub tokeninputfield { |
sub tokeninputfield { |
Line 541 sub htmlclean {
|
Line 554 sub htmlclean {
|
|
|
sub latex_special_symbols { |
sub latex_special_symbols { |
my ($current_token,$stack,$parstack)=@_; |
my ($current_token,$stack,$parstack)=@_; |
my @temp_array = @$stack; |
$current_token=~s/\\/\\char92 /g; |
if ($temp_array[-1] ne 'tt') { |
$current_token=~s/\^/\\char94 /g; |
if ($current_token=~m/\^/) {$current_token=~s/\^/\\verb|\^|/g;} |
$current_token=~s/\~/\\char126 /g; |
} else { |
$current_token=~s/(&[^a-z#])/\\$1/g; |
if ($current_token=~m/\^/) {$current_token=~s/\^/}\\verb|\^|{/g;} |
$current_token=~s/([^&]\#)/\\$1/g; |
} |
$current_token=~s/(\$|_|{|})/\\$1/g; |
if ($current_token=~m/>/) {$current_token=~s/>/\$>\$/g;} #more |
$current_token=~s/\\char92 /\\texttt{\\char92}/g; |
if ($current_token=~m/</) {$current_token=~s/</\$<\$/g;} #less |
$current_token=~s/>/\$>\$/g; #more |
if ($current_token=~m/\d%/) {$current_token =~ s/%/\\%/g;} #percent after digit |
$current_token=~s/</\$<\$/g; #less |
if ($current_token=~m/\s%/) {$current_token =~ s/%/\\%/g;} #persent after space |
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 |
|
|
# $current_token = ' start='.$current_token.'=finish '; |
|
return $current_token; |
return $current_token; |
} |
} |
|
|
Line 567 sub inner_xmlparse {
|
Line 578 sub inner_xmlparse {
|
if (($token->[0] eq 'T') || ($token->[0] eq 'C') || ($token->[0] eq 'D') ) { |
if (($token->[0] eq 'T') || ($token->[0] eq 'C') || ($token->[0] eq 'D') ) { |
if ($metamode<1) { |
if ($metamode<1) { |
my $text=$token->[1]; |
my $text=$token->[1]; |
if ($token->[0] eq 'C') { |
if ($token->[0] eq 'C' && $target eq 'tex') { |
$text = '%'.$text; |
$text = '%'.$text; |
$text =~ s/[\n\r]//g; |
$text =~ s/[\n\r]//g; |
} |
} |