Index: cmf.module =================================================================== --- cmf.module +++ cmf.module (working copy) @@ -42,7 +42,7 @@ * Implementation of hook_perm(). */ function cmf_perm() { - return array('admin cmf module', 'filter and manage site content', 'view user content list'); + return array('admin cmf module', 'filter and manage site content', 'view user content list', 'manage own content only'); } @@ -54,6 +54,7 @@ $manage_access = user_access('filter and manage site content'); $view_access = user_access('view user content list'); + $owner_access = user_access('manage own content only'); // if ($may_cache) { $items[] = array( @@ -90,7 +91,8 @@ $_SESSION['cmf_content_kind'] = 'node'; } - if (arg(0) == 'user' && is_numeric(arg(1)) && arg(1) > 0) { + global $user; + if ((arg(0) == 'user' && is_numeric(arg(1)) && arg(1) > 0) || (user_access('manage own content only') == true && $user->uid != 1)) { $true = true; } @@ -507,6 +509,11 @@ if (arg(0) == 'user' && is_numeric(arg(1)) && arg(1) > 0) { $filter['where'] .= ' AND u.uid = '. arg(1); } + + global $user; + if (user_access('manage own content only') && $user->uid != 1) { + $filter['where'] .= ' AND u.uid = '.$user->uid; + } switch ($kind) { case 'node':