function RulesEventManager::getDefinition
Overrides DiscoveryCachedTrait::getDefinition
File
-
src/
Core/ RulesEventManager.php, line 70
Class
- RulesEventManager
- Plugin manager for Rules events that can be triggered.
Namespace
Drupal\rules\CoreCode
public function getDefinition($plugin_id, $exception_on_invalid = TRUE) {
// If a fully qualified event name is passed, be sure to get the base name
// first.
$base_plugin_id = $this->getEventBaseName($plugin_id);
$definition = parent::getDefinition($base_plugin_id, $exception_on_invalid);
if ($base_plugin_id != $plugin_id) {
$parts = explode('--', $plugin_id, 2);
$entity_type_id = explode(':', $parts[0], 2);
$bundles = $this->entityBundleInfo
->getBundleInfo($entity_type_id[1]);
// Replace the event label with the fully-qualified label.
// @todo This is a pretty terrible way of deriving the qualified label
// for a context definition. And it breaks translation.
$definition['label'] = $definition['label'] . " of type " . $bundles[$parts[1]]['label'];
}
return $definition;
}