Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1014 and 1.1019

version 1.1014, 2009/08/11 11:33:52 version 1.1019, 2009/08/18 20:08:25
Line 3146  sub dcmaildump { Line 3146  sub dcmaildump {
   
 sub get_domain_roles {  sub get_domain_roles {
     my ($dom,$roles,$startdate,$enddate)=@_;      my ($dom,$roles,$startdate,$enddate)=@_;
     if (undef($startdate) || $startdate eq '') {      if ((!defined($startdate)) || ($startdate eq '')) {
         $startdate = '.';          $startdate = '.';
     }      }
     if (undef($enddate) || $enddate eq '') {      if ((!defined($enddate)) || ($enddate eq '')) {
         $enddate = '.';          $enddate = '.';
     }      }
     my $rolelist;      my $rolelist;
Line 5645  sub auto_validate_courseID { Line 5645  sub auto_validate_courseID {
 }  }
   
 sub auto_validate_instcode {  sub auto_validate_instcode {
     my ($cnum,$cdom,$instcode,$owner) = @_;      my ($cnum,$cdom,$instcode,$owner,$inststatuslist,$instseclist) = @_;
     my ($homeserver,$response);      my ($homeserver,$response);
     if (($cdom =~ /^$match_domain$/) && ($cnum =~ /^$match_courseid$/)) {      if (($cdom =~ /^$match_domain$/) && ($cnum =~ /^$match_courseid$/)) {
         $homeserver = &homeserver($cnum,$cdom);          $homeserver = &homeserver($cnum,$cdom);
Line 5656  sub auto_validate_instcode { Line 5656  sub auto_validate_instcode {
         }          }
     }      }
     my $response=&unescape(&reply('autovalidateinstcode:'.$cdom.':'.      my $response=&unescape(&reply('autovalidateinstcode:'.$cdom.':'.
                            &escape($instcode).':'.&escape($owner),$homeserver));                             &escape($instcode).':'.&escape($owner).':'.
                              &escape($inststatuslist).':'.&escape($instseclist),
                              $homeserver));
     return $response;      return $response;
 }  }
   
Line 5878  sub auto_courserequest_checks { Line 5880  sub auto_courserequest_checks {
     return %validations;       return %validations; 
 }  }
   
 sub auto_courserequest_validation {  
     my ($dom,$details,$inststatuses,$message) = @_;  
     return 'pending';  
 }  
   
 sub auto_validate_class_sec {  sub auto_validate_class_sec {
     my ($cdom,$cnum,$owners,$inst_class) = @_;      my ($cdom,$cnum,$owners,$inst_class) = @_;
     my $homeserver = &homeserver($cnum,$cdom);      my $homeserver = &homeserver($cnum,$cdom);
Line 6102  sub assignrole { Line 6099  sub assignrole {
             if ($refused) {              if ($refused) {
                 if (($selfenroll == 1) && ($role eq 'st') && ($udom eq $env{'user.domain'}) && ($uname eq $env{'user.name'})) {                  if (($selfenroll == 1) && ($role eq 'st') && ($udom eq $env{'user.domain'}) && ($uname eq $env{'user.name'})) {
                     $refused = '';                      $refused = '';
                 } else {                  } elsif ($context eq 'requestcourses') {
                       if (($role eq 'cc') && ($env{'user.name'} ne '' && $env{'user.domain'} ne '')) {
                           my ($cdom,$cnum) = ($cwosec =~ m{^/($match_domain)/($match_courseid)$});
                           my %crsenv = &userenvironment($cdom,$cnum,('internal.courseowner'));
                           if ($crsenv{'internal.courseowner'} eq 
                                $env{'user.name'}.':'.$env{'user.domain'}) {
                               $refused = '';
                           }
                       }
                   }
                   if ($refused) {
                     &logthis('Refused assignrole: '.$udom.' '.$uname.' '.$url.                      &logthis('Refused assignrole: '.$udom.' '.$uname.' '.$url.
                              ' '.$role.' '.$end.' '.$start.' by '.                               ' '.$role.' '.$end.' '.$start.' by '.
                $env{'user.name'}.' at '.$env{'user.domain'});                 $env{'user.name'}.' at '.$env{'user.domain'});
Line 6426  sub writecoursepref { Line 6433  sub writecoursepref {
   
 sub createcourse {  sub createcourse {
     my ($udom,$description,$url,$course_server,$nonstandard,$inst_code,      my ($udom,$description,$url,$course_server,$nonstandard,$inst_code,
         $course_owner,$crstype,$cnum)=@_;          $course_owner,$crstype,$cnum,$context,$category)=@_;
     $url=&declutter($url);      $url=&declutter($url);
     my $cid='';      my $cid='';
     unless (&allowed('ccc',$udom)) {      unless (&allowed('ccc',$udom)) {
         return 'refused';          if ($context eq 'requestcourses') {
               unless (&usertools_access($course_owner,$udom,$category,undef,$context)) {
                   return 'refused';
               }
           } else {
               return 'refused';
           }
     }      }
 # --------------------------------------------------------------- Get Unique ID  # --------------------------------------------------------------- Get Unique ID
     my $uname;      my $uname;
Line 6529  sub is_course { Line 6542  sub is_course {
     return 0;      return 0;
 }  }
   
 sub store_coursereq {  sub store_userdata {
     my ($requestkey,$storehash) = @_;      my ($storehash,$datakey,$namespace,$udom,$uname) = @_;
     my $result;      my $result;
     if ($requestkey =~ /^($match_domain)_($match_courseid)$/) {      if ($datakey ne '') {
         if (ref($storehash) eq 'HASH') {          if (ref($storehash) eq 'HASH') {
             my $namespace = 'courserequests';              if ($udom eq '' || $uname eq '') {
             my $uhome=&homeserver();                  $udom = $env{'user.domain'};
                   $uname = $env{'user.name'};
               }
               my $uhome=&homeserver($uname,$udom);
             if (($uhome eq '') || ($uhome eq 'no_host')) {              if (($uhome eq '') || ($uhome eq 'no_host')) {
                 $result = 'error: no_host';                  $result = 'error: no_host';
             } else {              } else {
Line 6548  sub store_coursereq { Line 6564  sub store_coursereq {
                 }                  }
                 $namevalue=~s/\&$//;                  $namevalue=~s/\&$//;
                 $result =  &reply("store:$env{'user.domain'}:$env{'user.name'}:".                  $result =  &reply("store:$env{'user.domain'}:$env{'user.name'}:".
                                   "$namespace:$requestkey:$namevalue",$uhome);                                    "$namespace:$datakey:$namevalue",$uhome);
             }              }
         } else {          } else {
             $result = 'error: data to store was not a hash reference';               $result = 'error: data to store was not a hash reference'; 

Removed from v.1.1014  
changed lines
  Added in v.1.1019


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