You are here

function social_private_message_update_8803 in Open Social 10.0.x

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_private_message/social_private_message.install \social_private_message_update_8803()
  2. 10.3.x modules/social_features/social_private_message/social_private_message.install \social_private_message_update_8803()
  3. 10.1.x modules/social_features/social_private_message/social_private_message.install \social_private_message_update_8803()
  4. 10.2.x modules/social_features/social_private_message/social_private_message.install \social_private_message_update_8803()

Update permissions for private messages.

File

modules/social_features/social_private_message/social_private_message.install, line 287
The Social Private Message (de)installation file.

Code

function social_private_message_update_8803() {
  $roles_storage = Drupal::entityTypeManager()
    ->getStorage('user_role');
  $roles = $roles_storage
    ->loadMultiple();
  if (!empty($roles)) {

    /** @var \Drupal\user\RoleInterface $role */
    foreach ($roles as $role) {
      if ($role
        ->id() === 'administrator') {
        continue;
      }
      if ($role
        ->hasPermission('use private messaging system')) {
        user_role_grant_permissions($role
          ->id(), [
          'create private messages thread',
          'reply to private messages thread',
          'delete private messages thread',
        ]);
      }
    }
  }
}