delete.action.inc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * @file
  4. * Implements a generic entity delete action. Uses Entity API if available.
  5. */
  6. function views_bulk_operations_delete_action_info() {
  7. return array(
  8. 'views_bulk_operations_delete_item' => array(
  9. 'type' => 'entity',
  10. 'label' => t('Delete item'),
  11. 'configurable' => FALSE,
  12. 'behavior' => array('deletes_property'),
  13. 'triggers' => array('any'),
  14. ),
  15. 'views_bulk_operations_delete_revision' => array(
  16. 'type' => 'entity',
  17. 'label' => t('Delete revision'),
  18. 'configurable' => FALSE,
  19. 'behavior' => array('deletes_property'),
  20. ),
  21. );
  22. }
  23. function views_bulk_operations_delete_item($entity, $context) {
  24. $info = entity_get_info($context['entity_type']);
  25. $entity_id = $entity->{$info['entity keys']['id']};
  26. entity_delete($context['entity_type'], $entity_id);
  27. }
  28. function views_bulk_operations_delete_revision($entity, $context) {
  29. $info = entity_get_info($context['entity_type']);
  30. $revision_id = $entity->{$info['entity keys']['revision']};
  31. entity_revision_delete($context['entity_type'], $revision_id);
  32. }