Changeset 3080
- Timestamp:
- 10/01/08 02:15:24 (14 months ago)
- Location:
- branches/fireball/lib/MT
- Files:
-
- 2 modified
-
Permission.pm (modified) (2 diffs)
-
Upgrade.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/fireball/lib/MT/Permission.pm
r2099 r3080 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 } -
branches/fireball/lib/MT/Upgrade.pm
r3079 r3080 976 976 $file_template =~ s/%-C/<MTCategoryLabel dirify="-">/g; 977 977 $map->file_template($file_template); 978 },979 },980 },981 'core_assign_all_permisssions_blog_admin' => {982 version_limit => 4.0063,983 priority => 3.4,984 updater => {985 type => 'permission',986 label => 'Assigning all permissions to blog administrator...',987 condition => sub {988 $_[0]->can_administer_blog && $_[0]->blog_id;989 },990 code => sub {991 my ($perm) = shift;992 $perm->set_full_permissions;993 },994 },995 },996 'core_recover_sysadmin_permissions' => {997 version_limit => 4.0066,998 priority => 3.5,999 updater => {1000 type => 'permission',1001 label => 'Recover permissions of system administrators...',1002 condition => sub {1003 !$_[0]->blog_id && !$_[0]->has('administer') && $_[0]->can_administer_blog;1004 },1005 code => sub {1006 my ($perm) = shift;1007 $perm->set_permissions('system');1008 978 }, 1009 979 },
