--- loncom/xml/londefdef.pm 2011/04/05 10:02:57 1.428 +++ 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.428 2011/04/05 10:02:57 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); } @@ -2107,88 +2110,6 @@ sub start_table { push(@Apache::londefdef::table, $table); $currentstring.=' \keephidden{NEW TABLE ENTRY}'; - #-------------------------------------------------------- - # Old table code here. - #-------------------------------------------------------- - - - if (0) { - push(@Apache::londefdef::table, {}); - $Apache::londefdef::table[-1]{'row_number'} = -1; - #maximum table's width (default coincides with text line length) - if ($#Apache::londefdef::table==0) { - $textwidth=&recalc($env{'form.textwidth'}); #result is always in mm - $textwidth=~/(\d+\.?\d*)/; - $textwidth=0.85*$1; #accounts "internal" LaTeX space for table frame - } else { - if ($Apache::londefdef::table[-2]{'TeXlen'}[$Apache::londefdef::table[-2]{'row_number'}][$Apache::londefdef::table[-2]{'counter_columns'}]=~/\d/) { - #the maximum width of nested table is determined by LATeX width of parent cell - $textwidth=$Apache::londefdef::table[-2]{'TeXlen'}[$Apache::londefdef::table[-2]{'row_number'}][$Apache::londefdef::table[-2]{'counter_columns'}]; - } else { - #try to use all space not used before (minus 5% for LaTeX table internal) - rather silly - $textwidth=$Apache::londefdef::table[-2]{'width'}; - for (my $i=0;$i<$Apache::londefdef::table[-2]{'counter_columns'};$i++) { - $textwidth=$textwidth-$Apache::londefdef::table[-2]{'TeXlen'}[0][$i]; - } - } - } - - # width either comes forced from the TeXwidth or the width parameters. - # in either case it can be a percentage or absolute width. - # in the width case we ignore absolute width - my $TeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0); - if (!defined($TeXwidth)) { - my $htmlwidth = &Apache::lonxml::get_param('width',$parstack, - $safeeval,undef,1); - if ($htmlwidth =~ /%/) { - $TeXwidth = $htmlwidth; - } else { - $TeXwidth = $textwidth; - } - } - # if the width is specified as a % it is converted to an absolute width. - # otherwise.. just plugged right in the hash - - if ($TeXwidth=~/%/) { - $TeXwidth=~/(\d+)/; - $Apache::londefdef::table[-1]{'width'}=$1*$textwidth/100; - } else { - $Apache::londefdef::table[-1]{'width'}=$TeXwidth; - } - # In the end, however the table width cannot be wider than $textwidth... - - if ($Apache::londefdef::table[-1]{'width'} > $textwidth) { - $Apache::londefdef::table[-1]{'width'} = $textwidth; - } - #table's border - my $border = &Apache::lonxml::get_param('border',$parstack,$safeeval); - my $permission=&Apache::lonxml::get_param('TeXDropEmptyColumns',$parstack,$safeeval,undef,0); - unless (defined $border) { $border = 0; } - if ($border) { - $Apache::londefdef::table[-1]{'hinc'} = '\hline '; - $Apache::londefdef::table[-1]{'vinc'} = '&'; - $Apache::londefdef::table[-1]{'vvinc'} = '|'; - } else { - $Apache::londefdef::table[-1]{'hinc'} = ''; - $Apache::londefdef::table[-1]{'vinc'} = '&'; - $Apache::londefdef::table[-1]{'vvinc'} = ''; - } - if ($#Apache::londefdef::table==0) { - # Note that \newline seems to destroy the alignment envs. - # $Apache::londefdef::table[-1]{'output'}='\strut\newline\strut\setlength{\tabcolsep}{1 mm}'; - $Apache::londefdef::table[-1]{'output'}='\strut'.'\\\\'."\n".'\strut\setlength{\tabcolsep}{1 mm}'; - } - $Apache::londefdef::table[-1]{'output'}.=' \noindent \begin{tabular} '; - $Apache::londefdef::table[-1]{'TeXlen'}=[]; - $Apache::londefdef::table[-1]{'objectlen'}=[]; - $Apache::londefdef::table[-1]{'objectsignal'}=[]; - $Apache::londefdef::table[-1]{'maxlen'}=[]; - $Apache::londefdef::table[-1]{'minlen'}=[]; - $Apache::londefdef::table[-1]{'content'}=[]; - $Apache::londefdef::table[-1]{'align'}=[]; - $currentstring.=' \keephidden{NEW TABLE ENTRY}'; - } - } return $currentstring; } @@ -2201,8 +2122,6 @@ sub end_table { } elsif ($target eq 'tex') { - # New table code: - my $table = pop(@Apache::londefdef::table); my $t = $table->generate(); # &Apache::lonnet::logthis("Generating string"); @@ -2967,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 @@ -3468,13 +3384,34 @@ sub end_col { return $currentstring; } -#--