function multipurpose_corporate_profile_install in Multipurpose Corporate Profile 8
Same name and namespace in other branches
- 7 multipurpose_corporate_profile.install \multipurpose_corporate_profile_install()
Implements hook_install().
Perform actions to set up the site for this profile.
See also
File
- ./
multipurpose_corporate_profile.install, line 21 - Installing file.
Code
function multipurpose_corporate_profile_install() {
// First, do everything in standard profile.
include_once DRUPAL_ROOT . '/core/profiles/standard/standard.install';
standard_install();
// Set front page to "node".
\Drupal::configFactory()
->getEditable('system.site')
->set('page.front', '/home')
->save(TRUE);
// Allow visitor account creation with administrative approval.
$user_settings = \Drupal::configFactory()
->getEditable('user.settings');
$user_settings
->set('register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)
->save(TRUE);
// Enable default permissions for system roles.
user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, [
'search content',
]);
user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, [
'search content',
]);
// Assign user 1 the "administrator" role.
$user = User::load(1);
$user->roles[] = 'administrator';
$user
->save();
user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, [
'access site-wide contact form',
]);
user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, [
'access site-wide contact form',
]);
// Allow authenticated users to use shortcuts.
user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, [
'access shortcuts',
]);
// Enable the admin theme.
\Drupal::configFactory()
->getEditable('node.settings')
->set('use_admin_theme', TRUE)
->save(TRUE);
// Set front page of the site.
\Drupal::configFactory()
->getEditable('system.site')
->set('page.front', '/home')
->save(TRUE);
multipurpose_corporate_profile_public_files_copy();
multipurpose_corporate_profile_libraries_files_copy();
multipurpose_corporate_profile_theme_templates_files_copy();
// Enable features and default content modules.
multipurpose_corporate_profile_install_custom_modules();
// Setting aliases for nodes.
multipurpose_corporate_profile_set_aliases();
}