Diff for /loncom/interface/lonmenu.pm between versions 1.431 and 1.435

version 1.431, 2015/01/19 15:36:01 version 1.435, 2015/06/17 03:57:15
Line 288  sub primary_menu { Line 288  sub primary_menu {
                     push(@primsub,$item);                      push(@primsub,$item);
                 }                  }
                 if (@primsub > 0) {                  if (@primsub > 0) {
                       if ($title eq 'Personal' && $env{'user.name'} && $env{'user.domain'} ) {
                           $title = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'});
                       } else {
                           $title = &mt($title);
                       }
                     $menu{$position} .= &create_submenu($link,$target,$title,\@primsub,1);                      $menu{$position} .= &create_submenu($link,$target,$title,\@primsub,1);
                 } elsif ($link) {                  } elsif ($link) {
                     $menu{$position} .= '<li><a href="'.$link.'" target="'.$target.'">'.&mt($title).'</a></li>';                      $menu{$position} .= '<li><a href="'.$link.'" target="'.$target.'">'.&mt($title).'</a></li>';
Line 510  sub create_submenu { Line 515  sub create_submenu {
     if ($target ne '') {      if ($target ne '') {
         $disptarget = ' target="'.$target.'"';          $disptarget = ' target="'.$target.'"';
     }      }
     my $name;  
     if ($title eq 'Personal') {  
         if ($env{'user.name'} && $env{'user.domain'}) {  
             $name = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'});  
         } else {  
             $name = &mt($title);  
         }  
     } else {  
         $name = &mt($title);  
     }  
     my $menu = '<li class="LC_hoverable">'.      my $menu = '<li class="LC_hoverable">'.
                '<a href="'.$link.'"'.$disptarget.'>'.                 '<a href="'.$link.'"'.$disptarget.'>'.
                '<span class="LC_nobreak">'.$name.                 '<span class="LC_nobreak">'.$title.
                '<span class="LC_fontsize_small" style="font-weight:normal;">'.                 '<span class="LC_fontsize_small" style="font-weight:normal;">'.
                ' &#9660;</span></span></a>'.                 ' &#9660;</span></span></a>'.
                '<ul>';                 '<ul>';
Line 776  sub innerregister { Line 771  sub innerregister {
             my $currdir = '/priv/'.$udom.'/'.$uname.'/'.$thisdisfn;              my $currdir = '/priv/'.$udom.'/'.$uname.'/'.$thisdisfn;
             if ($currdir =~ m-/$-) {              if ($currdir =~ m-/$-) {
                 $is_const_dir = 1;                  $is_const_dir = 1;
                   if ($thisdisfn eq '') {
                       $is_const_dir = 2;
                   }
             } else {              } else {
                 $currdir =~ s|[^/]+$||;                  $currdir =~ s|[^/]+$||;
  my $cleandisfn = &Apache::loncommon::escape_single($thisdisfn);   my $cleandisfn = &Apache::loncommon::escape_single($thisdisfn);
Line 927  ENDMENUITEMS Line 925  ENDMENUITEMS
             &advtools_crumbs(@inlineremote);              &advtools_crumbs(@inlineremote);
         }          }
     }      }
       my ($topic_help,$topic_help_text);
       if ($is_const_dir == 2) {
           if ((($ENV{'SERVER_PORT'} == 443) || 
                ($Apache::lonnet::protocol{$Apache::lonnet::perlvar{'lonHostID'}} eq 'https')) && 
               (&Apache::lonnet::usertools_access($env{'user.name'},$env{'user.domain'},'webdav'))) {
               $topic_help = 'Authoring_WebDAV,Authoring_WebDAV_Mac_10v6,Authoring_WebDAV_Mac_10v10,'.
                             'Authoring_WebDAV_Windows_v7,Authoring_WebDAV_Linux_Centos';
               $topic_help_text = 'About WebDAV access';
           }
       }
     return   &Apache::lonhtmlcommon::scripttag('', 'start')      return   &Apache::lonhtmlcommon::scripttag('', 'start')
            . &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0)             . &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'','','','',$topic_help,$topic_help_text)
            . &Apache::lonhtmlcommon::scripttag('', 'end');             . &Apache::lonhtmlcommon::scripttag('', 'end');
 }  }
   
