Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1046 and 1.1050

version 1.1046, 2009/11/29 00:17:22 version 1.1050, 2010/02/21 02:38:31
Line 1353  sub get_domain_defaults { Line 1353  sub get_domain_defaults {
     my %domdefaults;      my %domdefaults;
     my %domconfig =      my %domconfig =
          &Apache::lonnet::get_dom('configuration',['defaults','quotas',           &Apache::lonnet::get_dom('configuration',['defaults','quotas',
                                   'requestcourses','inststatus'],$domain);                                    'requestcourses','inststatus',
                                     'coursedefaults'],$domain);
     if (ref($domconfig{'defaults'}) eq 'HASH') {      if (ref($domconfig{'defaults'}) eq 'HASH') {
         $domdefaults{'lang_def'} = $domconfig{'defaults'}{'lang_def'};           $domdefaults{'lang_def'} = $domconfig{'defaults'}{'lang_def'}; 
         $domdefaults{'auth_def'} = $domconfig{'defaults'}{'auth_def'};          $domdefaults{'auth_def'} = $domconfig{'defaults'}{'auth_def'};
Line 1388  sub get_domain_defaults { Line 1389  sub get_domain_defaults {
             $domdefaults{$item} = $domconfig{'inststatus'}{$item};              $domdefaults{$item} = $domconfig{'inststatus'}{$item};
         }          }
     }      }
       if (ref($domconfig{'coursedefaults'}) eq 'HASH') {
           foreach my $item ('canuse_pdfforms') {
               $domdefaults{$item} = $domconfig{'coursedefaults'}{$item};
           }
       }
     &Apache::lonnet::do_cache_new('domdefaults',$domain,\%domdefaults,      &Apache::lonnet::do_cache_new('domdefaults',$domain,\%domdefaults,
                                   $cachetime);                                    $cachetime);
     return %domdefaults;      return %domdefaults;
Line 1722  sub userenvironment { Line 1728  sub userenvironment {
     unless ($uhome eq 'no_host') {      unless ($uhome eq 'no_host') {
         my @answer=split(/\&/,           my @answer=split(/\&/, 
             &reply('get:'.$udom.':'.$unam.':environment:'.$items,$uhome));              &reply('get:'.$udom.':'.$unam.':environment:'.$items,$uhome));
           if ($#answer==0 && $answer[0] =~ /^(con_lost|error:|no_such_host)/i) {
               return %returnhash;
           }
         my $i;          my $i;
         for ($i=0;$i<=$#what;$i++) {          for ($i=0;$i<=$#what;$i++) {
     $returnhash{$what[$i]}=&unescape($answer[$i]);      $returnhash{$what[$i]}=&unescape($answer[$i]);
Line 4029  sub role_status { Line 4038  sub role_status {
                             );                              );
                             my $spec=$$role.'.'.$$where;                              my $spec=$$role.'.'.$$where;
                             my ($tdummy,$tdomain,$trest)=split(/\//,$$where);                              my ($tdummy,$tdomain,$trest)=split(/\//,$$where);
                             if ($$role eq 'gr') {  
                                 my %rolehash = &get('roles',[$$where.'_'.$$role],$env{'user.domain'},  
                                                     $env{'user.name'})=@_;  
                                 my ($trole) = split('_',$role,1);  
                                 (undef,my $group_privs) = split(/\//,$trole);  
                                 $group_privs = &unescape($group_privs);  
                             }  
                             if ($$role =~ /^cr\//) {                              if ($$role =~ /^cr\//) {
                                 &custom_roleprivs(\%allroles,$$role,$tdomain,$trest,$spec,$$where);                                  &custom_roleprivs(\%allroles,$$role,$tdomain,$trest,$spec,$$where);
                             } elsif ($$role eq 'gr') {                              } elsif ($$role eq 'gr') {
Line 4811  sub usertools_access { Line 4813  sub usertools_access {
     }      }
 }  }
   
   sub is_course_owner {
       my ($cdom,$cnum,$udom,$uname) = @_;
       if (($udom eq '') || ($uname eq '')) {
           $udom = $env{'user.domain'};
           $uname = $env{'user.name'};
       }
       unless (($udom eq '') || ($uname eq '')) {
           if (exists($env{'course.'.$cdom.'_'.$cnum.'.internal.courseowner'})) {
               if ($env{'course.'.$cdom.'_'.$cnum.'.internal.courseowner'} eq $uname.':'.$udom) {
                   return 1;
               } else {
                   my %courseinfo = &Apache::lonnet::coursedescription($cdom.'/'.$cnum);
                   if ($courseinfo{'internal.courseowner'} eq $uname.':'.$udom) {
                       return 1;
                   }
               }
           }
       }
       return;
   }
   
 sub is_advanced_user {  sub is_advanced_user {
     my ($udom,$uname) = @_;      my ($udom,$uname) = @_;
     my %roleshash = &get_my_roles($uname,$udom,'userroles',undef,undef,undef,1);      my %roleshash = &get_my_roles($uname,$udom,'userroles',undef,undef,undef,1);

Removed from v.1.1046  
changed lines
  Added in v.1.1050


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