|
Lines 2039-2058
sub haspermission {
Link Here
|
| 2039 |
my $flags = getuserflags( $row, $userid ); |
2039 |
my $flags = getuserflags( $row, $userid ); |
| 2040 |
|
2040 |
|
| 2041 |
return $flags if $flags->{superlibrarian}; |
2041 |
return $flags if $flags->{superlibrarian}; |
| 2042 |
|
|
|
| 2043 |
foreach my $module ( keys %$flagsrequired ) { |
2042 |
foreach my $module ( keys %$flagsrequired ) { |
| 2044 |
my $subperm = $flagsrequired->{$module}; |
2043 |
my $subperms = $flagsrequired->{$module}; |
| 2045 |
if ( $subperm eq '*' ) { |
2044 |
my @sub_loop; |
| 2046 |
return 0 unless ( $flags->{$module} == 1 or ref( $flags->{$module} ) ); |
2045 |
if ( ref($subperms) eq 'ARRAY' ) { |
|
|
2046 |
@sub_loop = @$subperms; |
| 2047 |
} else { |
2047 |
} else { |
| 2048 |
return 0 unless ( |
2048 |
push @sub_loop, $subperms; |
| 2049 |
( defined $flags->{$module} and |
2049 |
} |
| 2050 |
$flags->{$module} == 1 ) |
2050 |
foreach my $subperm (@sub_loop){ |
| 2051 |
or |
2051 |
if ( $subperm eq '*' ) { |
| 2052 |
( ref( $flags->{$module} ) and |
2052 |
return 0 unless ( $flags->{$module} == 1 or ref( $flags->{$module} ) ); |
| 2053 |
exists $flags->{$module}->{$subperm} and |
2053 |
} else { |
| 2054 |
$flags->{$module}->{$subperm} == 1 ) |
2054 |
return 0 unless ( |
| 2055 |
); |
2055 |
( defined $flags->{$module} and |
|
|
2056 |
$flags->{$module} == 1 ) |
| 2057 |
or |
| 2058 |
( ref( $flags->{$module} ) and |
| 2059 |
exists $flags->{$module}->{$subperm} and |
| 2060 |
$flags->{$module}->{$subperm} == 1 ) |
| 2061 |
); |
| 2062 |
} |
| 2056 |
} |
2063 |
} |
| 2057 |
} |
2064 |
} |
| 2058 |
return $flags; |
2065 |
return $flags; |
| 2059 |
- |
|
|