--- 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/}) {