summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGábor Hojtsy <gabor@hojtsy.hu>2007-06-26 22:27:25 +0000
committerGábor Hojtsy <gabor@hojtsy.hu>2007-06-26 22:27:25 +0000
commitc362ae539a7fdd03d8d182b0bca467fda1b201c6 (patch)
treec5ef716274730b535961d4670b7ed7e354bac345
parentcc9f167e49299aaf9175e304c49d8f25d3fd05d5 (diff)
downloadbrdo-c362ae539a7fdd03d8d182b0bca467fda1b201c6.tar.gz
brdo-c362ae539a7fdd03d8d182b0bca467fda1b201c6.tar.bz2
#153998 by pwolanin: separate edit a delete permissions, so people who can edit a node cannot delete it too automatically
-rw-r--r--modules/node/node.module10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/node/node.module b/modules/node/node.module
index 892ed6f30..246ff6c2f 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -849,6 +849,8 @@ function node_perm() {
if ($type->module == 'node') {
$name = check_plain($type->type);
$perms[] = 'create '. $name .' content';
+ $perms[] = 'delete own '. $name .' content';
+ $perms[] = 'delete '. $name .' content';
$perms[] = 'edit own '. $name .' content';
$perms[] = 'edit '. $name .' content';
}
@@ -3084,11 +3086,17 @@ function node_content_access($op, $node) {
return user_access('create '. $type .' content');
}
- if ($op == 'update' || $op == 'delete') {
+ if ($op == 'update') {
if (user_access('edit '. $type .' content') || (user_access('edit own '. $type .' content') && ($user->uid == $node->uid))) {
return TRUE;
}
}
+
+ if ($op == 'delete') {
+ if (user_access('delete '. $type .' content') || (user_access('delete own '. $type .' content') && ($user->uid == $node->uid))) {
+ return TRUE;
+ }
+ }
}
/**