diff options
Diffstat (limited to 'modules/node/node.pages.inc')
-rw-r--r-- | modules/node/node.pages.inc | 75 |
1 files changed, 1 insertions, 74 deletions
diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc index 1092240f1..6861626c6 100644 --- a/modules/node/node.pages.inc +++ b/modules/node/node.pages.inc @@ -506,38 +506,6 @@ function node_delete_confirm_submit($form, &$form_state) { } /** - * Menu callback for revisions related activities. - */ -function node_revisions() { - if (is_numeric(arg(1)) && arg(2) == 'revisions') { - $op = arg(4) ? arg(4) : 'overview'; - switch ($op) { - case 'overview': - $node = node_load(arg(1)); - if ((user_access('view revisions') || user_access('administer nodes')) && node_access('view', $node)) { - return node_revision_overview($node); - } - drupal_access_denied(); - return; - case 'view': - if (is_numeric(arg(3))) { - $node = node_load(arg(1), arg(3)); - if ($node->nid) { - if ((user_access('view revisions') || user_access('administer nodes')) && node_access('view', $node)) { - drupal_set_title(t('Revision of %title from %date', array('%title' => $node->title, '%date' => format_date($node->revision_timestamp)))); - return node_show($node, arg(2)); - } - drupal_access_denied(); - return; - } - } - break; - } - } - drupal_not_found(); -} - -/** * Generate an overview table of older revisions of a node. */ function node_revision_overview($node) { @@ -553,7 +521,7 @@ function node_revision_overview($node) { $revert_permission = TRUE; } $delete_permission = FALSE; - if (user_access('administer nodes')) { + if ((user_access('delete revisions') || user_access('administer nodes')) && node_access('delete', $node)) { $delete_permission = TRUE; } foreach ($revisions as $revision) { @@ -583,25 +551,6 @@ function node_revision_overview($node) { } /** - * Revert to the revision with the specified revision number. A node and nodeapi "update" event is triggered - * (via the node_save() call) when a revision is reverted. - */ -function node_revision_revert($node, $revision) { - global $user; - - if ((user_access('revert revisions') || user_access('administer nodes')) && node_access('update', $node)) { - $node_revision = node_load($node->nid, $revision); - if ($node_revision->vid) { - return drupal_get_form('node_revision_revert_confirm', $node_revision); - } - else { - drupal_set_message(t('You tried to revert to an invalid revision.'), 'error'); - drupal_goto('node/'. $node->nid .'/revisions'); - } - } - drupal_access_denied(); -} -/** * Ask for confirmation of the reversion to prevent against CSRF attacks. */ function node_revision_revert_confirm($form_state, $node_revision) { @@ -624,28 +573,6 @@ function node_revision_revert_confirm_submit($form, &$form_state) { $form_state['redirect'] = 'node/'. $node_revision->nid .'/revisions'; } -/** - * Delete the revision with specified revision number. A "delete revision" nodeapi event is invoked when a - * revision is deleted. - */ -function node_revision_delete($node, $revision) { - if (user_access('administer nodes')) { - if (node_access('delete', $node)) { - // Don't allow deleting the current revision. - if ($revision != $node->vid) { - // Load the specific revision instead of the current one. - $node_revision = node_load($node->nid, $revision); - return drupal_get_form('node_revision_delete_confirm', $node_revision); - } - else { - drupal_set_message(t('Deletion failed. You tried to delete the current revision.')); - drupal_goto('node/'. $node->nid .'/revisions'); - } - } - } - drupal_access_denied(); -} - function node_revision_delete_confirm($form_state, $node_revision) { $form['#node_revision'] = $node_revision; return confirm_form($form, t('Are you sure you want to delete the revision from %revision-date?', array('%revision-date' => format_date($node_revision->revision_timestamp))), 'node/'. $node_revision->nid .'/revisions', t('This action cannot be undone.'), t('Delete'), t('Cancel')); |