social_profile_fields.install in Open Social 8.3
Same filename and directory in other branches
- 8.9 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 8.2 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 8.4 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 8.5 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 8.6 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 8.7 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 8.8 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 10.3.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 10.0.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 10.1.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
- 10.2.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.install
The social profile fields install file.
File
modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.installView source
<?php
/**
* @file
* The social profile fields install file.
*/
use Drupal\search_api\Entity\Index;
use Drupal\user\Entity\User;
/**
* Implements hook_install().
*/
function social_profile_fields_install() {
// Set some default permissions.
_social_profile_fields_set_permissions();
_social_profile_fields_update_search_index();
}
/**
* Disable and enable the search index, so the nickname field is added.
*/
function social_profile_fields_update_8001() {
_social_profile_fields_update_search_index();
}
/**
* Function to set permissions.
*/
function _social_profile_fields_set_permissions() {
user_role_grant_permissions('sitemanager', [
'social profile fields change used profile fields',
]);
}
/**
* Disable and enable the search index, so the nickname field is added.
*/
function _social_profile_fields_update_search_index() {
/* @var Drupal\search_api\Entity\Index $index */
$index = Index::load('social_users');
\Drupal::logger('social_profile_fields')
->info('Loaded search index');
// If currently enabled we will first disabled and enable the index.
if ($index !== NULL && $index
->status()) {
\Drupal::logger('social_profile_fields')
->info('Search index exists');
// Elevate permissions so we can index *all* the items.
$accountSwitcher = Drupal::service('account_switcher');
$account = User::load(1);
$accountSwitcher
->switchTo($account);
// Disable and enable the index so the tagging field is properly added.
$index
->disable()
->save();
\Drupal::logger('social_profile_fields')
->info('Search index disabled');
$index
->enable()
->save();
\Drupal::logger('social_profile_fields')
->info('Search index enabled');
// Restore user account.
$accountSwitcher
->switchBack();
}
}
Functions
Name![]() |
Description |
---|---|
social_profile_fields_install | Implements hook_install(). |
social_profile_fields_update_8001 | Disable and enable the search index, so the nickname field is added. |
_social_profile_fields_set_permissions | Function to set permissions. |
_social_profile_fields_update_search_index | Disable and enable the search index, so the nickname field is added. |