diff options
author | Steven Wittens <steven@10.no-reply.drupal.org> | 2005-05-25 07:14:00 +0000 |
---|---|---|
committer | Steven Wittens <steven@10.no-reply.drupal.org> | 2005-05-25 07:14:00 +0000 |
commit | cbd6837b40696e496ddbe77ab6f5d37bab26b57b (patch) | |
tree | b412b1124e1bd14295db0a2501626f30a3dbb83e /modules | |
parent | f3cbb10d8ebff6ff0c275c817df1e187da8e3128 (diff) | |
download | brdo-cbd6837b40696e496ddbe77ab6f5d37bab26b57b.tar.gz brdo-cbd6837b40696e496ddbe77ab6f5d37bab26b57b.tar.bz2 |
- #18406: make node_page 404 on meaningless nids
Diffstat (limited to 'modules')
-rw-r--r-- | modules/node.module | 22 | ||||
-rw-r--r-- | modules/node/node.module | 22 |
2 files changed, 36 insertions, 8 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']); diff --git a/modules/node/node.module b/modules/node/node.module index d41c0862b..5281d55b3 100644 --- a/modules/node/node.module +++ b/modules/node/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']); |