function social_activity_filter_update_8003 in Open Social 10.0.x
Same name and namespace in other branches
- 10.3.x modules/social_features/social_activity/modules/social_activity_filter/social_activity_filter.install \social_activity_filter_update_8003()
- 10.1.x modules/social_features/social_activity/modules/social_activity_filter/social_activity_filter.install \social_activity_filter_update_8003()
- 10.2.x modules/social_features/social_activity/modules/social_activity_filter/social_activity_filter.install \social_activity_filter_update_8003()
Update and set delta of referenced blocks for existing landing page items.
File
- modules/
social_features/ social_activity/ modules/ social_activity_filter/ social_activity_filter.install, line 98 - Install, update and uninstall functions for social_activity_filter module.
Code
function social_activity_filter_update_8003() {
$connection = Database::getConnection();
$query = $connection
->select('paragraph__field_block_reference', 'pfbr');
$query
->fields('pfbr', [
'entity_id',
'field_block_reference_settings',
]);
$query
->condition('pfbr.bundle', 'block');
$query
->join('paragraph__field_section_paragraph', 'pfsp', 'pfsp.field_section_paragraph_target_id = pfbr.entity_id');
$query
->condition('pfsp.bundle', 'section');
$query
->join('node__field_landing_page_section', 'nflps', 'nflps.field_landing_page_section_target_id = pfsp.entity_id');
$query
->fields('nflps', [
'delta',
]);
$query
->condition('nflps.bundle', 'landing_page');
$referenced_blocks = $query
->execute()
->fetchAll();
foreach ($referenced_blocks as $referenced_block) {
$settings = unserialize($referenced_block->field_block_reference_settings);
$settings['delta'] = $referenced_block->delta;
$connection
->update('paragraph__field_block_reference')
->fields([
'field_block_reference_settings' => serialize($settings),
])
->condition('entity_id', $referenced_block->entity_id)
->condition('bundle', 'block')
->execute();
}
}