--- loncom/xml/londefdef.pm 2010/02/02 15:34:58 1.403.4.1 +++ loncom/xml/londefdef.pm 2010/07/21 02:00:37 1.418 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.403.4.1 2010/02/02 15:34:58 raeburn Exp $ +# $Id: londefdef.pm,v 1.418 2010/07/21 02:00:37 www Exp $ # # # Copyright Michigan State University Board of Trustees @@ -538,22 +538,51 @@ sub start_body { my $extra_head = &generate_css_links(); + # Breadcrumbs + &Apache::lonhtmlcommon::clear_breadcrumbs(); + 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, $Apache::londefdef::head .$extra_head, {'add_entries' => $token->[2], - 'no_title' => 1, +# 'no_title' => 1, 'force_register' => 1}); - if ($env{'request.state'} ne 'published') { - $currentstring.=&Apache::lonmenu::constspaceform(); - $currentstring.=&Apache::londefdef::edit_controls(); - } - $currentstring.=&Apache::lonxml::message_location(); + 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::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::lonxml::message_location(); } elsif ($target eq 'tex') { - $currentstring = ''; # '\begin{document}' is in header. - } + $currentstring = ''; # '\begin{document}' is in header. + } + return $currentstring; } @@ -570,9 +599,14 @@ sub edit_controls { '; } $result .= ' -
+
'; + if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { + $result .= (' ' x 3).''; + } + $result .= '
+ -
'; +'; return $result; } @@ -1349,10 +1383,6 @@ sub start_font { my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval); - if ($face!~/symbol/i) { - if (($env{'browser.fontenhance'} eq 'on') || - ($env{'browser.blackwhite'} eq 'on')) { return ''; } - } $currentstring = $token->[4]; } elsif ($target eq 'tex') { my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval); @@ -3129,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 @@ -3245,21 +3264,28 @@ sub start_img { ['','bottom','middle','top','left','right'],$token,5); $currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap', ['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2); + my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); + my $enc= &Apache::lonxml::get_param('encrypturl',$parstack,$safeeval); + $currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl', ['no','yes'], $token, 2); + if (($alt=~/\S/) && (lc($enc) eq 'yes')) { + $currentstring.='
'.&mt('Warning: the description "[_1]" will be available, even for encrypted URL',$alt).'
'; + } $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval); - my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); if ($token->[2]{'src'}=~/\$/) { - $currentstring.='Variable image source'; - } else { + $currentstring.=&mt('Variable image source'); + } elsif ($token->[2]{'src'}=~/\S/) { $currentstring .= ''.$alt.'$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; @@ -3408,16 +3423,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; @@ -3427,9 +3433,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; } @@ -3508,7 +3515,7 @@ sub start_frameset { &Apache::loncommon::start_page($Apache::londefdef::title, $Apache::londefdef::head, {'add_entries' => $token->[2], - 'no_title' => 1, +# 'no_title' => 1, 'force_register' => 1, 'frameset' => 1,}); @@ -3867,12 +3874,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; } @@ -3881,7 +3892,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; } @@ -4817,6 +4831,7 @@ sub latex_header { "\\usepackage{xcolor}\n". '\usepackage{calc}'. '\usepackage{amsmath}'. + '\usepackage{soul}', '\usepackage{amssymb}'. '\usepackage{amsfonts}'. '\usepackage{amsthm}'.