public static function FlagListsActionsController::createActions in Flag Lists 4.0.x
Add Flag Lists Actions.
Parameters
Drupal\Core\Entity\EntityInterface $entity: The entity to create the Actions for.
2 calls to FlagListsActionsController::createActions()
- flag_lists_actions_flagging_collection_presave in modules/
flag_lists_actions/ flag_lists_actions.module - Implements hook_ENTITY_presave().
- flag_lists_actions_install in modules/
flag_lists_actions/ flag_lists_actions.install - Implements hook_install().
File
- modules/
flag_lists_actions/ src/ Controller/ FlagListsActionsController.php, line 23
Class
- FlagListsActionsController
- Class FlagListsActionsController.
Namespace
Drupal\flag_lists_actions\ControllerCode
public static function createActions(EntityInterface $entity) {
$flag = $entity
->getRelatedFlag();
// Add the flag/unflag actions for this flag and entity combination.
$flag_id = 'flag_action.' . $flag
->id() . '_flag';
if (!Action::load($flag_id)) {
$action = Action::create([
'id' => $flag_id,
'type' => $flag
->getFlaggableEntityTypeId(),
'label' => \Drupal::token()
->replace($flag
->getShortText('flag'), [
'flagging_collection' => $entity,
], [
'clear',
]),
'plugin' => 'flag_action:' . $flag
->id() . '_flag',
'configuration' => [
'flag_id' => $flag
->id(),
'flag_action' => 'flag',
],
]);
$action
->trustData()
->save();
}
$unflag_id = 'flag_action.' . $flag
->id() . '_unflag';
if (!Action::load($unflag_id)) {
$action = Action::create([
'id' => $unflag_id,
'type' => $flag
->getFlaggableEntityTypeId(),
'label' => \Drupal::token()
->replace($flag
->getShortText('unflag'), [
'flagging_collection' => $entity,
], [
'clear',
]),
'plugin' => 'flag_action:' . $flag
->id() . '_unflag',
'configuration' => [
'flag_id' => $flag
->id(),
'flag_action' => 'unflag',
],
]);
$action
->trustData()
->save();
}
}