Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.55 and 1.61

version 1.55, 2004/02/20 17:03:38 version 1.61, 2004/03/09 15:06:48
Line 201  Also, to be explicit, a value of 'now' a Line 201  Also, to be explicit, a value of 'now' a
 Additional html/javascript to be associated with each element in  Additional html/javascript to be associated with each element in
 the date_setter.  See lonparmset for example usage.  the date_setter.  See lonparmset for example usage.
   
   =item $includeempty 
   
   =item $state
   
   Specifies the initial state of the form elements.  Either 'disabled' or empty.
   Defaults to empty, which indiciates the form elements are not disabled. 
   
 =back  =back
   
 Bugs  Bugs
Line 212  The method used to restrict user input w Line 219  The method used to restrict user input w
 ##############################################  ##############################################
 ##############################################  ##############################################
 sub date_setter {  sub date_setter {
     my ($formname,$dname,$currentvalue,$special,$includeempty) = @_;      my ($formname,$dname,$currentvalue,$special,$includeempty,$state) = @_;
       if (! defined($state) || $state ne 'disabled') {
           $state = '';
       }
     if (! defined($currentvalue) || $currentvalue eq 'now') {      if (! defined($currentvalue) || $currentvalue eq 'now') {
  unless ($includeempty) {   unless ($includeempty) {
     $currentvalue = time;      $currentvalue = time;
Line 261  sub date_setter { Line 271  sub date_setter {
         }          }
     }      }
   
       function $dname\_disable() {
           document.$formname.$dname\_month.disabled=true;
           document.$formname.$dname\_day.disabled=true;
           document.$formname.$dname\_year.disabled=true;
           document.$formname.$dname\_hour.disabled=true;
           document.$formname.$dname\_minute.disabled=true;
           document.$formname.$dname\_second.disabled=true;
       }
   
       function $dname\_enable() {
           document.$formname.$dname\_month.disabled=false;
           document.$formname.$dname\_day.disabled=false;
           document.$formname.$dname\_year.disabled=false;
           document.$formname.$dname\_hour.disabled=false;
           document.$formname.$dname\_minute.disabled=false;
           document.$formname.$dname\_second.disabled=false;        
       }
   
     function $dname\_opencalendar() {      function $dname\_opencalendar() {
        var calwin=window.open(          if (! document.$formname.$dname\_month.disabled) {
               var calwin=window.open(
 "/adm/announcements?pickdate=yes&formname=$formname&element=$dname&month="+  "/adm/announcements?pickdate=yes&formname=$formname&element=$dname&month="+
 document.$formname.$dname\_month.value+"&year="+  document.$formname.$dname\_month.value+"&year="+
 document.$formname.$dname\_year.value,  document.$formname.$dname\_year.value,
              "LONCAPAcal",               "LONCAPAcal",
               "height=350,width=350,scrollbars=yes,resizable=yes,menubar=no");                "height=350,width=350,scrollbars=yes,resizable=yes,menubar=no");
           }
   
     }      }
 </script>  </script>
 ENDJS  ENDJS
     $result .= "  <nobr><select name=\"$dname\_month\" ".$special.' '.      $result .= "  <nobr><select name=\"$dname\_month\" ".$special.' '.
           $state.' '.
         "onChange=\"javascript:$dname\_checkday()\" >\n";          "onChange=\"javascript:$dname\_checkday()\" >\n";
     my @Months = qw/January February  March     April   May      June       my @Months = qw/January February  March     April   May      June 
                     July    August    September October November December/;                      July    August    September October November December/;
Line 285  ENDJS Line 316  ENDJS
         $result .= "> ".&mt($Months[$m])." </option>\n";          $result .= "> ".&mt($Months[$m])." </option>\n";
     }      }
     $result .= "  </select>\n";      $result .= "  </select>\n";
     $result .= "  <input type=\"text\" name=\"$dname\_day\" ".      $result .= "  <input type=\"text\" name=\"$dname\_day\" ".$state.' '.
             "value=\"$mday\" size=\"3\" ".$special.' '.              "value=\"$mday\" size=\"3\" ".$special.' '.
             "onChange=\"javascript:$dname\_checkday()\" />\n";              "onChange=\"javascript:$dname\_checkday()\" />\n";
     $result .= "  <input type=\"year\" name=\"$dname\_year\" ".      $result .= "  <input type=\"year\" name=\"$dname\_year\" ".$state.' '.
             "value=\"$year\" size=\"5\" ".$special.' '.              "value=\"$year\" size=\"5\" ".$special.' '.
             "onChange=\"javascript:$dname\_checkday()\" />\n";              "onChange=\"javascript:$dname\_checkday()\" />\n";
     $result .= "&nbsp;&nbsp;";      $result .= "&nbsp;&nbsp;";
     $result .= "  <select name=\"$dname\_hour\" ".$special." >\n";      $result .= "  <select name=\"$dname\_hour\" ".$special." ".$state.' '.">\n";
     if ($includeempty) { $result.="<option value=''></option>"; }      if ($includeempty) { $result.="<option value=''></option>"; }
     for (my $h = 0;$h<24;$h++) {      for (my $h = 0;$h<24;$h++) {
         $result .= "      <option value=\"$h\" ";          $result .= "      <option value=\"$h\" ";
Line 313  ENDJS Line 344  ENDJS
     }       } 
     $result .= "  </select>\n";      $result .= "  </select>\n";
     $result .= "  <input type=\"text\" name=\"$dname\_minute\" ".$special.' '.      $result .= "  <input type=\"text\" name=\"$dname\_minute\" ".$special.' '.
           $state.' '.
         "value=\"$min\" size=\"3\" /> m\n";          "value=\"$min\" size=\"3\" /> m\n";
     $result .= "  <input type=\"text\" name=\"$dname\_second\" ".$special.' '.      $result .= "  <input type=\"text\" name=\"$dname\_second\" ".$special.' '.
           $state.' '.
         "value=\"$sec\" size=\"3\" /> s\n";          "value=\"$sec\" size=\"3\" /> s\n";
     $result .= "<a href=\"javascript:$dname\_opencalendar()\">".      $result .= "<a href=\"javascript:$dname\_opencalendar()\">".
     &mt('Select Date')."</a></nobr>\n<!-- end $dname date setting form -->\n";      &mt('Select Date')."</a></nobr>\n<!-- end $dname date setting form -->\n";
Line 676  sub Create_PrgWin { Line 709  sub Create_PrgWin {
  }   }
  if (!$inputname) {   if (!$inputname) {
     $prog_state{'inputname'}=&get_uniq_name();      $prog_state{'inputname'}=&get_uniq_name();
     &r_print($r,'<input type="text" name="'.$prog_state{'inputname'}.      &r_print($r,$heading.' <input type="text" name="'.$prog_state{'inputname'}.
      '" size="'.$width.'" />');       '" size="'.$width.'" />');
  } else {   } else {
     $prog_state{'inputname'}=$inputname;      $prog_state{'inputname'}=$inputname;
Line 805  sub crumbs { Line 838  sub crumbs {
 # ------------------------------------------------- Output headers for HTMLArea  # ------------------------------------------------- Output headers for HTMLArea
   
 sub htmlareaheaders {  sub htmlareaheaders {
     unless (&htmlareabrowser()) { return ''; }      unless (&htmlareablocked()) { return ''; }
     my $lang='en';      my $lang='en';
     return (<<ENDHEADERS);      return (<<ENDHEADERS);
   <script type="text/javascript">
       _editor_url="/htmlarea/";
   </script>
 <script type="text/javascript" src="/htmlarea/htmlarea.js"></script>  <script type="text/javascript" src="/htmlarea/htmlarea.js"></script>
 <script type="text/javascript" src="/htmlarea/lang/$lang.js"></script>  <script type="text/javascript" src="/htmlarea/lang/$lang.js"></script>
 <script type="text/javascript" src="/htmlarea/dialog.js"></script>  <script type="text/javascript" src="/htmlarea/dialog.js"></script>
Line 820  ENDHEADERS Line 856  ENDHEADERS
 # ---------------------------------------------------------- Script to activate  # ---------------------------------------------------------- Script to activate
   
 sub htmlareaactive {  sub htmlareaactive {
     unless (&htmlareabrowser()) { return ''; }      unless (&htmlareablocked()) { return ''; }
     return (<<ENDSCRIPT);      return (<<ENDSCRIPT);
 <script type="text/javascript" defer="1">  <script type="text/javascript" defer="1">
     HTMLArea.replaceAll();      HTMLArea.replaceAll();
Line 828  sub htmlareaactive { Line 864  sub htmlareaactive {
 ENDSCRIPT  ENDSCRIPT
 }  }
   
   # --------------------------------------------------------------------- Blocked
   
   sub htmlareablocked {
       unless (&htmlareabrowser()) { return ''; }
       return 1;
   }
   
 # ---------------------------------------- Browser capable of running HTMLArea?  # ---------------------------------------- Browser capable of running HTMLArea?
   
 sub htmlareabrowser {  sub htmlareabrowser {
Line 876  returns: nothing Line 919  returns: nothing
 ############################################################  ############################################################
 {  {
     my @Crumbs;      my @Crumbs;
       
     sub breadcrumbs {      sub breadcrumbs {
         my ($color,$component,$component_help,$function,$domain) = @_;          my ($color,$component,$component_help,$function,$domain) = @_;
         if (! defined($color)) {          if (! defined($color)) {
Line 891  returns: nothing Line 934  returns: nothing
             '<table width="100%" border="0" cellpadding="0" cellspacing="0">'.              '<table width="100%" border="0" cellpadding="0" cellspacing="0">'.
             '<tr><td bgcolor="'.$color.'">'.              '<tr><td bgcolor="'.$color.'">'.
             '<font size="-1">';              '<font size="-1">';
         # The last breadcrumb does not have a link, so handle it seperately.          #
           # Make the faq and bug data cascade
           my $faq = '';
           my $bug = '';
           # The last breadcrumb does not have a link, so handle it separately.
         my $last = pop(@Crumbs);          my $last = pop(@Crumbs);
           #
         # The first one should be the course, I guess.          # The first one should be the course, I guess.
         if (exists($ENV{'request.course.id'})) {          if (exists($ENV{'request.course.id'})) {
             my $cid = $ENV{'request.course.id'};              my $cid = $ENV{'request.course.id'};
             unshift(@Crumbs,{href=>'/adm/menu',              unshift(@Crumbs,{
                                href=>'/adm/menu',
                              title=>'Go to main menu',                               title=>'Go to main menu',
                              text=>$ENV{'course.'.$cid.'.description'},                               text=>$ENV{'course.'.$cid.'.description'},
                          });                              });
         }          }
         my $links .=           my $links .= 
             join('-&gt;',              join('-&gt;',
                  map {                   map {
                      '<a href="'.$_->{'href'}.'" title="'.$_->{'title'}.'">'.                       $faq = $_->{'faq'} if (exists($_->{'faq'}));
                          $_->{'text'}.'</a>'                        $bug = $_->{'bug'} if (exists($_->{'bug'}));
                        '<a href="'.$_->{'href'}.'" title="'.&mt($_->{'title'}).'">'.
                            &mt($_->{'text'}).'</a>' 
                      } @Crumbs                       } @Crumbs
                  );                   );
         $links .= '-&gt;' if ($links ne '');          $links .= '-&gt;' if ($links ne '');
         $links .= '<b>'.$last->{'text'}.'</b>';          $links .= '<b>'.$last->{'text'}.'</b>';
         #          #
         my $icons = '';          my $icons = '';
         if (exists($last->{'faq'})) {          $faq = $last->{'faq'} if (exists($last->{'faq'}));
             $icons .= &Apache::loncommon::help_open_faq($last->{'faq'});          $bug = $last->{'bug'} if (exists($last->{'bug'}));
           if ($faq ne '') {
               $icons .= &Apache::loncommon::help_open_faq($faq);
         }          }
         if (exists($last->{'bug'})) {          if ($bug ne '') {
             $icons .= &Apache::loncommon::help_open_bug($last->{'bug'});              $icons .= &Apache::loncommon::help_open_bug($bug);
         }          }
         if ($icons ne '') {          if ($icons ne '') {
             $Str .= $icons.'&nbsp;';              $Str .= $icons.'&nbsp;';
Line 926  returns: nothing Line 979  returns: nothing
         #          #
         if (defined($component)) {          if (defined($component)) {
             $Str .= '<td align="right" bgcolor="'.$color.'">'.              $Str .= '<td align="right" bgcolor="'.$color.'">'.
                 '<font size="+1">'.$component.'</font>';                  '<font size="+1">'.&mt($component).'</font>';
             if (defined($component_help)) {              if (defined($component_help)) {
                 $Str .=                   $Str .= 
                     &Apache::loncommon::help_open_topic($component_help);                      &Apache::loncommon::help_open_topic($component_help);
Line 950  returns: nothing Line 1003  returns: nothing
         push (@Crumbs,@_);          push (@Crumbs,@_);
     }      }
   
 }  } # End of scope for @Crumbs
   
 ############################################################  ############################################################
 ############################################################  ############################################################

Removed from v.1.55  
changed lines
  Added in v.1.61


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