Index: apply_for_role.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apply_for_role/apply_for_role.module,v
retrieving revision 1.5
diff -u -p -r1.5 apply_for_role.module
--- apply_for_role.module	27 Feb 2008 14:58:33 -0000	1.5
+++ apply_for_role.module	14 Mar 2008 01:31:03 -0000
@@ -17,6 +17,13 @@ function apply_for_role_help($path, $arg
 }
 
 /**
+ * Implementation of hook_access().
+ */
+function apply_for_role_access ($account) {
+  return $account && $account->uid && (($GLOBALS['user']->uid == $account->uid) && user_access('apply for role'));
+}
+
+/*
  * Implementation of hook_perm().
  */
 function apply_for_role_perm() {
@@ -57,12 +64,12 @@ function apply_for_role_menu() {
     'type' => MENU_CALLBACK,
   );
 
-  $items['user/%user/apply_for_role'] = array(
+  $items['user/%user_current/apply_for_role'] = array(
     'title' => t('Apply for role'),
     'page callback' => 'apply_for_role_page',
-    'page arguments' => array('user', TRUE),
-    'access callback' => 'user_access',
-    'access arguments' => array('apply for role'),
+    'page arguments' => array(1),
+    'access callback' => 'apply_for_role_access',
+    'access arguments' => array(1),
     'type' => MENU_LOCAL_TASK,
   );
 
@@ -331,4 +338,4 @@ function apply_for_role_delete_role($uid
   if (!in_array($rid, array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID))) {
     db_query('DELETE FROM {users_roles} WHERE uid = %d AND rid = %d', $uid, $rid);
   }
-}
\ No newline at end of file
+}
