Diff for /loncom/interface/loncommon.pm between versions 1.925.2.15 and 1.925.2.21

version 1.925.2.15, 2010/10/04 22:30:42 version 1.925.2.21, 2010/12/05 16:38:37
Line 1980  sub select_dom_form { Line 1980  sub select_dom_form {
             if ($dom ne '') {              if ($dom ne '') {
                 my $domdesc;                  my $domdesc;
                 if ($name eq 'srchdomain') {                  if ($name eq 'srchdomain') {
                     if ($dom eq 'gci') {                      if ($dom =~ /^\w+ci$/) {
                         $domdesc = 'Faculty';                          $domdesc = 'Faculty';
                     } else {                      } else {
                         $domdesc = 'Students';                          $domdesc = 'Students';
Line 4463  sub bodytag { Line 4463  sub bodytag {
     my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,      my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,
         $no_nav_bar,$bgcolor,$no_inline_link,$args)=@_;          $no_nav_bar,$bgcolor,$no_inline_link,$args)=@_;
   
       my $public;
       if ((($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public'))
           || ($env{'user.name'} eq '') && ($env{'user.domain'} eq '')) {
           $public = 1;
       }
     if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); }      if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); }
   
     $function = &get_users_function() if (!$function);      $function = &get_users_function() if (!$function);
Line 4491  sub bodytag { Line 4496  sub bodytag {
 # realm  # realm
     if ($env{'request.course.id'}) {      if ($env{'request.course.id'}) {
         if ($env{'request.role'} !~ /^cr/) {          if ($env{'request.role'} !~ /^cr/) {
             if (($custommenu) && ($role eq 'cm')) {              if (($custommenu) && (($role eq 'cm') || ($env{'form.context'} eq 'requestcrs'))) {
                 undef($role);                  undef($role);
             } else {              } else {
                 $role = &Apache::lonnet::plaintext($role,&course_type());                  $role = &Apache::lonnet::plaintext($role,&course_type());
             }              }
         }          }
         if ($env{'request.course.sec'}) {          if (defined($role) && $env{'request.course.sec'}) {
             $role .= (' 'x2).'- '.&mt('section:').' '.$env{'request.course.sec'};              $role .= (' 'x2).'- '.&mt('section:').' '.$env{'request.course.sec'};
         }             }
  $realm = $env{'course.'.$env{'request.course.id'}.'.description'};          if ($env{'form.context'} eq 'requestcrs') {
               undef($realm);
           } else {
       $realm = $env{'course.'.$env{'request.course.id'}.'.description'};
           }
     } else {      } else {
         if (($custommenu) && ($role eq 'cm')) {          if (($custommenu) && ($role eq 'cm')) {
             undef($role);              undef($role);
Line 4524  sub bodytag { Line 4533  sub bodytag {
     }       } 
   
     my $name = &plainname($env{'user.name'},$env{'user.domain'});      my $name = &plainname($env{'user.name'},$env{'user.domain'});
     if ($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public') {      if ($public) {
  undef($role);   undef($role);
     } else {      } else {
  $name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'});   $name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'});
Line 4545  sub bodytag { Line 4554  sub bodytag {
     $role = '<span class="LC_nobreak">('.$role.')</span>' if $role;      $role = '<span class="LC_nobreak">('.$role.')</span>' if $role;
     &get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']);      &get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']);
   
     if ($env{'environment.remote'} eq 'off') {      if ($env{'environment.remote'} ne 'on') {
         # No Remote          # No Remote
         if ($no_nav_bar || $env{'form.inhibitmenu'} eq 'yes') {           if ($no_nav_bar || $env{'form.inhibitmenu'} eq 'yes') { 
             return $bodytag;               return $bodytag; 
Line 4558  sub bodytag { Line 4567  sub bodytag {
         #    }          #    }
   
         my $role_selector;          my $role_selector;
         if (($custommenu) && ($env{'request.course.id'}) &&           if (($custommenu) && !($env{'form.context'} eq 'requestcrs') && 
             ($env{'course.'.$env{'request.course.id'}.'.domain'} eq 'gcitest')) {              ($env{'request.course.id'}) && 
               ($env{'course.'.$env{'request.course.id'}.'.domain'} =~ /^\w+citest$/)) {
             $role_selector = &Apache::lonmenu::roles_selector(              $role_selector = &Apache::lonmenu::roles_selector(
                         $env{'course.' . $env{'request.course.id'} . '.domain'},                          $env{'course.' . $env{'request.course.id'} . '.domain'},
                         $env{'course.' . $env{'request.course.id'} . '.num'}  );                          $env{'course.' . $env{'request.course.id'} . '.num'}  );
Line 4568  sub bodytag { Line 4578  sub bodytag {
             }              }
         }          }
         my $cid = $env{'request.course.id'};          my $cid = $env{'request.course.id'};
         my %gcicourses = (          my %cicourses;
                            gci_9615072b469884921gcil1 => 'review',          my $udom = $env{'user.domain'};
                            gci_1H96711d710194bfegcil1 => 'submit',          my %allnums = &get_faculty_cnums();
                            gci_5422913620b814c90gcil1 => 'tutorial',          if ($udom ne '' && ref($allnums{$udom} eq 'HASH') {
                          );               foreach my $key (%{$allnums{$udom}}) {
         if (($custommenu && $cid && !$gcicourses{$cid}) || ($env{'user.domain'} eq 'gcitest')) {                   $cicourses{$udom.'_'.$key} = $allnums{$udom}->{$key};
                }
           }
           if (($custommenu && $cid && !$cicourses{$cid}) && 
                !($env{'form.context'} eq 'requestcrs') ||
                ($env{'user.domain'} =~ /^\w+citest$/)) {
             my $role = 'st';              my $role = 'st';
             if ($custommenu) {              if ($custommenu) {
                 $role = 'cc';                  $role = 'cc';
Line 4595  sub bodytag { Line 4610  sub bodytag {
                     $current = $role.'./'.$env{'course.'.$cid.'.domain'}.                      $current = $role.'./'.$env{'course.'.$cid.'.domain'}.
                                '/'.$env{'course.'.$cid.'.num'};                                 '/'.$env{'course.'.$cid.'.num'};
                 }                  }
                 $switcher_js = &Apache::loncommon::gcitest_switcher_js($current,$numcourses,$formname);                  $switcher_js = &gcitest_switcher_js($current,$numcourses,$formname);
                 if ($switcher_js) {                    if ($switcher_js) {  
                     $switcher_js= <<"ENDSCRIPT";                      $switcher_js= <<"ENDSCRIPT";
 <script type="text/javascript">  <script type="text/javascript">
Line 4626  ENDSCRIPT Line 4641  ENDSCRIPT
                 <em>$realm</em> $dc_info</div>|;                  <em>$realm</em> $dc_info</div>|;
             return $bodytag;              return $bodytag;
         }          }
           if ($env{'request.noversionuri'} eq '/adm/navmaps' &&
                   $env{'environment.remotenavmap'} eq 'on') {
               return $bodytag;
           }
   
         if ($cid && $gcicourses{$cid} eq 'tutorial') {          if ($cid && $cicourses{$cid} eq 'tutorial') {
             $bodytag .= '<div class="LC_page_header">';              $bodytag .= '<div class="LC_page_header">';
         }           }
    
         $bodytag .= qq|<div id="LC_nav_bar">$name $role $role_selector</div>|;          $bodytag .= qq|<div id="LC_nav_bar">$name $role $role_selector</div>|;
   
         $bodytag .= Apache::lonhtmlcommon::scripttag(          $bodytag .= Apache::lonhtmlcommon::scripttag(
Line 4641  ENDSCRIPT Line 4661  ENDSCRIPT
             $dc_info = &dc_courseid_toggle($dc_info);              $dc_info = &dc_courseid_toggle($dc_info);
         }          }
         $bodytag .= qq|<div id="LC_realm">$realm $dc_info</div>|;          $bodytag .= qq|<div id="LC_realm">$realm $dc_info</div>|;
         if ($cid && $gcicourses{$cid} eq 'tutorial') {          if ($cid && $cicourses{$cid} eq 'tutorial') {
             $bodytag .= '</div>';              $bodytag .= '</div>';
         }          }
   
         #don't show menus for public users          #don't show menus for public users
         if($env{'user.name'} ne 'public' && $env{'user.domain'} ne 'public'){          if(!$public){
             if (($custommenu) &&               if (($custommenu) && 
                 ($env{'request.role'} !~ m{^st\./gcitest/$match_courseid})) {                  ($env{'request.role'} !~ m{^st\./(\w+)citest/$match_courseid})) {
                 $bodytag .= &Apache::lonmenu::gci_secondary_menu();                  $bodytag .= &Apache::lonmenu::gci_secondary_menu();
             } else {               } elsif ($env{'request.role'} ne 'cm' || &check_for_gci_dc()) {    
                 $bodytag .= Apache::lonmenu::secondary_menu();                  $bodytag .= Apache::lonmenu::secondary_menu();
             }              }
             $bodytag .= Apache::lonmenu::serverform();              $bodytag .= Apache::lonmenu::serverform();
Line 4662  ENDSCRIPT Line 4682  ENDSCRIPT
                 $bodytag .= &Apache::lonmenu::innerregister($forcereg);                  $bodytag .= &Apache::lonmenu::innerregister($forcereg);
             } elsif ($custommenu && $env{'request.course.id'} &&               } elsif ($custommenu && $env{'request.course.id'} && 
                      &Apache::lonnet::allowed('mdc', $env{'request.course.id'})) {                       &Apache::lonnet::allowed('mdc', $env{'request.course.id'})) {
                 if ($env{'request.noversionuri'} eq '/adm/navmaps') {                  if ((($env{'request.noversionuri'} eq '/adm/navmaps') && 
                       ($env{'request.noversionuri'} ne 'on')) ||
                       (($env{'request.noversionuri'} eq '/adm/coursedocs') &&
                        (!($env{'form.context'} eq 'requestcrs'))) ||
                       (($env{'request.noversionuri'} eq '/adm/createuser') &&
                        (!($env{'form.context'} eq 'requestcrs'))) ||
                       ($env{'request.noversionuri'} eq '/adm/whatsnew') ||
                       ($env{'request.noversionuri'} eq '/cgi-bin/printout.pl') ||
                       ($env{'request.noversionuri'} eq '/adm/printout') ||
                       ($env{'request.noversionuri'} eq '/adm/statistics')) {
   
                     my @advtools = &concept_test_manager();                      my @advtools = &concept_test_manager();
                       &Apache::lonhtmlcommon::clear_breadcrumbs();
                     &Apache::lonhtmlcommon::add_breadcrumb_tool(                      &Apache::lonhtmlcommon::add_breadcrumb_tool(
                                       'advtools',@advtools);                                        'advtools',@advtools);
                     my $advlinks;                      my $advlinks;
Line 6158  ol.LC_primary_menu { Line 6189  ol.LC_primary_menu {
   margin: 0.2em 0 0 0;    margin: 0.2em 0 0 0;
 }  }
   
 span.LC_new_message{  
   font-weight:bold;  
   color: darkred;  
 }  
   
 ol#LC_PathBreadcrumbs {  ol#LC_PathBreadcrumbs {
   margin: 0;    margin: 0;
 }  }
Line 6183  ol.LC_primary_menu a { Line 6209  ol.LC_primary_menu a {
   text-decoration: none;    text-decoration: none;
 }  }
   
   ol.LC_primary_menu a.LC_new_message {
     font-weight:bold;
     color: darkred;
   }
   
 ul#LC_secondary_menu {  ul#LC_secondary_menu {
   clear: both;    clear: both;
   color: $fontmenu;    color: $fontmenu;
Line 6546  a#LC_content_toolbar_changefolder_toggle Line 6577  a#LC_content_toolbar_changefolder_toggle
   background-image:url(/res/adm/pages/open-all-folders.gif);    background-image:url(/res/adm/pages/open-all-folders.gif);
 }  }
   
   a#LC_content_toolbar_management {
     background-image:url(/res/adm/pages/navtomenu.png);
   }
   
 ul#LC_toolbar li a:hover {  ul#LC_toolbar li a:hover {
   background-position: bottom center;    background-position: bottom center;
 }  }
Line 6620  ul.LC_funclist li { Line 6655  ul.LC_funclist li {
 }  }
 #gciheader ul {  #gciheader ul {
   margin:0;    margin:0;
   padding:10px 5px 0;    padding:10px 10px 0;
   list-style:none;    list-style:none;
 }  }
 #gciheader li {  #gciheader li {
Line 6935  sub start_page { Line 6970  sub start_page {
  #if bread_crumbs_component exists show it as headline else show only the breadcrumbs   #if bread_crumbs_component exists show it as headline else show only the breadcrumbs
  if(exists($args->{'bread_crumbs_component'})){   if(exists($args->{'bread_crumbs_component'})){
  $result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'});   $result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'});
  } else {   } elsif (exists($args->{'bread_crumbs_menulink'})) {
                 $result .= &Apache::lonhtmlcommon::breadcrumbs();    $result .= &Apache::lonhtmlcommon::breadcrumbs('','',$args->{'bread_crumbs_menulink'});
                   } else {
    $result .= &Apache::lonhtmlcommon::breadcrumbs(); 
  }   }
     }      }
     return $result;      return $result;
Line 10976  sub clean_symb { Line 11013  sub clean_symb {
 sub needs_gci_custom {  sub needs_gci_custom {
     my $custommenu;      my $custommenu;
     my $numdc = &check_for_gci_dc();      my $numdc = &check_for_gci_dc();
       my $udom = $env{'user.domain'};
       return if ($udom eq '');
     unless ($numdc) {      unless ($numdc) {
         my $then=$env{'user.login.time'};          my $then=$env{'user.login.time'};
         my $now = time;          my $now = time;
         my %cnums = (          my %allnums = &get_faculty_cnums();
                         review => '9615072b469884921gcil1',          my $cnums = $allnums{$udom};
                         submit => '1H96711d710194bfegcil1',          return unless (ref($cnums) eq 'HASH');
                     );          if ($env{'user.role.st./\Q$udom\E/'.$cnums->{'review'}}) {
         if ($env{'user.role.st./gci/'.$cnums{'review'}}) {  
             my ($start,$end) =              my ($start,$end) =
                 split('.',$env{'user.role.st./gci/'.$cnums{'review'}});                  split('.',$env{'user.role.st./\Q$udom\E/'.$cnums->{'review'}});
             if (((!$start) || ($start && $start <= $now)) &&              if (((!$start) || ($start && $start <= $now)) &&
                 ((!$end) || ($end > $now))) {                  ((!$end) || ($end > $now))) {
                 $custommenu = 1;                  $custommenu = 1;
                 if ($env{'user.role.cc./gci/'.$cnums{'review'}}) {                  if ($env{'user.role.cc./\Q$udom\E/'.$cnums->{'review'}}) {
                     my ($ccstart,$ccend) =                      my ($ccstart,$ccend) =
                         split('.',$env{'user.role.cc./gci/'.$cnums{'review'}});                          split('.',$env{'user.role.cc./\Q$udom\E/'.$cnums->{'review'}});
                     if (((!$start) || ($start && $start <= $now)) &&                      if (((!$start) || ($start && $start <= $now)) &&
                             ((!$end) || ($end > $now))) {                              ((!$end) || ($end > $now))) {
                         $custommenu = '';                          $custommenu = '';
Line 11006  sub needs_gci_custom { Line 11044  sub needs_gci_custom {
 sub check_for_gci_dc {  sub check_for_gci_dc {
     my $then=$env{'user.login.time'};      my $then=$env{'user.login.time'};
     my $numdc = 0;      my $numdc = 0;
     foreach my $dom ('gci','gcitest') {      my @doms = &Apache::lonnet::current_machine_domains();
       foreach my $dom (@doms) {
         if ($env{'user.role.dc./'.$dom.'/'}) {          if ($env{'user.role.dc./'.$dom.'/'}) {
             my $livedc = 1;              my $livedc = 1;
             my ($tstart,$tend)=split(/\./,$env{'user.role.dc./'.$dom.'/'});              my ($tstart,$tend)=split(/\./,$env{'user.role.dc./'.$dom.'/'});
Line 11020  sub check_for_gci_dc { Line 11059  sub check_for_gci_dc {
     return $numdc;      return $numdc;
 }  }
   
   sub get_faculty_cnums {
       my %cnums = (
            gci => { 
                       review => '9615072b469884921gcil1',
                       submit => '1H96711d710194bfegcil1',
                       tutorial' => '5422913620b814c90gcil1',
                   },
            slci => {
                       review => '',
                       submit => '',
                       tutorial' => '',
                    }
       );
       return %cnums;
   }
   
 sub existing_gcitest_courses {  sub existing_gcitest_courses {
     my ($role) = @_;      my ($role) = @_;
     my %courses;      my %courses;
     my $cdom = 'gcitest';      my $cdom = $env{'user.domain'}.'test';
     my $now = time;      my $now = time;
     foreach my $envkey (keys(%env)) {      foreach my $envkey (keys(%env)) {
         my $cnum;          my $cnum;
Line 11032  sub existing_gcitest_courses { Line 11087  sub existing_gcitest_courses {
         } else {          } else {
             next;              next;
         }          }
         my ($tstart,$tend) = split('.',$env{$envkey});          my ($tstart,$tend) = split(/\./,$env{$envkey});
         if (((!$tstart) || ($tstart < $now)) && ((!$tend) || ($tend > $now))) {          if (((!$tstart) || ($tstart < $now)) && ((!$tend) || ($tend > $now))) {
             my $descr = $env{'course.'.$cdom.'_'.$cnum.'.description'};              my $descr = $env{'course.'.$cdom.'_'.$cnum.'.description'};
             if ($descr ne '') {              if ($descr ne '') {
Line 11116  ENDJS Line 11171  ENDJS
     return $output;      return $output;
 }  }
   
   sub get_citest_map {
       my ($cdom) = @_;
       my %questionnaires = (
                              gcitest  => 'default_1261144274.sequence',
                              slcitest => 'default_1261144274.sequence',
                            );
       return $questionnaires{$cdom};
   }
   
 =pod  =pod
   

Removed from v.1.925.2.15  
changed lines
  Added in v.1.925.2.21


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