t('Taxonomy'), 'access callback' => 'rules_taxonomy_term_integration_access', 'module' => 'taxonomy', 'class' => 'RulesTaxonomyEventHandler', ); $defaults_vocab = array( 'group' => t('Taxonomy'), 'access callback' => 'rules_taxonomy_vocabulary_integration_access', 'module' => 'taxonomy', ); return array( 'taxonomy_term_insert' => $defaults_term + array( 'label' => t('After saving a new term'), 'variables' => array( 'term' => array('type' => 'taxonomy_term', 'label' => t('created term')), ), ), 'taxonomy_term_update' => $defaults_term + array( 'label' => t('After updating an existing term'), 'variables' => array( 'term' => array('type' => 'taxonomy_term', 'label' => t('updated term')), 'term_unchanged' => array( 'type' => 'taxonomy_term', 'label' => t('unchanged term'), 'handler' => 'rules_events_entity_unchanged', ), ), ), 'taxonomy_term_presave' => $defaults_term + array( 'label' => t('Before saving a taxonomy term'), 'variables' => array( 'term' => array( 'type' => 'taxonomy_term', 'label' => t('saved term'), 'skip save' => TRUE, ), 'term_unchanged' => array( 'type' => 'taxonomy_term', 'label' => t('unchanged term'), 'handler' => 'rules_events_entity_unchanged', ), ), ), 'taxonomy_term_delete' => $defaults_term + array( 'label' => t('After deleting a term'), 'variables' => array( 'term' => array('type' => 'taxonomy_term', 'label' => t('deleted term')), ), ), 'taxonomy_vocabulary_insert' => $defaults_vocab + array( 'label' => t('After saving a new vocabulary'), 'variables' => array( 'vocabulary' => array('type' => 'taxonomy_vocabulary', 'label' => t('created vocabulary')), ), ), 'taxonomy_vocabulary_update' => $defaults_vocab + array( 'label' => t('After updating an existing vocabulary'), 'variables' => array( 'vocabulary' => array( 'type' => 'taxonomy_vocabulary', 'label' => t('updated vocabulary'), ), 'vocabulary_unchanged' => array( 'type' => 'taxonomy_vocabulary', 'label' => t('unchanged vocabulary'), 'handler' => 'rules_events_entity_unchanged', ), ), ), 'taxonomy_vocabulary_presave' => $defaults_vocab + array( 'label' => t('Before saving a vocabulary'), 'variables' => array( 'vocabulary' => array( 'type' => 'taxonomy_vocabulary', 'label' => t('saved vocabulary'), 'skip save' => TRUE, ), 'vocabulary_unchanged' => array( 'type' => 'taxonomy_vocabulary', 'label' => t('unchanged vocabulary'), 'handler' => 'rules_events_entity_unchanged', ), ), ), 'taxonomy_vocabulary_delete' => $defaults_vocab + array( 'label' => t('After deleting a vocabulary'), 'variables' => array( 'vocabulary' => array( 'type' => 'taxonomy_vocabulary', 'label' => t('deleted vocabulary'), ), ), ), ); } /** * Taxonomy term integration access callback. */ function rules_taxonomy_term_integration_access($type, $name) { if ($type == 'event' || $type == 'condition') { return entity_access('view', 'taxonomy_term'); } } /** * Taxonomy vocabulary integration access callback. */ function rules_taxonomy_vocabulary_integration_access($type, $name) { if ($type == 'event' || $type == 'condition') { return entity_access('view', 'taxonomy_vocabulary'); } } /** * Event handler support taxonomy bundle event settings. */ class RulesTaxonomyEventHandler extends RulesEventHandlerEntityBundle { /** * Returns the label to use for the bundle property. * * @return string * The label to use for the bundle property. */ protected function getBundlePropertyLabel() { return t('vocabulary'); } } /** * @} */