You are here

function node_revision_delete in Drupal 7

Same name and namespace in other branches
  1. 8 core/modules/node/node.module \node_revision_delete()
  2. 4 modules/node.module \node_revision_delete()
  3. 5 modules/node/node.module \node_revision_delete()
  4. 9 core/modules/node/node.module \node_revision_delete()

Deletes a node revision.

Parameters

$revision_id: The revision ID to delete.

2 calls to node_revision_delete()
node_revision_delete_confirm_submit in modules/node/node.pages.inc
Form submission handler for node_revision_delete_confirm().
node_user_delete in modules/node/node.module
Implements hook_user_delete().

File

modules/node/node.module, line 1297
The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.

Code

function node_revision_delete($revision_id) {
  if ($revision = node_load(NULL, $revision_id)) {

    // Prevent deleting the current revision.
    $node = node_load($revision->nid);
    if ($revision_id == $node->vid) {
      return FALSE;
    }
    db_delete('node_revision')
      ->condition('nid', $revision->nid)
      ->condition('vid', $revision->vid)
      ->execute();
    module_invoke_all('node_revision_delete', $revision);
    field_attach_delete_revision('node', $revision);
    return TRUE;
  }
  return FALSE;
}