diff options
Diffstat (limited to 'modules/node.module')
-rw-r--r-- | modules/node.module | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/modules/node.module b/modules/node.module index d41c0862b..5281d55b3 100644 --- a/modules/node.module +++ b/modules/node.module @@ -1667,11 +1667,13 @@ function node_page() { case 'add': return node_add(arg(2)); break; - case 'edit': - return node_edit(arg(1)); - break; case 'revisions': - return node_revision_overview(arg(1)); + if (user_access('administer nodes')) { + return node_revision_overview(arg(1)); + } + else { + drupal_access_denied(); + } break; case 'rollback-revision': node_revision_rollback(arg(1), arg(3)); @@ -1679,6 +1681,18 @@ function node_page() { case 'delete-revision': node_revision_delete(arg(1), arg(3)); break; + case 'edit': + if (is_numeric(arg(1))) { + $node = node_load(array('nid' => arg(1))); + if ($node->nid) { + drupal_set_title($node->title); + return node_edit(arg(1)); + } + else { + drupal_not_found(); + } + } + break; case 'view': if (is_numeric(arg(1))) { $node = node_load(array('nid' => arg(1)), $_GET['revision']); |