Diff for /loncom/interface/lonmenu.pm between versions 1.285 and 1.289

version 1.285, 2009/10/13 13:18:25 version 1.289, 2009/10/16 00:46:01
Line 113  The javascript is usually similar to "go Line 113  The javascript is usually similar to "go
   
 =item get_nav_status()  =item get_nav_status()
   
 =item convert_menu_function()  
   
 FIXME this needs to move into mydesktab and the other locations   
 the text is generated  
   
 =item hidden_button_check()  =item hidden_button_check()
   
 =item roles_selector()  =item roles_selector()
Line 200  sub primary_menu { Line 195  sub primary_menu {
 sub secondary_menu {  sub secondary_menu {
     my $menu;      my $menu;
   
       my $crstype = &Apache::loncommon::course_type();
       my $canedit = &Apache::lonnet::allowed('mdc', $env{'request.course.id'});
       my $canviewgrps = &Apache::lonnet::allowed('vcg', $env{'request.course.id'}
                      . ($env{'request.course.sec'} ? "/$env{'request.course.sec'}"
                                                    : '')); 
       my $showlink = &show_return_link();
       my %groups = &Apache::lonnet::get_active_groups(
                        $env{'user.domain'}, $env{'user.name'},
                        $env{'course.' . $env{'request.course.id'} . '.domain'},
                        $env{'course.' . $env{'request.course.id'} . '.num'});
     foreach my $menuitem (@secondary_menu) {      foreach my $menuitem (@secondary_menu) {
         # evaluate conditions           # evaluate conditions 
         next if    $$menuitem[4]   ne 'always'          next if    $$menuitem[4]   ne 'always'
                 && !$env{'request.course.id'};                  && !$env{'request.course.id'};
         next if    $$menuitem[4]   eq 'showreturn'          next if    $$menuitem[4]   eq 'showreturn'
                 && !show_return_link()                   && !$showlink
                 && !($env{'request.state'} eq 'construct');                  && !($env{'request.state'} eq 'construct');
         next if    $$menuitem[4]   =~ /^mdc/          next if    $$menuitem[4]   =~ /^mdc/
                 && !Apache::lonnet::allowed('mdc', $env{'request.course.id'});                  && !$canedit;
         next if    $$menuitem[4]   =~ /nogrp$/          next if    $$menuitem[4]  eq 'mdcCourse'
                 && Apache::loncommon::course_type() eq 'Group';                  && $crstype eq 'Community';
         next if    $$menuitem[4]   =~ /group$/          next if    $$menuitem[4]  eq 'mdcCommunity'
                 && Apache::loncommon::course_type() ne 'Group';                  && $crstype ne 'Community';
         next if    $$menuitem[4]   eq 'remotenav'          next if    $$menuitem[4]  =~ /^remotenav/
                 && $env{'environment.remotenavmap'} ne 'on';                  && $env{'environment.remotenavmap'} ne 'on';
         next if    $$menuitem[4]   eq 'noremotenav'          next if    $$menuitem[4]  =~ /noremotenav/
                 && $env{'environment.remotenavmap'} eq 'on';                  && $env{'environment.remotenavmap'} eq 'on';
         next if    $$menuitem[4]   =~ /showgroups$/          next if    $$menuitem[4]   =~ /showgroups$/
                 && !Apache::lonnet::allowed('vcg', $env{'request.course.id'}                  && $canviewgrps
                    . ($env{'request.course.sec'} ? "/$env{'request.course.sec'}"                  && !%groups;
                                                  : ''))  
                 && !Apache::lonnet::get_active_groups(  
                    $env{'user.domain'}, $env{'user.name'},  
                    $env{'course.' . $env{'request.course.id'} . '.domain'},  
                    $env{'course.' . $env{'request.course.id'} . '.num'});  
   
   
         if($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) {           if ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) {
             # special treatment for role selector              # special treatment for role selector
             my $roles_selector = roles_selector(              my $roles_selector = roles_selector(
                         $env{'course.' . $env{'request.course.id'} . '.domain'},                          $env{'course.' . $env{'request.course.id'} . '.domain'},
Line 280  sub initlittle { Line 279  sub initlittle {
                                        'login' => 'Log In',                                         'login' => 'Log In',
        'launch' => 'Launch Remote Control',         'launch' => 'Launch Remote Control',
                                        'groups' => 'Groups',                                         'groups' => 'Groups',
                                        'gdoc' => 'Group Documents',                                         'gdoc' => 'Community Documents',
                                        );                                         );
 }  }
   
Line 381  ENDINLINEMENU Line 380  ENDINLINEMENU
     $navmaps=(<<ENDNAV);      $navmaps=(<<ENDNAV);
 <li><a href="$link" target="_top">$lt{'nav'}</a></li>  <li><a href="$link" target="_top">$lt{'nav'}</a></li>
 ENDNAV  ENDNAV
             my $is_group = (&Apache::loncommon::course_type() eq 'Group');              my $is_community = 
                   (&Apache::loncommon::course_type() eq 'Community');
     if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {      if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {
                 my $text = ($is_group) ? $lt{'gdoc'} : $lt{'docs'};                  my $text = ($is_community) ? $lt{'gdoc'} : $lt{'docs'};
  $docs=(<<ENDDOCS);   $docs=(<<ENDDOCS);
 <li><a href="/adm/coursedocs" target="_top">$text</a></li>  <li><a href="/adm/coursedocs" target="_top">$text</a></li>
 ENDDOCS  ENDDOCS
Line 519  sub innerregister { Line 519  sub innerregister {
         $newmail= 'swmenu.setstatus("you have","messages");';          $newmail= 'swmenu.setstatus("you have","messages");';
     }       } 
   
     my $breadcrumb;      my ($breadcrumb,$separator);
     if ($noremote      if ($noremote
      && ($env{'request.symb'})        && ($env{'request.symb'}) 
      && ($env{'request.course.id'})) {       && ($env{'request.course.id'})) {
Line 529  sub innerregister { Line 529  sub innerregister {
   
         my $maptitle = &Apache::lonnet::gettitle($mapurl);          my $maptitle = &Apache::lonnet::gettitle($mapurl);
         my $restitle = &Apache::lonnet::gettitle(&Apache::lonnet::symbread());          my $restitle = &Apache::lonnet::gettitle(&Apache::lonnet::symbread());
         my @crumbs = ({text  => "Course Content",           my @crumbs = ({text  => "Course Contents", 
                        href  => "Javascript:gonav('/adm/navmaps')"},                          href  => "Javascript:gonav('/adm/navmaps')"});
                       {text  => '...',  
                        no_mt => 1});          if ($mapurl ne $env{'course.'.$env{'request.course.id'}.'.url'}) { 
               push(@crumbs, {text  => '...',
                              no_mt => 1});
           }
   
         push @crumbs, {text => $maptitle, no_mt => 1} if ($maptitle           push @crumbs, {text => $maptitle, no_mt => 1} if ($maptitle 
                                                    && $maptitle ne 'default.sequence'                                                      && $maptitle ne 'default.sequence' 
Line 543  sub innerregister { Line 546  sub innerregister {
         Apache::lonhtmlcommon::clear_breadcrumbs();          Apache::lonhtmlcommon::clear_breadcrumbs();
         Apache::lonhtmlcommon::add_breadcrumb(@crumbs);          Apache::lonhtmlcommon::add_breadcrumb(@crumbs);
         $breadcrumb .= Apache::lonhtmlcommon::breadcrumbs(undef,undef,0);          $breadcrumb .= Apache::lonhtmlcommon::breadcrumbs(undef,undef,0);
    unless (($env{'request.state'} eq 'edit') || ($newmail) ||
    ($env{'request.state'} eq 'construct') ||
    ($env{'form.register'})) {
               $separator = &Apache::loncommon::head_subbox();
           }
         #          #
     }      }
     if ($env{'request.state'} eq 'construct') {      if ($env{'request.state'} eq 'construct') {
Line 831  $tablestart Line 839  $tablestart
 $inlinebuttons  $inlinebuttons
 $tableend  $tableend
 $newmail  $newmail
   $separator
 <script type="text/javascript">  <script type="text/javascript">
 // END LON-CAPA Internal  // END LON-CAPA Internal
 </script>  </script>
Line 1317  sub rawconfig { Line 1326  sub rawconfig {
         $prt=~s/\$requested_domain/$requested_domain/g;          $prt=~s/\$requested_domain/$requested_domain/g;
         if ($category_names{$cat}!~/\w/) { $cat='oth'; }          if ($category_names{$cat}!~/\w/) { $cat='oth'; }
         my $type = &Apache::loncommon::course_type();          my $type = &Apache::loncommon::course_type();
 #  
 # I don't think we support this  
 #  
 #        if ($type eq 'Group') {  
 #            $desc = &convert_menu_function($desc,$type);  
 #        }  
         if ($pro eq 'clear') {          if ($pro eq 'clear') {
     $output.=&clear($row,$col);      $output.=&clear($row,$col);
         } elsif ($pro eq 'any') {          } elsif ($pro eq 'any') {
Line 1714  sub get_nav_status { Line 1717  sub get_nav_status {
     return $navstatus;      return $navstatus;
 }  }
   
 #FIXME this needs to move into mydesk.tab and the other locations   
 # the text is generated  
 #  
 # We currently do not support this anyway.  
 #  
 #sub convert_menu_function {  
 #    my ($rolename,$type) = @_;  
 #    if ($type eq 'Group') {  
 #        $rolename =~ s/student/member/g;  
 #        $rolename =~ s/group/team/g;  
 #        $rolename =~ s/course/group/g;  
 #        $rolename =~ s/Course/Group/g;  
 #    }  
 #    return $rolename;  
 #}  
   
 sub hidden_button_check {  sub hidden_button_check {
     my $hidden;      my $hidden;
     if ($env{'request.course.id'} eq '') {      if ($env{'request.course.id'} eq '') {
Line 1744  sub hidden_button_check { Line 1731  sub hidden_button_check {
   
 sub roles_selector {  sub roles_selector {
     my ($cdom,$cnum) = @_;      my ($cdom,$cnum) = @_;
       my $crstype = $env{'course.'.$env{'request.course.id'}.'.type'};
       if ($crstype eq '') {
           $crstype = 'Course';
       }
     my $now = time;      my $now = time;
     my (%courseroles,%seccount);      my (%courseroles,%seccount);
     my $is_cc;      my $is_cc;
Line 1793  sub roles_selector { Line 1784  sub roles_selector {
             }              }
         }          }
     }      }
       my $switchtext;
       if ($crstype eq 'Community') {
           $switchtext = &mt('Switch community role to...')
       } else {
           $switchtext = &mt('Switch course role to...')
       }
     my @roles_order = ('cc','in','ta','ep','ad','st');      my @roles_order = ('cc','in','ta','ep','ad','st');
     if (keys(%courseroles) > 1) {      if (keys(%courseroles) > 1) {
         $role_selector = &jump_to_role($cdom,$cnum,\%seccount,\%courseroles);          $role_selector = &jump_to_role($cdom,$cnum,\%seccount,\%courseroles);
         $role_selector .= '<form name="rolechooser" method="post" action="/adm/roles">          $role_selector .= '<form name="rolechooser" method="post" action="/adm/roles">
                           <select name="switchrole" onchange="javascript:adhocRole('."'switchrole'".')">';                            <select name="switchrole" onchange="javascript:adhocRole('."'switchrole'".')">';
         $role_selector .= '<option value="">'.&mt('Switch course role to...').'</option>';          $role_selector .= '<option value="">'.$switchtext.'</option>';
         foreach my $role (@roles_order) {          foreach my $role (@roles_order) {
             if (defined($courseroles{$role})) {              if (defined($courseroles{$role})) {
                 $role_selector .= "\n".'<option value="'.$role.'">'.&Apache::lonnet::plaintext($role).'</option>';                   $role_selector .= "\n".'<option value="'.$role.'">'.&Apache::lonnet::plaintext($role).'</option>'; 

Removed from v.1.285  
changed lines
  Added in v.1.289


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