Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.226 and 1.233

version 1.226, 2009/07/02 17:22:33 version 1.233, 2009/08/13 14:54:52
Line 82  sub confirm_success { Line 82  sub confirm_success {
             .'</span>'."\n";              .'</span>'."\n";
    } else {     } else {
       return '<span class="LC_success">'."\n"        return '<span class="LC_success">'."\n"
             .'<img src="/adm/lonIcons/navmap.correct.gif" alt="'.&mt('Ok').'" /> '."\n"              .'<img src="/adm/lonIcons/navmap.correct.gif" alt="'.&mt('OK').'" /> '."\n"
             .$message."\n"              .$message."\n"
             .'</span>'."\n";              .'</span>'."\n";
    }     }
Line 160  sub authorbombs { Line 160  sub authorbombs {
     $url=&Apache::lonnet::declutter($url);      $url=&Apache::lonnet::declutter($url);
     my ($udom,$uname)=($url=~m{^($LONCAPA::domain_re)/($LONCAPA::username_re)/});      my ($udom,$uname)=($url=~m{^($LONCAPA::domain_re)/($LONCAPA::username_re)/});
     my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom);      my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom);
     foreach (keys %bombs) {      foreach my $bomb (keys(%bombs)) {
  if ($_=~/^$udom\/$uname\//) {   if ($bomb =~ /^$udom\/$uname\//) {
     return '<a href="/adm/bombs/'.$url.      return '<a href="/adm/bombs/'.$url.
  '"><img src="'.&Apache::loncommon::lonhttpdurl('/adm/lonMisc/bomb.gif').'" alt="'.&mt('Bomb').'" border="0" /></a>'.   '"><img src="'.&Apache::loncommon::lonhttpdurl('/adm/lonMisc/bomb.gif').'" alt="'.&mt('Bomb').'" border="0" /></a>'.
  &Apache::loncommon::help_open_topic('About_Bombs');   &Apache::loncommon::help_open_topic('About_Bombs');
Line 239  sub get_recent { Line 239  sub get_recent {
 # Begin filling return_hash with any 'always_include' option  # Begin filling return_hash with any 'always_include' option
     my %time_hash = ();      my %time_hash = ();
     my %return_hash = ();      my %return_hash = ();
     foreach my $item (keys %recent) {      foreach my $item (keys(%recent)) {
         my ($thistime,$thisvalue)=(split(/\&/,$recent{$item}));          my ($thistime,$thisvalue)=(split(/\&/,$recent{$item}));
         if ($thistime eq 'always_include') {          if ($thistime eq 'always_include') {
             $return_hash{$item} = &unescape($thisvalue);              $return_hash{$item} = &unescape($thisvalue);
Line 505  ENDJS Line 505  ENDJS
     unshift(@Months,'If you can read this an error occurred');      unshift(@Months,'If you can read this an error occurred');
     if ($includeempty) { $monthselector.="<option value=''></option>"; }      if ($includeempty) { $monthselector.="<option value=''></option>"; }
     for(my $m = 1;$m <=$#Months;$m++) {      for(my $m = 1;$m <=$#Months;$m++) {
         $monthselector .= qq{      <option value="$m" };          $monthselector .= qq{      <option value="$m"};
         $monthselector .= "selected " if ($m-1 eq $month);          $monthselector .= ' selected="selected"' if ($m-1 eq $month);
         $monthselector .= '> '.&mt($Months[$m]).' </option>';          $monthselector .= '> '.&mt($Months[$m]).' </option>'."\n";
     }      }
     $monthselector.= '  </select>';      $monthselector.= '  </select>';
     # Day      # Day
Line 520  ENDJS Line 520  ENDJS
         $hourselector.=qq{<option value=''></option>};          $hourselector.=qq{<option value=''></option>};
     }      }
     for (my $h = 0;$h<24;$h++) {      for (my $h = 0;$h<24;$h++) {
         $hourselector .= qq{<option value="$h" };          $hourselector .= qq{<option value="$h"};
         $hourselector .= "selected " if (defined($hour) && $hour == $h);          $hourselector .= ' selected="selected"' if (defined($hour) && $hour == $h);
         $hourselector .= ">";          $hourselector .= ">";
         my $timest='';          my $timest='';
         if ($h == 0) {          if ($h == 0) {
Line 978  sub Create_PrgWin { Line 978  sub Create_PrgWin {
   
  #the whole function called through timeout is due to issues   #the whole function called through timeout is due to issues
  #in mozilla Read BUG #2665 if you want to know the whole story   #in mozilla Read BUG #2665 if you want to know the whole story
  &r_print($r,'<script type="text/javascript">'.   &r_print($r,&Apache::lonhtmlcommon::scripttag(
         '// <![CDATA['.  
         "var popwin;          "var popwin;
          function openpopwin () {           function openpopwin () {
          popwin=open(\'\',\'popwin\',\'width=400,height=100\');".           popwin=open(\'\',\'popwin\',\'width=400,height=100\');".
Line 990  sub Create_PrgWin { Line 989  sub Create_PrgWin {
       &mt('Starting').'" /><\\/form>'.$end_page.        &mt('Starting').'" /><\\/form>'.$end_page.
               "\');".                "\');".
         "popwin.document.close();}".          "popwin.document.close();}".
         "\nwindow.setTimeout(openpopwin,0)".          "\nwindow.setTimeout(openpopwin,0)"
         '// ]]>'.      ));
         '</script>');  
  $prog_state{'formname'}='popremain';   $prog_state{'formname'}='popremain';
  $prog_state{'inputname'}="remaining";   $prog_state{'inputname'}="remaining";
     } elsif ($type eq 'inline') {      } elsif ($type eq 'inline') {
Line 1025  sub Create_PrgWin { Line 1023  sub Create_PrgWin {
 # update progress  # update progress
 sub Update_PrgWin {  sub Update_PrgWin {
     my ($r,$prog_state,$displayString)=@_;      my ($r,$prog_state,$displayString)=@_;
     &r_print($r,'<script type="text/javascript">'.      &r_print($r,&Apache::lonhtmlcommon::scripttag(
         '// <![CDATA['.  
         $$prog_state{'window'}.'.document.'.          $$prog_state{'window'}.'.document.'.
      $$prog_state{'formname'}.'.'.          $$prog_state{'formname'}.'.'.
      $$prog_state{'inputname'}.'.value="'.          $$prog_state{'inputname'}.'.value="'.
      $displayString.'";'.          $displayString.'";'
         '// ]]>'.      ));
         '</script>');  
     $$prog_state{'laststart'}=&Time::HiRes::time();      $$prog_state{'laststart'}=&Time::HiRes::time();
 }  }
   
Line 1085  sub Increment_PrgWin { Line 1081  sub Increment_PrgWin {
     if ($user_browser eq 'explorer' && $user_os =~ 'mac') {      if ($user_browser eq 'explorer' && $user_os =~ 'mac') {
         $lasttime = '';          $lasttime = '';
     }      }
     &r_print($r,'<script>'.      &r_print($r,&Apache::lonhtmlcommon::scripttag(
         '// <![CDATA['.  
         $$prog_state{'window'}.'.document.'.          $$prog_state{'window'}.'.document.'.
      $$prog_state{'formname'}.'.'.          $$prog_state{'formname'}.'.'.
      $$prog_state{'inputname'}.'.value="'.          $$prog_state{'inputname'}.'.value="'.
      $$prog_state{'done'}.'/'.$$prog_state{'max'}.          $$prog_state{'done'}.'/'.$$prog_state{'max'}.
      ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'.          ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'
         '// ]]>'.      ));
         '</script>');  
     $$prog_state{'laststart'}=&Time::HiRes::time();      $$prog_state{'laststart'}=&Time::HiRes::time();
 }  }
   
Line 1101  sub Increment_PrgWin { Line 1095  sub Increment_PrgWin {
 sub Close_PrgWin {  sub Close_PrgWin {
     my ($r,$prog_state)=@_;      my ($r,$prog_state)=@_;
     if ($$prog_state{'type'} eq 'popup') {      if ($$prog_state{'type'} eq 'popup') {
         &r_print($r,'<script>'.          &r_print($r,&Apache::lonhtmlcommon::scripttag(
             '// <![CDATA['.              'popwin.close()'
             'popwin.close()'.          ));
             '// ]]>'.  
             '</script>'."\n");  
     } elsif ($$prog_state{'type'} eq 'inline') {      } elsif ($$prog_state{'type'} eq 'inline') {
  &Update_PrgWin($r,$prog_state,&mt('Done'));   &Update_PrgWin($r,$prog_state,&mt('Done'));
     }      }
Line 1272  sub htmlareaselectactive { Line 1264  sub htmlareaselectactive {
     my @fields=@_;      my @fields=@_;
     unless (&htmlareabrowser()) { return ''; }      unless (&htmlareabrowser()) { return ''; }
     if (&htmlareablocked()) { return '<br />'.&enablelink(@fields); }      if (&htmlareablocked()) { return '<br />'.&enablelink(@fields); }
     my $output='<script type="text/javascript" defer="1">'      my $output='<script type="text/javascript" defer="1">'."\n"
               .'// <![CDATA[';                .'// <![CDATA['."\n";
     my $lang = &htmlarea_lang();      my $lang = &htmlarea_lang();
     foreach my $field (@fields) {      foreach my $field (@fields) {
  $output.="   $output.="
Line 1287  sub htmlareaselectactive { Line 1279  sub htmlareaselectactive {
 }";  }";
     }      }
     $output.="\nwindow.status='Activated Editfields';\n"      $output.="\nwindow.status='Activated Editfields';\n"
             .'// ]]>'              .'// ]]>'."\n"
             .'</script><br />'.              .'</script><br />'.
  &disablelink(@fields);   &disablelink(@fields);
     return $output;      return $output;
Line 1435  returns: nothing Line 1427  returns: nothing
         unless ($CourseBreadcrumbs) {          unless ($CourseBreadcrumbs) {
             $links = htmltag('ol',  $links, { id => "LC_MenuBreadcrumbs"   });              $links = htmltag('ol',  $links, { id => "LC_MenuBreadcrumbs"   });
         } else {          } else {
             $links = htmltag('ul',  $links, { id => "LC_CourseBreadcrumbs" });              $links = htmltag('ul',  $links, { class => "LC_CourseBreadcrumbs" });
         }          }
   
         if ($component) {          if ($component) {
Line 1461  returns: nothing Line 1453  returns: nothing
     }      }
   
     sub add_breadcrumb {      sub add_breadcrumb {
         push (@Crumbs,@_);          push(@Crumbs,@_);
     }      }
   
 } # End of scope for @Crumbs  } # End of scope for @Crumbs
Line 2117  sub inittags { Line 2109  sub inittags {
 }  }
   
   
   # USAGE: scripttag(scriptcode, [start|end|both]);
   #
   # EXAMPLES: 
   #  - scripttag("alert('Hello World!')", 'both') 
   #    returns:
   #    <script type="text/javascript">
   #    // BEGIN LON-CAPA Internal
   #    alert(Hello World!')
   #    // END LON-CAPA Internal
   #    </script>
   #
   # NOTES:
   # - works currently only for javascripts
   #
   # OUTPUT: 
   # Scriptcode properly enclosed in <script> and CDATA tags (and LC
   # Internal markers if 2nd argument is given)
   sub scripttag {
       my ( $content, $marker ) = @_;
       return unless defined $content;
   
       my $begin = "\n// BEGIN LON-CAPA Internal\n";
       my $end   = "\n// END LON-CAPA Internal\n";
   
       if ($marker) {
           $content  = $begin . $content if $marker eq 'start' or $marker eq 'both';
           $content .= $end              if $marker eq 'end'   or $marker eq 'both';
       }
   
       $content = "\n// <![CDATA[\n$content\n// ]]>\n";
   
       return htmltag('script', $content, {type => 'text/javascript'});
   };
   
   
 ##############################################  ##############################################
 ##############################################  ##############################################
   
Line 2167  sub generate_menu { Line 2194  sub generate_menu {
             # create the markup for the current $link and push it into @links.              # create the markup for the current $link and push it into @links.
             # each entry consists of an image and a text optionally followed               # each entry consists of an image and a text optionally followed 
             # by a help link.              # by a help link.
             push @links, $li->(              push(@links,$li->(
                         $a->(                          $a->(
                             $img->("", {                              $img->("", {
                                 class => "LC_noBorder LC_middle",                                  class => "LC_noBorder LC_middle",
Line 2185  sub generate_menu { Line 2212  sub generate_menu {
                             }).                              }).
                          (defined($$link{help}) ?                            (defined($$link{help}) ? 
                          Apache::loncommon::help_open_topic($$link{help}) : ''),                           Apache::loncommon::help_open_topic($$link{help}) : ''),
                          {class => "LC_menubuttons_inline_text"});                           {class => "LC_menubuttons_inline_text"}));
         }          }
   
         # wrap categorytitle in <h3>, concatenate with           # wrap categorytitle in <h3>, concatenate with 
Line 2195  sub generate_menu { Line 2222  sub generate_menu {
         # such that each element looks like:          # such that each element looks like:
         # <div><h3>title</h3><ul><li>...</li>...</ul></div>          # <div><h3>title</h3><ul><li>...</li>...</ul></div>
         # the category won't be added if there aren't any links          # the category won't be added if there aren't any links
         push @categories,           push(@categories, 
             $div->($h3->(mt($$category{categorytitle}), {class=>"LC_hcell"}).              $div->($h3->(mt($$category{categorytitle}), {class=>"LC_hcell"}).
             $ul->(join('' ,@links),  {class =>"LC_ListStyleNormal" }),              $ul->(join('' ,@links),  {class =>"LC_ListStyleNormal" }),
             {class=>"LC_Box LC_400Box"}) if scalar(@links);              {class=>"LC_Box LC_400Box"})) if scalar(@links);
     }      }
   
     # wrap the joined @categories in another <div> (column layout)      # wrap the joined @categories in another <div> (column layout)

Removed from v.1.226  
changed lines
  Added in v.1.233


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