public static function GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility in Open Social 8.9
Same name and namespace in other branches
- 8.4 modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 8.5 modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 8.6 modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 8.7 modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 8.8 modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 10.3.x modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 10.0.x modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 10.1.x modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- 10.2.x modules/social_features/social_group/src/GroupContentVisibilityUpdate.php \Drupal\social_group\GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
Update Group content after Group changed.
Parameters
\Drupal\group\Entity\Group $group: The Group we've updated.
string $new_type: The Group's new group type.
Throws
\Drupal\Core\Entity\EntityStorageException
1 call to GroupContentVisibilityUpdate::batchUpdateGroupContentVisibility()
- _social_group_type_edit_submit in modules/
social_features/ social_group/ social_group.module - Form submit for removing members from a group so we can clear caches.
File
- modules/
social_features/ social_group/ src/ GroupContentVisibilityUpdate.php, line 60
Class
- GroupContentVisibilityUpdate
- Class GroupContentVisibilityUpdate.
Namespace
Drupal\social_groupCode
public static function batchUpdateGroupContentVisibility(Group $group, $new_type) {
// Set it up as a batch. We need to update visibility.
// Load all the GroupContentEntities from Post to Memberships to content.
$entities = $group
->getContentEntities();
$posts = self::getPostsFromGroup($group);
foreach ($posts as $pid => $post) {
$entities[] = $post;
}
$memberships = $group
->getMembers();
foreach ($memberships as $member) {
$entities[] = $member;
}
$num_operations = count($entities);
$operations = [];
// Update Memberships & ContentVisibility.
// As per documentation each entity has it's own operation.
for ($i = 0; $i < $num_operations; $i++) {
$operations[] = [
'\\Drupal\\social_group\\GroupContentVisibilityUpdate::updateVisibility',
[
$entities[$i],
$new_type,
],
];
}
// Provide all the operations and the finish callback to our batch.
$batch = [
'title' => t('Updating Group Content...'),
'operations' => $operations,
'finished' => '\\Drupal\\social_group\\GroupContentVisibilityUpdate::updateVisibilityFinishedCallback',
];
batch_set($batch);
$group
->set('type', $new_type);
$group
->save();
}