node_revision_delete($nid, $revision)
node/node.module, line 1808
Delete the revision with specified revision number. A "delete revision" nodeapi event is invoked when a revision is deleted.
<?php
function node_revision_delete($nid, $revision) {
if (user_access('administer nodes')) {
$node = node_load($nid);
if (node_access('delete', $node)) {
// Don't delete the current revision
if ($revision != $node->vid) {
if ($node = node_load($nid, $revision)) {
return drupal_get_form('node_revision_delete_confirm', $node);
}
else {
drupal_set_message(t('Deletion failed. You tried to delete a non-existing revision.'));
}
}
else {
drupal_set_message(t('Deletion failed. You tried to delete the current revision.'));
}
if (db_result(db_query('SELECT COUNT(vid) FROM {node_revisions} WHERE nid = %d', $nid)) > 1) {
drupal_goto('node/'. $nid .'/revisions');
}
else {
drupal_goto('node/'. $nid);
}
}
}
drupal_access_denied();
}
?>