open_knowledge-1.0.x-dev/open_knowledge.install
open_knowledge.install
<?php
/**
* @file
* Install, update and uninstall functions for the open knowledge profile.
*/
/**
* Implements hook_install().
*
* Perform actions to set up the site for this profile.
*
* @see system_install()
*/
function open_knowledge_install() {
$entity_type_manager = \Drupal::entityTypeManager();
$user_storage = $entity_type_manager->getStorage('user');
// Assign user 1 the "administrator" role.
/** @var \Drupal\user\Entity\User $user */
$user = $user_storage->load(1);
$user->addRole('administrator');
$user->save();
$shortcut_storage = $entity_type_manager->getStorage('shortcut');
// Populate the default shortcut set.
$shortcut = $shortcut_storage->create([
'shortcut_set' => 'default',
'title' => t('Add content'),
'weight' => -20,
'link' => ['uri' => 'internal:/node/add'],
]);
$shortcut->save();
$shortcut = $shortcut_storage->create([
'shortcut_set' => 'default',
'title' => t('All content'),
'weight' => -19,
'link' => ['uri' => 'internal:/admin/content'],
]);
$shortcut->save();
$workflow = \Drupal::entityTypeManager()->getStorage('workflow')->load('knowledge');
$type_settings = $workflow->get('type_settings');
$type_settings['entity_types']['node'] = ['article'];
$workflow->set('type_settings', $type_settings)->save();
}
