public function EntityDefaultRulesController::eventInfo in Entity API 7
File
- ./
entity.rules.inc, line 24 - Provides Rules integration for entities provided via the CRUD API.
Class
- EntityDefaultRulesController
- Default controller for generating Rules integration.
Code
public function eventInfo() {
$info = $this->info;
$type = $this->type;
$label = $info['label'];
$defaults = array(
'module' => isset($info['module']) ? $info['module'] : 'entity',
'group' => $label,
'access callback' => 'entity_rules_integration_event_access',
);
$items[$type . '_insert'] = $defaults + array(
'label' => t('After saving a new @entity', array(
'@entity' => drupal_strtolower($label),
)),
'variables' => entity_rules_events_variables($type, t('created @entity', array(
'@entity' => drupal_strtolower($label),
))),
);
$items[$type . '_update'] = $defaults + array(
'label' => t('After updating an existing @entity', array(
'@entity' => drupal_strtolower($label),
)),
'variables' => entity_rules_events_variables($type, t('updated @entity', array(
'@entity' => drupal_strtolower($label),
)), TRUE),
);
$items[$type . '_presave'] = $defaults + array(
'label' => t('Before saving a @entity', array(
'@entity' => drupal_strtolower($label),
)),
'variables' => entity_rules_events_variables($type, t('saved @entity', array(
'@entity' => drupal_strtolower($label),
)), TRUE),
);
$items[$type . '_delete'] = $defaults + array(
'label' => t('After deleting a @entity', array(
'@entity' => drupal_strtolower($label),
)),
'variables' => entity_rules_events_variables($type, t('deleted @entity', array(
'@entity' => drupal_strtolower($label),
))),
);
if (count($info['view modes'])) {
$items[$type . '_view'] = $defaults + array(
'label' => t('@entity is viewed', array(
'@entity' => $label,
)),
'variables' => entity_rules_events_variables($type, t('viewed @entity', array(
'@entity' => drupal_strtolower($label),
))) + array(
'view_mode' => array(
'type' => 'text',
'label' => t('view mode'),
'options list' => 'rules_get_entity_view_modes',
// Add the entity-type for the options list callback.
'options list entity type' => $type,
),
),
);
}
// Specify that on presave the entity is saved anyway.
$items[$type . '_presave']['variables'][$type]['skip save'] = TRUE;
return $items;
}