Diff for /loncom/interface/lonmainmenu.pm between versions 1.8.4.2 and 1.8.4.6

version 1.8.4.2, 2009/12/07 18:47:31 version 1.8.4.6, 2010/01/05 15:27:31
Line 67  sub handler { Line 67  sub handler {
 $utility  $utility
 </script>  </script>
 ENDSCRIPT  ENDSCRIPT
     } elsif ($custommenu) {      } elsif (($custommenu) || ($env{'user.domain'} eq 'gcitest')) {
           my $role = 'st';
           if ($custommenu) {
               $role = 'cc';
           }
         my $switcher_js;          my $switcher_js;
         my %courses = &Apache::loncommon::existing_gcitest_courses();          my %courses = &Apache::loncommon::existing_gcitest_courses($role);
         my $numcourses = keys(%courses);          my $numcourses = keys(%courses);
         if ($numcourses > 0) {          if ($numcourses > 0) {
             $switcher = &gcitest_switcher(%courses);              $switcher = &gcitest_switcher($role,%courses);
             my $current;              my $current;
             if ($env{'request.course.id'}) {              if ($env{'request.course.id'}) {
                 $current = 'cc./'.$env{'course.'.$env{'request.course.id'}.'.domain'}.                  $current = $role.'./'.$env{'course.'.$env{'request.course.id'}.'.domain'}.
                            '/'.$env{'course.'.$env{'request.course.id'}.'.num'};                             '/'.$env{'course.'.$env{'request.course.id'}.'.num'};
             }              }
             $switcher_js = &gcitest_switcher_js($current,$numcourses);              $switcher_js = &gcitest_switcher_js($current,$numcourses);
             $script_tag= <<"ENDSCRIPT";              $script_tag= <<"ENDSCRIPT";
 <script type="text/javascript">  <script type="text/javascript">
   // <![CDATA[
   
 $switcher_js  $switcher_js
   
   // ]]>
 </script>  </script>
 ENDSCRIPT  ENDSCRIPT
         }          }
Line 97  ENDSCRIPT Line 105  ENDSCRIPT
                                               {'bread_crumbs' => 1}));                                                {'bread_crumbs' => 1}));
     if ($custommenu) {      if ($custommenu) {
         $r->print(&Apache::lonmenu::inlinemenu('gcicustom',$switcher).$form);          $r->print(&Apache::lonmenu::inlinemenu('gcicustom',$switcher).$form);
       } elsif ($env{'user.domain'} eq 'gcitest') {
           $r->print(&Apache::lonmenu::inlinemenu('gcistudent',$switcher).$form);
     } else {      } else {
         $r->print(&Apache::lonmenu::inlinemenu().$form);          $r->print(&Apache::lonmenu::inlinemenu().$form);
     }      }
Line 105  ENDSCRIPT Line 115  ENDSCRIPT
 }  }
   
 sub gcitest_switcher {  sub gcitest_switcher {
     my (%courses) = @_;      my ($role,%courses) = @_;
     my $output;      my $output;
     my %Sortby;      my %Sortby;
     foreach my $course (sort(keys(%courses))) {      foreach my $course (sort(keys(%courses))) {
Line 132  sub gcitest_switcher { Line 142  sub gcitest_switcher {
     }      }
     if ($default) {      if ($default) {
         $output = '<form name="pickrole" action="/adm/roles" method="post">'.          $output = '<form name="pickrole" action="/adm/roles" method="post">'.
                   '<select name="newrole" method="post" onchange="javascript:courseswitcher();">'.                    '<select name="newrole" onchange="javascript:courseswitcher();">'.
                   '<option value="" selected="selected">'.$default.'</option>';                    '<option value="" selected="selected">'.$default.'</option>';
         foreach my $item (@sorted_courses) {          foreach my $item (@sorted_courses) {
             foreach my $course (@{$Sortby{$item}}) {              foreach my $course (@{$Sortby{$item}}) {
                 my ($cdom,$cnum) = split('_',$course);                  my ($cdom,$cnum) = split('_',$course);
                 $output .= '<option value="cc./'.$cdom.'/'.$cnum.'">'.$item.'</option>';                  $output .= '<option value="'.$role.'./'.$cdom.'/'.$cnum.'">'.$courses{$course}{'description'}.'</option>';
             }              }
         }          }
         $output .= '</select><input type="hidden" name="selectrole" value="" /></form>';          $output .= '</select><input type="hidden" name="selectrole" value="" /></form>';
Line 145  sub gcitest_switcher { Line 155  sub gcitest_switcher {
     return $output;      return $output;
 }  }
   
   sub gcitest_switcher_js {
       my ($current,$numcourses) = @_;
       my $output = <<"ENDJS";
   
   function courseswitcher(caller) {
       var numcourses = $numcourses;
       var current = '$current';
       var choice = document.pickrole.newrole.options[document.pickrole.newrole.selectedIndex].value;
       if (choice == '') {
           if (caller == 'icon') {
               alert('No Concept Test selected');
           }
           document.pickrole.selectrole.value = '';
           return;
       }
       if (choice == current) {
           if ((caller != 'icon') && (numcourses > 1)) {
               alert('You have selected the current course.\\nPlease select a different Concept Test course');
           }
           document.pickrole.newrole.selectedIndex = 0;
           document.pickrole.selectrole.value = '';
           return;
       }
       document.pickrole.selectrole.value = '1';
       document.pickrole.submit();
       return;
   }
   
   ENDJS
       return $output;
   }
   
 1;  1;
 __END__  __END__
   

Removed from v.1.8.4.2  
changed lines
  Added in v.1.8.4.6


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