--- loncom/xml/londefdef.pm 2011/04/05 10:33:15 1.429
+++ loncom/xml/londefdef.pm 2011/11/14 00:20:42 1.436
@@ -1,7 +1,8 @@
+
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.429 2011/04/05 10:33:15 foxr Exp $
+# $Id: londefdef.pm,v 1.436 2011/11/14 00:20:42 raeburn Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -383,6 +384,9 @@ sub start_meta {
} else {
$currentstring = $token->[4];
}
+ if ($env{'form.grade_imsexport'}) {
+ $currentstring = '';
+ }
} elsif ($target eq 'meta') {
unless (&Apache::lonxml::get_param
('http-equiv',$parstack,$safeeval,undef,1)) {
@@ -541,9 +545,10 @@ sub start_body {
# Breadcrumbs
&Apache::lonhtmlcommon::clear_breadcrumbs();
if ($env{'request.state'} eq 'construct') {
+ my $url=&Apache::lonnet::hreflocation('',$env{'request.filename'});
&Apache::lonhtmlcommon::add_breadcrumb({
'text' => 'Construction Space',
- 'href' => &Apache::loncommon::authorspace(),
+ 'href' => &Apache::loncommon::authorspace($url),
});
&Apache::lonhtmlcommon::add_breadcrumb({
'text' => 'HTML Editor',
@@ -2044,9 +2049,6 @@ sub start_table {
} elsif ($target eq 'tex') {
&disable_para(); # Can't have paras in a table.
-
- # New table code:
-
# Get the parameters that we can do something about:
my $border = &Apache::lonxml::get_param('border', $parstack, $safeeval, undef, 0);
@@ -2067,7 +2069,6 @@ sub start_table {
$table->cell_border(1); # Default for rules is all if rules not defined.
}
}
- # Only all or nothing for cell borders for now:
if ((defined $cell_border)) {
if ($cell_border eq 'all') {
@@ -2076,6 +2077,8 @@ sub start_table {
$table->cell_border(2);
} elsif ($cell_border eq 'cols') {
$table->cell_border(3);
+ } elsif($cell_border eq 'groups') {
+ $table->cell_border(4);
} else {
$table->cell_border(0);
}
@@ -2883,10 +2886,7 @@ sub start_applet {
&Apache::lonxml::extlink($archive);
my $currentstring = '';
if ($target eq 'web' || $target eq 'webgrade') {
- $currentstring = &Apache::lonenc::encrypt_ref($token,
- {'code'=>$code,
- 'archive'=>$archive}
- );
+ $currentstring = $token->[4];
} elsif ($target eq 'tex') {
# Turn off some stuff we can't be inside thank you LaTeX
@@ -3384,13 +3384,34 @@ sub end_col {
return $currentstring;
}
-#--
tag (end tag optional)
+#-- [4];
}
+ if ($target eq 'tex') {
+ # TODO: Ensure this tag is in a table:
+
+ # Fetch the attributes and build the hash for the
+ # call to define_colgroup.
+
+ my $span = &Apache::lonxml::get_param('span', $parstack, $safeeval);
+ my $halign = &Apache::lonxml::get_param('halign', $parstack, $safeeval);
+
+ my %colgroup_params;
+ if ($span ne '') {
+ $colgroup_params{'span'} = $span;
+ }
+ if ($halign ne '') {
+ $colgroup_params{'halign'} = $halign;
+ }
+
+ my $table = $Apache::londefdef::table[-1];
+ $table->define_colgroup(\%colgroup_params);
+
+ }
return $currentstring;
}
@@ -3884,6 +3905,12 @@ sub start_tbody {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[4];
}
+ if ($target eq 'tex') {
+ # TODO: Ensure this tag is within a table:
+
+ my $table = $Apache::londefdef::table[-1];
+ $table->start_body();
+ }
return $currentstring;
}
@@ -3893,6 +3920,12 @@ sub end_tbody {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[2];
}
+ if($target eq 'tex') {
+ # TODO: Ensure this tag is within a table:
+
+ my $table = $Apache::londefdef::table[-1];
+ $table->end_body();
+ }
return $currentstring;
}
@@ -3903,6 +3936,11 @@ sub start_tfoot {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[4];
}
+ if ($target eq 'tex') {
+ # TODO: ensure this is within a table tag.
+ my $table = $Apache::londefdef::table[-1];
+ $table->start_foot();
+ }
return $currentstring;
}
@@ -3912,6 +3950,11 @@ sub end_tfoot {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[2];
}
+ if ($target eq 'tex') {
+ # TODO: Ensure this is in side a table
+ my $table = $Apache::londefdef::table[-1];
+ $table->end_foot();
+ }
return $currentstring;
}
@@ -3922,6 +3965,11 @@ sub start_thead {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[4];
}
+ if ($target eq 'tex') {
+ # Assume we're in a table... TODO: Verify that and ignore tag if not.
+ my $table = $Apache::londefdef::table[-1];
+ $table->start_head();
+ }
return $currentstring;
}
@@ -3931,6 +3979,12 @@ sub end_thead {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[2];
}
+ if ($target eq 'tex') {
+ # TODO: Verify we are in a table and ignore tag if not.
+
+ my $table = $Apache::londefdef::table[-1];
+ $table->end_head();
+ }
return $currentstring;
}
@@ -4141,7 +4195,7 @@ sub get_eps_image {
close(FILE);
}
$src=~s|/home/httpd/html/res|/home/httpd/prtspool|;
- $src=~s|/home/([^/]*)/public_html/|/home/httpd/prtspool/$1/|;
+ $src=~s|/home/httpd/html/priv/[^/]+/([^/]*)/|/home/httpd/prtspool/$1/|;
if ($sext ne "") { # Put the ext. back in to uniquify.
$src =~ s/\.eps$/$sext.eps/;
}
@@ -4160,7 +4214,7 @@ sub get_eps_image {
print FILE "$src\n";
close FILE;
$src=~s|/home/httpd/html/res|/home/httpd/prtspool|;
- $src=~s|/home/([^/]*)/public_html/|/home/httpd/prtspool/$1/|;
+ $src=~s|/home/httpd/html/priv/[^/]+/([^/]*)/|/home/httpd/prtspool/$1/|;
}
my ($path,$file)=($src=~m|(.*)/([^/]*)$|);
$path =~ s/ /\_/g;
@@ -4179,7 +4233,7 @@ sub eps_generation {
my $newsrc = $src;
$newsrc =~ s/(\.bmp|\.gif|\.jpg|\.jpeg)$/\.eps/i;
$newsrc=~s{/home/httpd/html/res}{};
- $newsrc=~s{/home/($LONCAPA::username_re)/public_html/}{/$1/};
+ $newsrc=~s{/home/httpd/html/priv/[^/]+/($LONCAPA::username_re)/}{/$1/};
$newsrc=~s{/\./}{/};
$newsrc=~s{/([^/]+)\.(ps|eps)}{/};
if ($newsrc=~m{/home/httpd/lonUsers/}) {