version 1.215, 2002/11/13 23:21:07
|
version 1.218, 2002/12/06 17:56:53
|
Line 101 use Apache::File();
|
Line 101 use Apache::File();
|
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonfeedback(); |
use Apache::lonfeedback(); |
use Apache::lonmsg(); |
use Apache::lonmsg(); |
|
use Apache::loncacc(); |
|
|
#================================================== Main subroutine: xmlparse |
#================================================== Main subroutine: xmlparse |
#debugging control, to turn on debugging modify the correct handler |
#debugging control, to turn on debugging modify the correct handler |
Line 144 $Apache::lonxml::registered=0;
|
Line 145 $Apache::lonxml::registered=0;
|
# a pointer the the Apache request object |
# a pointer the the Apache request object |
$Apache::lonxml::request=''; |
$Apache::lonxml::request=''; |
|
|
# a problem number counter, and check on hether it is used |
# a problem number counter, and check on ether it is used |
$Apache::lonxml::counter=0; |
$Apache::lonxml::counter=1; |
$Apache::lonxml::counter_changed=0; |
$Apache::lonxml::counter_changed=0; |
|
|
#internal check on whether to look at style defs |
#internal check on whether to look at style defs |
Line 373 sub fontsettings() {
|
Line 374 sub fontsettings() {
|
return $headerstring; |
return $headerstring; |
} |
} |
|
|
|
|
|
## |
|
## switchmenu - modeled on lonmenu::switchmenu, but better. |
|
## Helper function for registerurl |
|
## |
|
sub switchmenu { |
|
my ($row,$col,$imgsrc,$texttop,$textbot,$action,$description)=@_; |
|
return(<<ENDSMENU); |
|
menu.switchbutton($row,$col,'$imgsrc','$texttop','$textbot','$action','$description'); |
|
ENDSMENU |
|
} |
|
|
sub registerurl { |
sub registerurl { |
my $forcereg=shift; |
my $forcereg=shift; |
my $target = shift; |
my $target = shift; |
Line 421 ENDGRDS
|
Line 434 ENDGRDS
|
ENDPARM |
ENDPARM |
} |
} |
} |
} |
|
### |
|
### Determine whether or not to display the 'cstr' button for this |
|
### resource |
|
### |
|
my $editbutton = ''; |
|
if ($ENV{'user.author'}) { |
|
if ($ENV{'request.role'}=~/^(ca|au)/) { |
|
# Set defaults for authors |
|
my ($top,$bottom) = ('con-','struct'); |
|
my $action = "go('/priv/".$ENV{'user.name'}."');"; |
|
my $cadom = $ENV{'request.role.domain'}; |
|
my $caname = $ENV{'user.name'}; |
|
my $desc = "Enter my resource construction space"; |
|
# Set defaults for co-authors |
|
if ($ENV{'request.role'} =~ /^ca/) { |
|
($cadom,$caname)=($ENV{'request.role'}=~/(\w+)\/(\w+)$/); |
|
($top,$bottom) = ('co con-','struct'); |
|
$action = 'go("/priv/'.$caname.'");'; |
|
$desc = "Enter construction space as co-author"; |
|
} |
|
# Check that we are on the correct machine |
|
my $home = &Apache::lonnet::homeserver($caname,$cadom); |
|
if ($home eq $Apache::lonnet::perlvar{'lonHostID'}) { |
|
$editbutton=&switchmenu |
|
(6,1,$top,,$bottom,$action,$desc); |
|
} |
|
} |
|
## |
|
## Determine if user can edit url. |
|
## |
|
my $cfile=''; |
|
my $cfuname=''; |
|
my $cfudom=''; |
|
if ($ENV{'request.filename'}) { |
|
my $file=&Apache::lonnet::declutter($ENV{'request.filename'}); |
|
$file=~s/^(\w+)\/(\w+)/\/priv\/$2/; |
|
# Chech that the user has permission to edit this resource |
|
($cfuname,$cfudom)=&Apache::loncacc::constructaccess($file,$1); |
|
if (defined($cfudom)) { |
|
if (&Apache::lonnet::homeserver($cfuname,$cfudom) |
|
eq $Apache::lonnet::perlvar{'lonHostID'}) { |
|
$cfile=$file; |
|
} |
|
} |
|
} |
|
# Finally, turn the button on or off |
|
if ($cfile) { |
|
$editbutton=&switchmenu |
|
(6,1,'cstr.gif','edit','resource', |
|
'go("'.$cfile.'");',"Edit this resource"); |
|
} elsif ($editbutton eq '') { |
|
$editbutton = ' menu.clearbut(6,1);'; |
|
} |
|
} |
|
### |
|
### |
$result = (<<ENDREGTHIS); |
$result = (<<ENDREGTHIS); |
|
|
<script language="JavaScript"> |
<script language="JavaScript"> |
Line 456 ENDPARM
|
Line 525 ENDPARM
|
menu.switchbutton |
menu.switchbutton |
(9,3,'anot.gif','anno-','tations','annotate()','Make notes and annotations about this resource'); |
(9,3,'anot.gif','anno-','tations','annotate()','Make notes and annotations about this resource'); |
$hwkadd |
$hwkadd |
|
$editbutton |
} |
} |
|
|
function LONCAPAstale() { |
function LONCAPAstale() { |
Line 598 sub htmlclean {
|
Line 668 sub htmlclean {
|
|
|
sub latex_special_symbols { |
sub latex_special_symbols { |
my ($current_token,$stack,$parstack)=@_; |
my ($current_token,$stack,$parstack)=@_; |
$current_token=~s/\\/\\char92 /g; |
$current_token=~s/\\ /\\char92 /g; |
$current_token=~s/\^/\\char94 /g; |
$current_token=~s/\^/\\char94 /g; |
$current_token=~s/\~/\\char126 /g; |
$current_token=~s/\~/\\char126 /g; |
$current_token=~s/(&[^a-z\#])/\\$1/g; |
$current_token=~s/(&[^a-z\#])/\\$1/g; |
Line 623 sub inner_xmlparse {
|
Line 693 sub inner_xmlparse {
|
if ($metamode<1) { |
if ($metamode<1) { |
my $text=$token->[1]; |
my $text=$token->[1]; |
if ($token->[0] eq 'C' && $target eq 'tex') { |
if ($token->[0] eq 'C' && $target eq 'tex') { |
$text = '%'.$text; |
$text = '%'.$text."\n"; |
$text =~ s/[\n\r]//g; |
|
} |
} |
$result.=$text; |
$result.=$text; |
} |
} |
Line 716 sub inner_xmlparse {
|
Line 785 sub inner_xmlparse {
|
|
|
if (($ENV{'QUERY_STRING'}) && ($target eq 'web')) { |
if (($ENV{'QUERY_STRING'}) && ($target eq 'web')) { |
$finaloutput=&afterburn($finaloutput); |
$finaloutput=&afterburn($finaloutput); |
} |
} |
return $finaloutput; |
return $finaloutput; |
} |
} |
|
|