summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorSteven Wittens <steven@10.no-reply.drupal.org>2005-05-25 07:14:00 +0000
committerSteven Wittens <steven@10.no-reply.drupal.org>2005-05-25 07:14:00 +0000
commitcbd6837b40696e496ddbe77ab6f5d37bab26b57b (patch)
treeb412b1124e1bd14295db0a2501626f30a3dbb83e /modules
parentf3cbb10d8ebff6ff0c275c817df1e187da8e3128 (diff)
downloadbrdo-cbd6837b40696e496ddbe77ab6f5d37bab26b57b.tar.gz
brdo-cbd6837b40696e496ddbe77ab6f5d37bab26b57b.tar.bz2
- #18406: make node_page 404 on meaningless nids
Diffstat (limited to 'modules')
-rw-r--r--modules/node.module22
-rw-r--r--modules/node/node.module22
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']);