function workbench_moderation_action_info_alter in Workbench Moderation 8
Same name and namespace in other branches
- 8.2 workbench_moderation.module \workbench_moderation_action_info_alter()
Implements hook_action_info_alter().
File
- ./
workbench_moderation.module, line 203 - Contains workbench_moderation.module.
Code
function workbench_moderation_action_info_alter(&$definitions) {
// The publish/unpublish actions are not valid on moderated entities. So swap
// their implementations out for alternates that will become a no-op on a
// moderated node. If another module has already swapped out those classes,
// though, we'll be polite and do nothing.
if (isset($definitions['node_publish_action']['class']) && $definitions['node_publish_action']['class'] == PublishAction::class) {
$definitions['node_publish_action']['class'] = ModerationOptOutPublishNode::class;
}
if (isset($definitions['node_unpublish_action']['class']) && $definitions['node_unpublish_action']['class'] == UnpublishAction::class) {
$definitions['node_unpublish_action']['class'] = ModerationOptOutUnpublishNode::class;
}
if (isset($definitions['entity:publish_action:node']['class']) && $definitions['entity:publish_action:node']['class'] == PublishAction::class) {
$definitions['entity:publish_action:node']['class'] = ModerationOptOutPublishNode::class;
}
if (isset($definitions['entity:unpublish_action:node']['class']) && $definitions['entity:unpublish_action:node']['class'] == UnpublishAction::class) {
$definitions['entity:publish_action:node']['class'] = ModerationOptOutUnpublishNode::class;
}
}