function flag_lists_entity_extra_field_info_alter in Flag Lists 4.0.x
Implements hook_entity_extra_field_info_alter().
File
- ./
flag_lists.module, line 298 - Contains flag_lists.module.
Code
function flag_lists_entity_extra_field_info_alter(&$info) {
$flagListsService = \Drupal::service('flaglists');
$config = \Drupal::config('flag_lists.settings');
if ($config
->get('hide_collections_in_displays')) {
$flaggingCollections = $flagListsService
->getAllFlaggingCollections();
foreach ($flaggingCollections as $collection) {
if ($relatedFlag = $collection
->getRelatedFlag()) {
$entityType = $relatedFlag
->getFlaggableEntityTypeId();
$bundles = $relatedFlag
->getApplicableBundles();
foreach ($bundles as $bundle) {
unset($info[$entityType][$bundle]['display']['flag_' . $relatedFlag
->id()]);
}
}
}
}
if ($config
->get('hide_templates_in_displays')) {
$flagService = \Drupal::service('flag');
$flagForLists = $flagListsService
->getAllFlagForList();
foreach ($flagForLists as $template) {
if ($baseFlag = $template
->getBaseFlag()) {
if (!empty($flag = $flagService
->getFlagById($baseFlag))) {
$entityType = $flag
->getFlaggableEntityTypeId();
$bundles = $flag
->getApplicableBundles();
foreach ($bundles as $bundle) {
unset($info[$entityType][$bundle]['display']['flag_' . $flag
->id()]);
}
}
}
}
}
}