Line 1536  function toggleCountdown() { Line 1543  function toggleCountdown() {
 END  END
 }  }
   
   # This creates a "done button" for timed events.  The confirmation box is a jQuery
   # dialog widget.  Clicking OK will set (LC_interval_done = 'true') which is checked in 
   # lonhomework.pm.
   sub done_button_js {
       my ($type,$height) = @_;
       if ($height !~ /^\d+$/) {
           $height = 320;
       }
       my %lt = &Apache::lonlocal::texthash(
                    title    => 'WARNING!',
                    button   => 'Done',
                    preamble => 'You are trying to end this timed event early.',
                    map      => 'Confirming that you are done will cause the time to expire and prevent you from changing any answers in the current folder.',
                    resource => 'Confirming that you are done will cause the time to expire for this question, and prevent you from changing your answer(s).', 
                    ok       => 'Click "OK" if you are completely finished.',
                    cancel   => 'Click "Cancel" to continue working.',
       );
       my $confirm;
       if (($type eq 'map') || ($type eq 'resource')) {
           $confirm = $lt{'preamble'}.' '.$lt{$type}.' '.$lt{'ok'}.' '.$lt{'cancel'};
       }
       if ($confirm) {
           return <<END;
   
   <form method="post" name="LCdoneButton" action="">
       <input type="hidden" name="LC_interval_done" value="" />
       <button id="LC_done-confirm-opener" type="button">$lt{'button'}</button>
   </form>
   
   <div id="LC_done-confirm" title="$lt{'title'}">
       <p>$confirm</p>
   </div>
   
   <script type="text/javascript">
   // <![CDATA[
   \$( "#LC_done-confirm" ).dialog({ autoOpen: false });
   \$( "#LC_done-confirm-opener" ).click(function() {
       \$( "#LC_done-confirm" ).dialog( "open" );
       \$( "#LC_done-confirm" ).dialog({
         resizable: false,
         height: $height,
         modal: true,
         buttons: {
           "OK": function() {
               \$( this ).dialog( "close" );
               \$( '[name="LC_interval_done"]' )[0].value = 'true';
               \$( '[name="LCdoneButton"]' )[0].submit();
           },
           Cancel: function() {
             \$( this ).dialog( "close" );
           }
         }    
       })
   });
   // ]]>
   </script>
   
   END
       } else {
           return;
       }
   }
   
 sub utilityfunctions {  sub utilityfunctions {
     my ($httphost) = @_;      my ($httphost) = @_;
     my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0]));      my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0]));
Line 1785  sub roles_selector { Line 1855  sub roles_selector {
     my $now = time;      my $now = time;
     my (%courseroles,%seccount,%courseprivs);      my (%courseroles,%seccount,%courseprivs);
     my $is_cc;      my $is_cc;
     my ($js,$form,$switcher,$switchtext);      my ($js,$form,$switcher);
     my $ccrole;      my $ccrole;
     if ($crstype eq 'Community') {      if ($crstype eq 'Community') {
         $ccrole = 'co';          $ccrole = 'co';
Line 1873  sub roles_selector { Line 1943  sub roles_selector {
             }              }
         }          }
     }      }
     $switchtext = 'Switch role'; # do not translate here  
     my @roles_order = ($ccrole,'in','ta','ep','ad','st');      my @roles_order = ($ccrole,'in','ta','ep','ad','st');
     my $numdiffsec;      my $numdiffsec;
     if (keys(%seccount) == 1) {      if (keys(%seccount) == 1) {
Line 1929  sub roles_selector { Line 1998  sub roles_selector {
             }              }
         }          }
         if (@submenu > 0) {          if (@submenu > 0) {
             $switcher = &create_submenu('','',$switchtext,\@submenu);              $switcher = &create_submenu('','',&mt('Switch role'),\@submenu);
         }          }
     }      }
     return ($js,$form,$switcher);      return ($js,$form,$switcher);
Line 2211  sub countdown_timer { Line 2280  sub countdown_timer {
         if (($duedate && $duedate > time) ||          if (($duedate && $duedate > time) ||
             (!$duedate && $hastimeleft) ||              (!$duedate && $hastimeleft) ||
             ($slot_name ne '' && $slothastime)) {              ($slot_name ne '' && $slothastime)) {
             my ($collapse,$expand,$alttxt,$title,$currdisp);              my ($collapse,$expand,$alttxt,$title,$currdisp,$donebutton);
             if ((@interval > 1 && $hastimeleft) ||              if ((@interval > 1 && $hastimeleft) ||
                 ($type eq 'Task' && $slothastime)) {                  ($type eq 'Task' && $slothastime)) {
                 $currdisp = 'inline';                  $currdisp = 'inline';
                 $collapse = '&#9658;&nbsp;';                  $collapse = '&#9658;&nbsp;';
                   if ((@interval > 1) && ($hastimeleft)) {
                       $donebutton = &done_button_js($interval[1]);
                   }
             } else {              } else {
                 $currdisp = 'none';                  $currdisp = 'none';
                 $expand = '&#9668;&nbsp;';                  $expand = '&#9668;&nbsp;';
Line 2225  sub countdown_timer { Line 2297  sub countdown_timer {
                 $title = $alttxt.'&nbsp;';                  $title = $alttxt.'&nbsp;';
             }              }
             my $desc = &mt('Countdown to due date/time');              my $desc = &mt('Countdown to due date/time');
             return <<END;  
   
               return <<END;
   $donebutton
 <a href="javascript:toggleCountdown();" class="LC_menubuttons_link">  <a href="javascript:toggleCountdown();" class="LC_menubuttons_link">
 <span id="ddcountcollapse" class="LC_menubuttons_inline_text">  <span id="ddcountcollapse" class="LC_menubuttons_inline_text">
 $collapse  $collapse

Removed from v.1.431  
changed lines
  Added in v.1.435


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