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 |
- |
|
|