version 1.1056.2.7, 2010/10/01 14:26:24
|
version 1.1056.2.8, 2010/10/05 12:53:30
|
Line 4175 sub role_status {
|
Line 4175 sub role_status {
|
} |
} |
|
|
sub check_adhoc_privs { |
sub check_adhoc_privs { |
my ($cdom,$cnum,$then,$refresh,$now,$checkrole) = @_; |
my ($cdom,$cnum,$then,$refresh,$now,$checkrole,$caller) = @_; |
my $cckey = 'user.role.'.$checkrole.'./'.$cdom.'/'.$cnum; |
my $cckey = 'user.role.'.$checkrole.'./'.$cdom.'/'.$cnum; |
if ($env{$cckey}) { |
if ($env{$cckey}) { |
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend); |
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend); |
&role_status($cckey,$then,$refresh,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend); |
&role_status($cckey,$then,$refresh,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend); |
unless (($tstatus eq 'is') || ($tstatus eq 'will_not')) { |
unless (($tstatus eq 'is') || ($tstatus eq 'will_not')) { |
&set_adhoc_privileges($cdom,$cnum,$checkrole); |
&set_adhoc_privileges($cdom,$cnum,$checkrole,$caller); |
} |
} |
} else { |
} else { |
&set_adhoc_privileges($cdom,$cnum,$checkrole); |
&set_adhoc_privileges($cdom,$cnum,$checkrole,$caller); |
} |
} |
} |
} |
|
|
sub set_adhoc_privileges { |
sub set_adhoc_privileges { |
# role can be cc or ca |
# role can be cc or ca |
my ($dcdom,$pickedcourse,$role) = @_; |
my ($dcdom,$pickedcourse,$role,$caller) = @_; |
my $area = '/'.$dcdom.'/'.$pickedcourse; |
my $area = '/'.$dcdom.'/'.$pickedcourse; |
my $spec = $role.'.'.$area; |
my $spec = $role.'.'.$area; |
my %userroles = &set_arearole($role,$area,'','',$env{'user.domain'}, |
my %userroles = &set_arearole($role,$area,'','',$env{'user.domain'}, |
Line 4200 sub set_adhoc_privileges {
|
Line 4200 sub set_adhoc_privileges {
|
my ($author,$adv)= &set_userprivs(\%userroles,\%ccrole); |
my ($author,$adv)= &set_userprivs(\%userroles,\%ccrole); |
&appenv(\%userroles,[$role,'cm']); |
&appenv(\%userroles,[$role,'cm']); |
&log($env{'user.domain'},$env{'user.name'},$env{'user.home'},"Role ".$role); |
&log($env{'user.domain'},$env{'user.name'},$env{'user.home'},"Role ".$role); |
&appenv( {'request.role' => $spec, |
unless ($caller eq 'constructaccess' && $env{'request.course.id'}) { |
'request.role.domain' => $dcdom, |
&appenv( {'request.role' => $spec, |
'request.course.sec' => '' |
'request.role.domain' => $dcdom, |
} |
'request.course.sec' => '' |
); |
} |
my $tadv=0; |
); |
if (&allowed('adv') eq 'F') { $tadv=1; } |
my $tadv=0; |
&appenv({'request.role.adv' => $tadv}); |
if (&allowed('adv') eq 'F') { $tadv=1; } |
|
&appenv({'request.role.adv' => $tadv}); |
|
} |
} |
} |
|
|
# --------------------------------------------------------------- get interface |
# --------------------------------------------------------------- get interface |