Changeset 3082 for trunk/lib/MT/Permission.pm
- Timestamp:
- 10/03/08 01:07:01 (14 months ago)
- Files:
-
- 1 modified
-
trunk/lib/MT/Permission.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/MT/Permission.pm
r2099 r3082 85 85 } 86 86 87 sub global_perms { 88 my $perm = shift; 89 90 return undef unless $perm->author_id; 91 return $perm unless $perm->blog_id; 92 93 $perm->cache_property( 94 'global_perms', 95 sub { 96 __PACKAGE__->load( { author_id => $perm->author_id, blog_id => 0 }); 97 } 98 ); 99 } 100 87 101 # Legend: 88 102 # author_id || blog_id || permissions … … 289 303 && $author->is_superuser ); 290 304 return 1 291 if ( ( $ set eq 'blog')305 if ( ( $_[0]->blog_id ) 292 306 && $_[0]->has('administer_blog') ); 293 307 } 294 308 } 309 # return negative if a restriction is present 295 310 return undef 296 311 if $_[0]->restrictions && $_[0]->restrictions =~ /'$perm'/i; 297 ( defined($cur_perm) && $cur_perm =~ /'$perm'/i ) ? 1 : undef; 312 # return positive if permission is set in this permission set 313 return 1 if defined($cur_perm) && $cur_perm =~ /'$perm'/i; 314 # test for global-level permission 315 return 1 316 if $_[0]->author_id 317 && $_[0]->blog_id 318 && $_[0]->global_perms 319 && $_[0]->global_perms->has($perm); 320 return undef; 298 321 }; 299 322 }
