--- loncom/xml/lonxml.pm 2007/04/07 00:04:40 1.442 +++ loncom/xml/lonxml.pm 2007/05/14 08:42:13 1.445 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.442 2007/04/07 00:04:40 albertel Exp $ +# $Id: lonxml.pm,v 1.445 2007/05/14 08:42:13 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ package Apache::lonxml; use vars qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace $errorcount $warningcount); use strict; +use LONCAPA; use HTML::LCParser(); use HTML::TreeBuilder(); use HTML::Entities(); @@ -1208,7 +1209,7 @@ sub writeallows { my %httpref=(); foreach (@extlinks) { $httpref{'httpref.'. - &Apache::lonnet::hreflocation($thisdir,$_)}=$thisurl; + &Apache::lonnet::hreflocation($thisdir,&unescape($_))}=$thisurl; } @extlinks=(); &Apache::lonnet::appenv(%httpref); @@ -1698,46 +1699,6 @@ sub get_param_var { } } -sub register_insert_tab { - my @data = split /\n/, &Apache::lonnet::getfile('/home/httpd/lonTabs/insertlist.tab'); - my $i; - my $tagnum=0; - my @order; - for ($i=0;$i < $#data; $i++) { - my $line = $data[$i]; - if ( $line =~ /^\#/ || $line =~ /^\s*\n/) { next; } - if ( $line =~ /TABLE/ ) { last; } - my ($tag,$descrip,$color,$function,$show,$helpfile,$helpdesc) = split(/,/, $line); - if ($tag) { - $insertlist{"$tagnum.tag"} = $tag; - $insertlist{"$tag.description"} = $descrip; - $insertlist{"$tag.color"} = $color; - $insertlist{"$tag.function"} = $function; - if (!defined($show)) { $show='yes'; } - $insertlist{"$tag.show"}= $show; - $insertlist{"$tag.helpfile"} = $helpfile; - $insertlist{"$tag.helpdesc"} = $helpdesc; - $insertlist{"$tag.num"}=$tagnum; - $tagnum++; - } - } - $i++; #skipping TABLE line - $tagnum = 0; - for (;$i < $#data;$i++) { - my $line = $data[$i]; - my ($mnemonic,@which) = split(/ +/,$line); - my $tag = $insertlist{"$tagnum.tag"}; - for (my $j=0;$j <=$#which;$j++) { - if ( $which[$j] eq 'Y' ) { - if ($insertlist{"$j.show"} ne 'no') { - push(@{ $insertlist{"$tag.which"} },$insertlist{"$j.tag"}); - } - } - } - $tagnum++; - } -} - sub register_insert_xml { my $parser = HTML::LCParser->new($Apache::lonnet::perlvar{'lonTabDir'} .'/insertlist.xml'); @@ -1783,10 +1744,12 @@ sub register_insert_xml { # parse the allows and ignore tags set to no foreach my $tag (@alltags) { + next if (!exists($insertlist{"$tag.allow"})); my $allow = $insertlist{"$tag.allow"}; foreach my $element (split(',',$allow)) { $element =~ s/(^\s*|\s*$ )//gx; - if ($insertlist{"$element.show"} ne 'no') { + if (exists($insertlist{"$element.show"}) + && $insertlist{"$element.show"} ne 'no') { push(@{ $insertlist{$tag.'.which'} },$element); } } @@ -1794,9 +1757,6 @@ sub register_insert_xml { } sub register_insert { -# ®ister_insert_tab(@_); -# &dump_insertlist('1'); -# undef(%insertlist); return ®ister_insert_xml(@_); # &dump_insertlist('2'); }