--- loncom/interface/lonhtmlcommon.pm 2004/06/02 16:41:46 1.71 +++ 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.71 2004/06/02 16:41:46 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='
'.$prefix.'/'; + my $output=''; + unless ($noformat) { $output.='
'; } + $output.=''.$prefix.'/'; if ($ENV{'user.adv'}) { my $path=$prefix.'/'; foreach (split('/',$uri)) { @@ -862,44 +864,89 @@ sub crumbs { $output.=$uri; } unless ($uri=~/\/$/) { $output=~s/\/$//; } - return $output.'
'; + return $output.'
'.($noformat?'':'

'); } # ------------------------------------------------- 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'); } return (< - _editor_url="/htmlarea/"; - - - + + ENDHEADERS } -# ---------------------------------------------------------- Script to activate +# ------------------------------------------------- Activate additional buttons -sub htmlareaactive { +sub htmlareaaddbuttons { if (&htmlareablocked()) { return ''; } - return (< - HTMLArea.replaceAll(); - -ENDSCRIPT + unless (&htmlareabrowser()) { return ''; } + return (<\$','\$'); + } + ); + config.registerButton('ed_math_eqn','LaTeX Equation', + '/htmlarea/images/ed_math_eqn.gif',false, + function(editor,id) { + editor.surroundHTML( + '
\\\\[','\\\\]
'); + } + ); + config.toolbar.push(['ed_math','ed_math_eqn']); +ENDADDBUTTON +} + +# ----------------------------------------------------------------- Preferences + +sub disablelink { + my @fields=@_; + if (defined($#fields)) { + unless ($#fields>=0) { return ''; } + } + return ''.&mt('Disable WYSIWYG Editor').''; +} + +sub enablelink { + my @fields=@_; + if (defined($#fields)) { + unless ($#fields>=0) { return ''; } + } + return ''.&mt('Enable WYSIWYG Editor').''; +} + +# ----------------------------------------- Script to activate only some fields + +sub htmlareaselectactive { + my @fields=@_; + unless (&htmlareabrowser()) { return ''; } + if (&htmlareablocked()) { return '
'.&enablelink(@fields); } + my $output='
". + &disablelink(@fields); + return $output; } # --------------------------------------------------------------------- Blocked sub htmlareablocked { - unless (&htmlareabrowser()) { return 1; } + unless ($ENV{'environment.wysiwygeditor'} eq 'on') { return 1; } return 0; }