summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/forum.module10
-rw-r--r--modules/forum/forum.module10
2 files changed, 18 insertions, 2 deletions
diff --git a/modules/forum.module b/modules/forum.module
index a3792ac51..147947f60 100644
--- a/modules/forum.module
+++ b/modules/forum.module
@@ -44,16 +44,24 @@ function forum_node_name($node) {
* Implementation of hook_access().
*/
function forum_access($op, $node) {
+ global $user;
+
if ($op == 'create') {
return user_access('create forum topics');
}
+
+ if ($op == 'update' || $op == 'delete') {
+ if (user_access('edit own forum topics') && ($user->uid == $node->uid)) {
+ return TRUE;
+ }
+ }
}
/**
* Implementation of hook_perm().
*/
function forum_perm() {
- return array('create forum topics');
+ return array('create forum topics', 'edit own forum topics');
}
/**
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index a3792ac51..147947f60 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -44,16 +44,24 @@ function forum_node_name($node) {
* Implementation of hook_access().
*/
function forum_access($op, $node) {
+ global $user;
+
if ($op == 'create') {
return user_access('create forum topics');
}
+
+ if ($op == 'update' || $op == 'delete') {
+ if (user_access('edit own forum topics') && ($user->uid == $node->uid)) {
+ return TRUE;
+ }
+ }
}
/**
* Implementation of hook_perm().
*/
function forum_perm() {
- return array('create forum topics');
+ return array('create forum topics', 'edit own forum topics');
}
/**