function _social_activity_create_activity_homepage_block in Open Social 8.6
Same name and namespace in other branches
- 8 modules/social_features/social_activity/social_activity.install \_social_activity_create_activity_homepage_block()
- 8.2 modules/social_features/social_activity/social_activity.install \_social_activity_create_activity_homepage_block()
- 8.3 modules/social_features/social_activity/social_activity.install \_social_activity_create_activity_homepage_block()
- 8.4 modules/social_features/social_activity/social_activity.install \_social_activity_create_activity_homepage_block()
- 8.5 modules/social_features/social_activity/social_activity.install \_social_activity_create_activity_homepage_block()
- 8.7 modules/social_features/social_activity/social_activity.install \_social_activity_create_activity_homepage_block()
Create a block for the activity stream homepage.
2 calls to _social_activity_create_activity_homepage_block()
- social_activity_install in modules/
social_features/ social_activity/ social_activity.install - Social activity install function.
- social_activity_update_8001 in modules/
social_features/ social_activity/ social_activity.install - Place a block for the activity stream homepage.
File
- modules/
social_features/ social_activity/ social_activity.install, line 66 - The Social activity install.
Code
function _social_activity_create_activity_homepage_block() {
// Revert view so it has the block display.
$config_update_service = \Drupal::service('features.config_update');
// Check if view exists.
$view = Views::getView('activity_stream');
if (is_object($view)) {
// If exists, we revert.
$config_update_service
->revert('view', 'activity_stream');
}
else {
// Otherwise we import.
$config_update_service
->import('view', 'activity_stream');
}
$config = \Drupal::configFactory();
// Do not add a new block if it already exists.
$block = Block::load('views_block__activity_stream_block_stream_homepage');
if (!isset($block)) {
$visibility = [
'request_path' => [
'id' => 'request_path',
'pages' => '/stream',
'negate' => FALSE,
'context_mapping' => [],
],
];
$settings = [
'plugin' => 'views_block:activity_stream-block_stream_homepage',
'region' => 'content',
'id' => 'views_block__activity_stream_block_stream_homepage',
'theme' => $config
->get('system.theme')
->get('default'),
'label' => '',
'visibility' => $visibility,
'weight' => NULL,
];
$values = [];
foreach ([
'region',
'id',
'theme',
'plugin',
'weight',
'visibility',
] as $key) {
$values[$key] = $settings[$key];
// Remove extra values that do not belong in the settings array.
unset($settings[$key]);
}
foreach ($values['visibility'] as $id => $visibility) {
$values['visibility'][$id]['id'] = $id;
}
$settings = [
'id' => 'views_block:activity_stream-block_stream_homepage',
'label' => '',
'provider' => 'views',
'label_display' => '0',
'views_label' => '',
'items_per_page' => 'none',
];
$values['settings'] = $settings;
$block = Block::create($values);
$block
->save();
}
}