You are here

function opigno_module_install in Opigno module 3.x

Same name and namespace in other branches
  1. 8 opigno_module.install \opigno_module_install()

Implements hook_install().

File

./opigno_module.install, line 271
Opigno module app install/update functionality.

Code

function opigno_module_install() {

  // Give an access to specific Opigno module permissions.
  $issueAccessPermissions = [
    RoleInterface::AUTHENTICATED_ID => [
      'view published module entities',
      'access editor',
    ],
    'content_manager' => [
      'access media_entity_browser_badge_images entity browser pages',
    ],
  ];
  foreach ($issueAccessPermissions as $role => $permissions) {
    $role = Role::load($role);
    if (!$role instanceof RoleInterface) {
      continue;
    }
    foreach ($permissions as $permission) {
      $role
        ->grantPermission($permission);
    }
    try {
      $role
        ->save();
    } catch (EntityStorageException $e) {
      watchdog_exception('opigno_module_exception', $e);
    }
  }
  $not_recommended = ModuleH5PAdminSettingsForm::disabledByDefault();
  $config = \Drupal::service('config.factory')
    ->getEditable('opigno_module.settings');
  $config
    ->set('disabled_h5p', array_values($not_recommended));
  $config
    ->save();
}