Index: modules/blog/blog.module =================================================================== RCS file: /cvs/drupal/drupal/modules/blog/blog.module,v retrieving revision 1.296 diff -u -p -r1.296 blog.module --- modules/blog/blog.module 28 Dec 2007 12:02:51 -0000 1.296 +++ modules/blog/blog.module 8 Jan 2008 16:44:20 -0000 @@ -23,21 +23,20 @@ function blog_node_info() { * Implementation of hook_perm(). */ function blog_perm() { - return array('edit own blog'); + return array('edit own blog', 'delete own blog entries'); } /** * Implementation of hook_access(). */ function blog_access($op, $node, $account) { - if ($op == 'create') { - return user_access('edit own blog', $account) && $account->uid; - } - - if ($op == 'update' || $op == 'delete') { - if (user_access('edit own blog', $account) && ($node->uid == $account->uid)) { - return TRUE; - } + switch ($op) { + case 'create': + return user_access('edit own blog', $account) && $account->uid; + case 'update': + return user_access('edit own blog', $account) && ($node->uid == $account->uid); + case 'delete': + return user_access('delete own blog entries', $account) && ($node->uid == $account->uid); } } Index: modules/forum/forum.module =================================================================== RCS file: /cvs/drupal/drupal/modules/forum/forum.module,v retrieving revision 1.443 diff -u -p -r1.443 forum.module --- modules/forum/forum.module 8 Jan 2008 10:35:41 -0000 1.443 +++ modules/forum/forum.module 8 Jan 2008 16:44:21 -0000 @@ -305,14 +305,13 @@ function forum_node_info() { * Implementation of hook_access(). */ function forum_access($op, $node, $account) { - if ($op == 'create') { - return user_access('create forum topics', $account); - } - - if ($op == 'update' || $op == 'delete') { - if (user_access('edit any forum topic', $account) || (user_access('edit own forum topics', $account) && ($account->uid == $node->uid))) { - return TRUE; - } + switch ($op) { + case 'create': + return user_access('create forum topics', $account); + case 'update': + return user_access('edit any forum topic', $account) || (user_access('edit own forum topics', $account) && ($account->uid == $node->uid)); + case 'delete': + return user_access('delete any forum topic', $account) || (user_access('delete own forum topics', $account) && ($account->uid == $node->uid)); } } @@ -320,7 +319,7 @@ function forum_access($op, $node, $accou * Implementation of hook_perm(). */ function forum_perm() { - return array('create forum topics', 'edit own forum topics', 'edit any forum topic', 'administer forums'); + return array('create forum topics', 'delete own forum topics', 'delete any forum topic', 'edit own forum topics', 'edit any forum topic', 'administer forums'); } /** Index: modules/poll/poll.module =================================================================== RCS file: /cvs/drupal/drupal/modules/poll/poll.module,v retrieving revision 1.261 diff -u -p -r1.261 poll.module --- modules/poll/poll.module 4 Jan 2008 08:04:45 -0000 1.261 +++ modules/poll/poll.module 8 Jan 2008 16:44:22 -0000 @@ -54,7 +54,7 @@ function poll_theme() { * Implementation of hook_perm(). */ function poll_perm() { - return array('create poll content', 'edit any poll content', 'edit own poll content', 'vote on polls', 'cancel own vote', 'inspect all votes'); + return array('create poll content', 'delete own poll content', 'delete any poll content', 'edit any poll content', 'edit own poll content', 'vote on polls', 'cancel own vote', 'inspect all votes'); } /** @@ -66,6 +66,8 @@ function poll_access($op, $node, $accoun return user_access('create poll content', $account); case 'update': return user_access('edit any poll content', $account) || (user_access('edit own poll content', $account) && ($node->uid == $account->uid)); + case 'delete': + return user_access('delete any poll content', $account) || (user_access('delete own poll content', $account) && ($node->uid == $account->uid)); } }