You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							43 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							43 lines
						
					
					
						
							1.3 KiB
						
					
					
				| <?php | |
| 
 | |
| class StaffPermissions extends MigrationTask { | |
|     var $description = "Add staff permissions"; | |
| 
 | |
|     function run($time) { | |
|         foreach (Staff::objects() as $staff) { | |
|             $role = $staff->getRole(); | |
|             if ($role) | |
|                 $role_perms = $role->getPermission(); | |
|             else | |
|                 $role_perms = new RolePermission(null); | |
|             $perms = array( | |
|                 User::PERM_CREATE, | |
|                 User::PERM_EDIT, | |
|                 User::PERM_DELETE, | |
|                 User::PERM_MANAGE, | |
|                 User::PERM_DIRECTORY, | |
|                 Organization::PERM_CREATE, | |
|                 Organization::PERM_EDIT, | |
|                 Organization::PERM_DELETE, | |
|             ); | |
|             if ($role_perms->has(FAQ::PERM_MANAGE)) | |
|                 $perms[] = FAQ::PERM_MANAGE; | |
|             if ($role_perms->has(Email::PERM_BANLIST)) | |
|                 $perms[] = Email::PERM_BANLIST; | |
| 
 | |
|             $errors = array(); | |
|             $staff->updatePerms($perms, $errors); | |
|             $staff->save(); | |
|         } | |
| 
 | |
|         // Update user's with <div> in their name (regression from v1.9.9) | |
|         foreach ( | |
|             User::objects()->filter(array('name__startswith' => ' <div>')) | |
|             as $user | |
|         ) { | |
|             $user->name = ltrim(str_replace(' <div>', '', $user->name)); | |
|             $user->save(); | |
|         } | |
|     } | |
| } | |
| return 'StaffPermissions';
 |