node_revisions

Versions
4.7 – 5
node_revisions()

Menu callback for revisions related activities.

Code

modules/node.module, line 1995

<?php
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' => theme('placeholder', $node->title), '%date' => format_date($node->revision_timestamp))));
              return node_show($node, arg(2));
            }
            drupal_access_denied();
            return;
          }
        }
        break;
      case 'revert':
        return node_revision_revert(arg(1), arg(3));
        break;
      case 'delete':
        return node_revision_delete(arg(1), arg(3));
        break;
    }
  }
  drupal_not_found();
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.