--- loncom/xml/londefdef.pm 2003/08/26 14:40:03 1.166
+++ loncom/xml/londefdef.pm 2003/08/30 02:38:11 1.170
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.166 2003/08/26 14:40:03 sakharuk Exp $
+# $Id: londefdef.pm,v 1.170 2003/08/30 02:38:11 albertel Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -410,7 +410,7 @@ sub end_meta {
my $content=&Apache::lonxml::get_param('content',$parstack,$safeeval);
my $name=&Apache::lonxml::get_param('name',$parstack,$safeeval);
if ((not defined $content) && (not defined $name)) {
- &Apache::lonxml::startredirection();
+ &Apache::lonxml::endredirection();
}
}
return $currentstring;
@@ -466,6 +466,10 @@ sub start_body {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web') {
+ if ($Apache::lonhomework::parsing_a_problem) {
+ &Apache::lonxml::warning("
tag found inside of tag this can cause problems.");
+ return '';
+ }
if (!$Apache::lonxml::registered) {
$currentstring.=''.
&Apache::lonmenu::registerurl(undef,$target).'';
@@ -1421,7 +1425,7 @@ sub start_a {
}
sub end_a {
- my ($target,$token,$tagstack,$parstack,$safeeval) = @_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web') {
$currentstring .= $token->[2];
@@ -1431,7 +1435,7 @@ sub end_a {
#-- tag
sub start_li {
- my ($target,$token,$tagstack,$parstack,$safeeval) = @_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $currentstring = '';
if ($target eq 'web') {
$currentstring = $token->[4];
@@ -1776,11 +1780,9 @@ sub end_table {
}
}
#continues trying estimate the width of raw data
-# $currentstring.=' SSS '.$Apache::londefdef::table[-1]{'lengthrow'}[0].' FFF '; ####for test only
my @length_raw_row = split(/,/,$Apache::londefdef::table[-1]{'lengthrow'}[0]);
for (my $in=1;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) {
my @length_row = split(/,/,$Apache::londefdef::table[-1]{'lengthrow'}[$in]);
-# $currentstring.=' SSS '.$Apache::londefdef::table[-1]{'lengthrow'}[$in].' FFF '; ####for test only
for (my $jn=0;$jn<=$#length_row;$jn++) {
if ($length_raw_row[$jn]<$length_row[$jn]) {$length_raw_row[$jn]=$length_row[$jn];}
}
@@ -1797,7 +1799,7 @@ sub end_table {
$needed=$#length_row_final-$needed+1;
for (my $jn=0;$jn<=$#length_row_final;$jn++) {
if ($length_row_final[$jn]==0) {
- if ($length_raw_row[$jn]<$available_length/3) {
+ if ($length_raw_row[$jn]<$available_length) {
$length_row_final[$jn]=$length_raw_row[$jn];
$available_length=$available_length-$length_raw_row[$jn];
$needed--;