--- loncom/interface/lonhtmlcommon.pm 2004/06/04 16:05:47 1.74 +++ loncom/interface/lonhtmlcommon.pm 2004/06/17 18:22:13 1.78 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.74 2004/06/04 16:05:47 www Exp $ +# $Id: lonhtmlcommon.pm,v 1.78 2004/06/17 18:22:13 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -841,11 +841,13 @@ sub r_print { # ------------------------------------------------------- Puts directory header sub crumbs { - my ($uri,$target,$prefix,$form,$size)=@_; + my ($uri,$target,$prefix,$form,$size,$noformat)=@_; if (! defined($size)) { $size = '+2'; } - my $output='<br /><tt><b><font size="'.$size.'">'.$prefix.'/'; + my $output=''; + unless ($noformat) { $output.='<br /><tt><b>'; } + $output.='<font size="'.$size.'">'.$prefix.'/'; if ($ENV{'user.adv'}) { my $path=$prefix.'/'; foreach (split('/',$uri)) { @@ -862,13 +864,14 @@ sub crumbs { $output.=$uri; } unless ($uri=~/\/$/) { $output=~s/\/$//; } - return $output.'</font></b></tt><br />'; + return $output.'</font>'.($noformat?'':'</b></tt><br />'); } # ------------------------------------------------- Output headers for HTMLArea sub htmlareaheaders { if (&htmlareablocked()) { return ''; } + unless (&htmlareabrowser()) { return ''; } my $lang='en'; if (&mt('htmlarea_lang') ne 'htmlarea_lang') { $lang=&mt('htmlarea_lang'); @@ -886,6 +889,7 @@ ENDHEADERS sub htmlareaaddbuttons { if (&htmlareablocked()) { return ''; } + unless (&htmlareabrowser()) { return ''; } return (<<ENDADDBUTTON); var config=new HTMLArea.Config(); config.registerButton('ed_math','LaTeX Inline', @@ -897,43 +901,52 @@ sub htmlareaaddbuttons { config.registerButton('ed_math_eqn','LaTeX Equation', '/htmlarea/images/ed_math_eqn.gif',false, function(editor,id) { - editor.surroundHTML('<br /><m>\\\\[','\\\\]</m><br />'); + editor.surroundHTML( + '<center><m>\\\\[','\\\\]</m></center>'); } ); config.toolbar.push(['ed_math','ed_math_eqn']); ENDADDBUTTON } -# ---------------------------------------------------------- Script to activate -sub htmlareaactive { - if (&htmlareablocked()) { return ''; } - my $addbuttons=&htmlareaaddbuttons(); - return (<<ENDSCRIPT); -<script type="text/javascript" defer="1"> - $addbuttons - HTMLArea.replaceAll(config); -</script> -ENDSCRIPT +# ----------------------------------------------------------------- Preferences + +sub disablelink { + my @fields=@_; + if (defined($#fields)) { + unless ($#fields>=0) { return ''; } + } + return '<a href="/adm/preferences?action=set_wysiwyg&wysiwyg=off&returnurl='.&Apache::lonnet::escape($ENV{'REQUEST_URI'}).'">'.&mt('Disable WYSIWYG Editor').'</a>'; +} + +sub enablelink { + my @fields=@_; + if (defined($#fields)) { + unless ($#fields>=0) { return ''; } + } + return '<a href="/adm/preferences?action=set_wysiwyg&wysiwyg=on&returnurl='.&Apache::lonnet::escape($ENV{'REQUEST_URI'}).'">'.&mt('Enable WYSIWYG Editor').'</a>'; } # ----------------------------------------- Script to activate only some fields sub htmlareaselectactive { my @fields=@_; - if (&htmlareablocked()) { return ''; } + unless (&htmlareabrowser()) { return ''; } + if (&htmlareablocked()) { return '<br />'.&enablelink(@fields); } my $output='<script type="text/javascript" defer="1">'. &htmlareaaddbuttons(); foreach(@fields) { $output.="\nHTMLArea.replace('$_',config);"; } - $output.="\nwindow.status='Activated Editfields';\n</script>"; + $output.="\nwindow.status='Activated Editfields';\n</script><br />". + &disablelink(@fields); return $output; } # --------------------------------------------------------------------- Blocked sub htmlareablocked { - unless (&htmlareabrowser()) { return 1; } + unless ($ENV{'environment.wysiwygeditor'} eq 'on') { return 1; } return 0; }