diff options
Diffstat (limited to 'modules/forum.module')
-rw-r--r-- | modules/forum.module | 10 |
1 files changed, 9 insertions, 1 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'); } /** |