Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.73 and 1.85

version 1.73, 2004/06/03 16:42:02 version 1.85, 2004/07/27 23:35:34
Line 772  sub Increment_PrgWin { Line 772  sub Increment_PrgWin {
         $$prog_state{'done'} *          $$prog_state{'done'} *
  ($$prog_state{'max'}-$$prog_state{'done'});   ($$prog_state{'max'}-$$prog_state{'done'});
     $time_est = int($time_est);      $time_est = int($time_est);
     if (int ($time_est/60) > 0) {      #
  my $min = int($time_est/60);      my $min = int($time_est/60);
  my $sec = $time_est % 60;      my $sec = $time_est % 60;
  $time_est = $min.' '.&mt('minutes');      # 
         if ($min < 10)  {      my $str;
             if ($sec > 1) {      if ($min == 1 && $sec > 1) {
                 $time_est.= ', '.$sec.' '.&mt('seconds');          $str = '[_2] seconds';
             } elsif ($sec > 0) {      } elsif ($min == 1 && $sec < 2) {
                 $time_est.= ', '.$sec.' '.&mt('second');          $str = '1 minute';
             }      } elsif ($min < 10 && $sec > 1) {
         }          $str = '[_1] minutes, [_2] seconds';
     } else {      } elsif ($min >= 10 || $sec < 2) {
  $time_est .= ' '.&mt('seconds');          $str = '[_1] minutes';
     }      }
       $time_est = &mt($str,$min,$sec);
       #
     my $lasttime = &Time::HiRes::time()-$$prog_state{'laststart'};      my $lasttime = &Time::HiRes::time()-$$prog_state{'laststart'};
     if ($lasttime > 9) {      if ($lasttime > 9) {
         $lasttime = int($lasttime);          $lasttime = int($lasttime);
Line 841  sub r_print { Line 843  sub r_print {
 # ------------------------------------------------------- Puts directory header  # ------------------------------------------------------- Puts directory header
   
 sub crumbs {  sub crumbs {
     my ($uri,$target,$prefix,$form,$size)=@_;      my ($uri,$target,$prefix,$form,$size,$noformat)=@_;
     if (! defined($size)) {      if (! defined($size)) {
         $size = '+2';          $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'}) {      if ($ENV{'user.adv'}) {
  my $path=$prefix.'/';   my $path=$prefix.'/';
  foreach (split('/',$uri)) {   foreach (split('/',$uri)) {
Line 862  sub crumbs { Line 866  sub crumbs {
  $output.=$uri;   $output.=$uri;
     }      }
     unless ($uri=~/\/$/) { $output=~s/\/$//; }      unless ($uri=~/\/$/) { $output=~s/\/$//; }
     return $output.'</font></b></tt><br />';      return $output.'</font>'.($noformat?'':'</b></tt><br />');
   }
   
   # --------------------- A function that generates a window for the spellchecker
   
   sub spellheader {
       my $nothing = &javascript_nothing();
       return (<<ENDCHECK);
   <script type="text/javascript"> 
   var checkwin;
   
   function spellcheckerwindow() {
       checkwin=window.open($nothing,'spellcheckwin','height=320,width=280,resizable=yes,scrollbars=yes,location=no,menubar=no,toolbar=no');
       checkwin.document.writeln('<html><body bgcolor="#DDDDDD"><form name="spellcheckform" action="/adm/spellcheck" method="post"><input type="hidden" name="text" value="" /></form></body></html>');
       checkwin.document.close();
   }
   </script>
   ENDCHECK
   }
   
   # ---------------------------------- Generate link to spell checker for a field
   
   sub spelllink {
       my ($form,$field)=@_;
       my $linktext=&mt('Check Spelling');
       return (<<ENDLINK);
   <a href="javascript:if (typeof(document.$form.onsubmit)!='undefined') { document.$form.onsubmit();};spellcheckerwindow();checkwin.document.forms.spellcheckform.text.value=this.document.forms.$form.$field.value;checkwin.document.forms.spellcheckform.submit();">$linktext</a>
   ENDLINK
 }  }
   
 # ------------------------------------------------- Output headers for HTMLArea  # ------------------------------------------------- Output headers for HTMLArea
   
 sub htmlareaheaders {  sub htmlareaheaders {
     if (&htmlareablocked()) { return ''; }      if (&htmlareablocked()) { return ''; }
       unless (&htmlareabrowser()) { return ''; }
     my $lang='en';      my $lang='en';
     if (&mt('htmlarea_lang') ne 'htmlarea_lang') {      if (&mt('htmlarea_lang') ne 'htmlarea_lang') {
  $lang=&mt('htmlarea_lang');   $lang=&mt('htmlarea_lang');
Line 882  _editor_lang='$lang'; Line 914  _editor_lang='$lang';
 ENDHEADERS  ENDHEADERS
 }  }
   
 # ---------------------------------------------------------- Script to activate  # ------------------------------------------------- Activate additional buttons
   
 sub htmlareaactive {  sub htmlareaaddbuttons {
     if (&htmlareablocked()) { return ''; }      if (&htmlareablocked()) { return ''; }
     return (<<ENDSCRIPT);      unless (&htmlareabrowser()) { return ''; }
 <script type="text/javascript" defer="1">      return (<<ENDADDBUTTON);
     HTMLArea.replaceAll();      var config=new HTMLArea.Config();
 </script>      config.registerButton('ed_math','LaTeX Inline',
 ENDSCRIPT    '/htmlarea/images/ed_math.gif',false,
       function(editor,id) {
         editor.surroundHTML('<m>\$','\$</m>');
       }
     );
       config.registerButton('ed_math_eqn','LaTeX Equation',
     '/htmlarea/images/ed_math_eqn.gif',false,
       function(editor,id) {
         editor.surroundHTML(
        '<center><m>\\\\[','\\\\]</m></center>');
       }
     );
       config.toolbar.push(['ed_math','ed_math_eqn']);
   ENDADDBUTTON
   }
   
   # ----------------------------------------------------------------- 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  # ----------------------------------------- Script to activate only some fields
   
 sub htmlareaselectactive {  sub htmlareaselectactive {
     my @fields=@_;      my @fields=@_;
     if (&htmlareablocked()) { return ''; }      unless (&htmlareabrowser()) { return ''; }
     my $output='<script type="text/javascript" defer="1">';      if (&htmlareablocked()) { return '<br />'.&enablelink(@fields); }
       my $output='<script type="text/javascript" defer="1">'.
    &htmlareaaddbuttons();
     foreach(@fields) {      foreach(@fields) {
  $output.="\nHTMLArea.replace('$_');";   $output.="\nHTMLArea.replace('$_',config);";
     }      }
     $output.="\nwindow.status='Activated Editfields';\n</script>";      $output.="\nwindow.status='Activated Editfields';\n</script><br />".
    &disablelink(@fields);
     return $output;      return $output;
 }  }
   
 # --------------------------------------------------------------------- Blocked  # --------------------------------------------------------------------- Blocked
   
 sub htmlareablocked {  sub htmlareablocked {
     unless (&htmlareabrowser()) { return 1; }      unless ($ENV{'environment.wysiwygeditor'} eq 'on') { return 1; }
     return 0;      return 0;
 }  }
   
Line 1018  returns: nothing Line 1084  returns: nothing
                      } @Crumbs                       } @Crumbs
                  );                   );
         $links .= '-&gt;' if ($links ne '');          $links .= '-&gt;' if ($links ne '');
         $links .= '<b>'.$last->{'text'}.'</b>';          $links .= '<b>'.&mt($last->{'text'}).'</b>';
         #          #
         my $icons = '';          my $icons = '';
         $faq = $last->{'faq'} if (exists($last->{'faq'}));          $faq = $last->{'faq'} if (exists($last->{'faq'}));
         $bug = $last->{'bug'} if (exists($last->{'bug'}));          $bug = $last->{'bug'} if (exists($last->{'bug'}));
         if ($faq ne '') {  #        if ($faq ne '') {
             $icons .= &Apache::loncommon::help_open_faq($faq);  #            $icons .= &Apache::loncommon::help_open_faq($faq);
         }  #        }
         if ($bug ne '') {  #        if ($bug ne '') {
             $icons .= &Apache::loncommon::help_open_bug($bug);  #            $icons .= &Apache::loncommon::help_open_bug($bug);
         }  #        }
           $icons .= &Apache::loncommon::help_open_menu($color,$component,$component_help,$function,$faq,$bug);
         if ($icons ne '') {          if ($icons ne '') {
             $Str .= $icons.'&nbsp;';              $Str .= $icons.'&nbsp;';
         }          }
Line 1037  returns: nothing Line 1104  returns: nothing
         #          #
         if (defined($component)) {          if (defined($component)) {
             $Str .= '<td align="right" bgcolor="'.$color.'">'.              $Str .= '<td align="right" bgcolor="'.$color.'">'.
                 '<font size="+1">'.&mt($component).'</font>';                  '<font size="+1">'.&mt($component).'</font></td>';
             if (defined($component_help)) {  
                 $Str .=   
                     &Apache::loncommon::help_open_topic($component_help);  
             }  
             $Str.= '</td>';  
         }          }
         $Str .= '</tr></table>'."\n";          $Str .= '</tr></table>'."\n";
         #          #

Removed from v.1.73  
changed lines
  Added in v.1.85


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>