--- loncom/xml/londefdef.pm 2009/05/28 17:08:43 1.409 +++ loncom/xml/londefdef.pm 2010/06/10 15:54:06 1.417 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.409 2009/05/28 17:08:43 bisitz Exp $ +# $Id: londefdef.pm,v 1.417 2010/06/10 15:54:06 bisitz Exp $ # # # Copyright Michigan State University Board of Trustees @@ -540,14 +540,20 @@ sub start_body { # Breadcrumbs &Apache::lonhtmlcommon::clear_breadcrumbs(); - &Apache::lonhtmlcommon::add_breadcrumb({ - 'text' => 'Construction Space', - 'href' => &Apache::loncommon::authorspace(), - }); - &Apache::lonhtmlcommon::add_breadcrumb({ - 'text' => 'HTML Editor', - 'href' => '', - }); + if ($env{'request.state'} eq 'construct') { + &Apache::lonhtmlcommon::add_breadcrumb({ + 'text' => 'Construction Space', + 'href' => &Apache::loncommon::authorspace(), + }); + &Apache::lonhtmlcommon::add_breadcrumb({ + 'text' => 'HTML Editor', + 'href' => '', + }); + # breadcrumbs (and tools) will be created + # in start_page->bodytag->innerregister + } else { + # FIXME Where are we? + } $currentstring = &Apache::loncommon::start_page($Apache::londefdef::title, @@ -557,16 +563,21 @@ sub start_body { # 'no_title' => 1, 'force_register' => 1}); - $currentstring .= &Apache::lonhtmlcommon::breadcrumbs(); - my $header = ''; + if ($env{'request.state'} ne 'published' && + $env{'request.state'} ne 'construct') { + $header=&Apache::lonmenu::constspaceform(); + } if ($env{'request.state'} ne 'published') { - $header=&Apache::lonmenu::constspaceform() - .&Apache::londefdef::edit_controls(); + $header.=&Apache::londefdef::edit_controls(); + } + if ($env{'request.state'} eq 'construct') { + $currentstring.=&Apache::loncommon::head_subbox( + &Apache::loncommon::CSTR_pageheader() + .$header); + } elsif ($env{'request.state'} eq 'edit') { + $currentstring.=&Apache::loncommon::head_subbox($header); } - $currentstring.=&Apache::loncommon::head_subbox( - &Apache::loncommon::CSTR_pageheader() - .$header); $currentstring.=&Apache::lonxml::message_location(); } elsif ($target eq 'tex') { $currentstring = ''; # '\begin{document}' is in header. @@ -588,7 +599,11 @@ sub edit_controls { '; } $result .= ' -
+
'; + if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { + $result .= (' ' x 3).''; + } + $result .= '
'; @@ -3144,24 +3159,13 @@ sub start_img { # Render unto browsers that which are the browser's... if ($target eq 'web' || $target eq 'webgrade') { - if ($env{'browser.imagesuppress'} ne 'on') { - my $enc = ('yes' eq - lc(&Apache::lonxml::get_param('encrypturl',$parstack, - $safeeval))); - $currentstring.=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}, - $enc); - } else { - my $alttag = &Apache::lonxml::get_param('alt',$parstack,$safeeval, - undef,1); - if (!$alttag) { - $alttag = &Apache::lonmeta::alttag($Apache::lonxml::pwd[-1], - $src); - } - $currentstring.='[IMAGE: '.$alttag.']'; - } - - # and render unto TeX that which is LaTeX + my $enc = ('yes' eq + lc(&Apache::lonxml::get_param('encrypturl',$parstack, + $safeeval))); + $currentstring.=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}, + $enc); + # and render unto TeX that which is LaTeX } elsif ($target eq 'tex') { # # The alignment will require some superstructure to be put around @@ -3343,23 +3347,12 @@ sub start_applet { &Apache::lonxml::extlink($archive); my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - if ($env{'browser.appletsuppress'} ne 'on') { - $currentstring = &Apache::lonenc::encrypt_ref($token, - {'code'=>$code, - 'archive'=>$archive} - ); - } else { - my $alttag= &Apache::lonxml::get_param('alt',$parstack, - $safeeval,undef,1); - unless ($alttag) { - $alttag=&Apache::lonmeta::alttag($Apache::lonxml::pwd[-1], - $code); - } - $currentstring='[APPLET: '.$alttag.']'; - } + $currentstring = &Apache::lonenc::encrypt_ref($token, + {'code'=>$code, + 'archive'=>$archive} + ); } elsif ($target eq 'tex') { - # Turn off some stuff we can't be inside thank you LaTeX - + # Turn off some stuff we can't be inside thank you LaTeX my $restart_sub = 0; my $restart_sup = 0; @@ -3423,16 +3416,7 @@ sub start_embed { &Apache::lonxml::extlink($src); my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - if ($env{'browser.embedsuppress'} ne 'on') { - $currentstring=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}); - } else { - my $alttag=&Apache::lonxml::get_param - ('alt',$parstack,$safeeval,undef,1); - unless ($alttag) { - $alttag=&Apache::lonmeta::alttag($Apache::lonxml::pwd[-1],$src); - } - $currentstring='[EMBED: '.$alttag.']'; - } + $currentstring=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}); } elsif ($target eq 'tex') { } return $currentstring; @@ -3442,9 +3426,10 @@ sub end_embed { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - $currentstring = $token->[2]; - } elsif ($target eq 'tex') { - } + $currentstring = $token->[2]; + } elsif ($target eq 'tex') { + # ./. + } return $currentstring; } @@ -3882,12 +3867,16 @@ sub end_colgroup { return $currentstring; } + #-- tag (end tag required) sub start_del { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { $currentstring = $token->[4]; + } elsif ($target eq 'tex') { + &disable_para(); + $currentstring .= '\st{'; } return $currentstring; } @@ -3896,7 +3885,10 @@ sub end_del { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - $currentstring = $token->[2]; + $currentstring = $token->[2]; + } elsif ($target eq 'tex') { + &enable_para(); + $currentstring = '}'; } return $currentstring; } @@ -4736,7 +4728,7 @@ sub align_latex_image { # Even though we set a default alignment value, the user # could have given us an illegal value. In that case we # just use the default alignment of bottom.. - $currentstring = "\n% figurewrapping \n"; + $currentstring = ''; if ($align eq "top") { $currentstring .= '\raisebox{-'.$height.'mm}{'.$image; $closure = '}'; @@ -4779,8 +4771,6 @@ sub align_latex_image { $currentstring .= "{$image"; $closure = '}'; } - $currentstring .= "\n% end wrappage\n"; - $closure = "\n% Begin closure\n".$closure."\n% End closure\n"; return ($currentstring, $closure); } @@ -4800,8 +4790,7 @@ sub is_inside_of { # # This sub provides the typical LaTeX prefix matter for tex output: # -sub latex_header -{ +sub latex_header { my ($mode) = @_; my $currentstring = ''; @@ -4835,6 +4824,7 @@ sub latex_header "\\usepackage{xcolor}\n". '\usepackage{calc}'. '\usepackage{amsmath}'. + '\usepackage{soul}', '\usepackage{amssymb}'. '\usepackage{amsfonts}'. '\usepackage{amsthm}'.