Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.765 and 1.766

version 1.765, 2006/07/21 18:52:35 version 1.766, 2006/07/21 19:42:25
Line 3220  sub tmpdel { Line 3220  sub tmpdel {
 # -------------------------------------------------- portfolio access checking  # -------------------------------------------------- portfolio access checking
   
 sub portfolio_access {  sub portfolio_access {
     my ($r,$requrl) = @_;      my ($requrl) = @_;
     my $access=&allowed('bre',$requrl);  
     if ($access eq '2' || $access eq 'F') {  
        return 'ok';  
     }  
     my (undef,$udom,$unum,$file_name,$group) = &parse_portfolio_url($requrl);      my (undef,$udom,$unum,$file_name,$group) = &parse_portfolio_url($requrl);
     my $result = &get_portfolio_access($udom,$unum,$file_name,$group);      my $result = &get_portfolio_access($udom,$unum,$file_name,$group);
     if ($result eq 'ok') {      if ($result eq 'ok') {
        return 'ok';         return 'F';
     } elsif ($result =~ /^[^:]+:guest_/) {      } elsif ($result =~ /^[^:]+:guest_/) {
        &Apache::lonacc::passphrase_access_checker($r,$result,$requrl);         return 'A';
        return 'ok';  
     }      }
     return undef;      return '';
 }  }
   
 sub get_portfolio_access {  sub get_portfolio_access {
Line 3602  sub allowed { Line 3597  sub allowed {
         }          }
     }      }
   
       if ($priv eq 'bre'
    && $thisallowed ne 'F' 
    && $thisallowed ne '2'
    && &is_portfolio_url($uri)) {
    $thisallowed = &portfolio_access($uri);
       }
       
 # Full access at system, domain or course-wide level? Exit.  # Full access at system, domain or course-wide level? Exit.
   
     if ($thisallowed=~/F/) {      if ($thisallowed=~/F/) {
Line 3752  sub allowed { Line 3754  sub allowed {
 #  #
   
     unless ($env{'request.course.id'}) {      unless ($env{'request.course.id'}) {
        return '1';   if ($thisallowed eq 'A') {
       return 'A';
    } else {
       return '1';
    }
     }      }
   
 #  #
Line 3815  sub allowed { Line 3821  sub allowed {
       }        }
    }     }
   
       if ($thisallowed eq 'A') {
    return 'A';
       }
    return 'F';     return 'F';
 }  }
   
Line 7508  actions Line 7517  actions
  '': forbidden   '': forbidden
  1: user needs to choose course   1: user needs to choose course
  2: browse allowed   2: browse allowed
    A: passphrase authentication needed
   
 =item *  =item *
   
Line 8235  Internal notes: Line 8245  Internal notes:
     
  Locks on files (resulting from submission of portfolio file to a homework problem stored in array of arrays.   Locks on files (resulting from submission of portfolio file to a homework problem stored in array of arrays.
   
 parse_access_controls():  
   
 Parses XML of an access control record  
 Args  
 1. Text string (XML) of access comtrol record  
   
 Returns:  
 1. Hash of access control settings.   
   
 modify_access_controls():  modify_access_controls():
   
 Modifies access controls for a portfolio file  Modifies access controls for a portfolio file

Removed from v.1.765  
changed lines
  Added in v.1.766


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