diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-06-03 07:28:28 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-06-03 07:28:28 +0000 |
commit | f63727d1765989e424a98f8133adf4ace0157f83 (patch) | |
tree | 36f417e926f00b450b786042ffdd267ac4290b31 /modules/user/user.module | |
parent | ef3235658a5104520c99ae7d5976137b6641068b (diff) | |
download | brdo-f63727d1765989e424a98f8133adf4ace0157f83.tar.gz brdo-f63727d1765989e424a98f8133adf4ace0157f83.tar.bz2 |
- Patch #479966 by Berdir: document and fix hook_user_categories.
Diffstat (limited to 'modules/user/user.module')
-rw-r--r-- | modules/user/user.module | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/modules/user/user.module b/modules/user/user.module index 089f121ab..6b1675643 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -998,10 +998,14 @@ function user_user_submit(&$edit, &$account, $category = NULL) { } /** - * Implement hook_user_categories. + * Implement hook_user_categories(). */ -function user_user_categories($edit, $account, $category = NULL) { - return array(array('name' => 'account', 'title' => t('Account settings'), 'weight' => 1)); +function user_user_categories() { + return array(array( + 'name' => 'account', + 'title' => t('Account settings'), + 'weight' => 1, + )); } function user_login_block() { @@ -1437,8 +1441,7 @@ function user_menu() { 'load arguments' => array('%map', '%index'), ); - $empty_account = new stdClass(); - if (($categories = _user_categories($empty_account)) && (count($categories) > 1)) { + if (($categories = _user_categories()) && (count($categories) > 1)) { foreach ($categories as $key => $category) { // 'account' is already handled by the MENU_DEFAULT_LOCAL_TASK. if ($category['name'] != 'account') { @@ -1489,8 +1492,7 @@ function user_category_load($uid, &$map, $index) { // Check that the requested category exists. $valid = FALSE; if (!isset($user_categories)) { - $empty_account = new stdClass(); - $user_categories = _user_categories($empty_account); + $user_categories = _user_categories(); } foreach ($user_categories as $category) { if ($category['name'] == $category_path) { @@ -2414,15 +2416,8 @@ function user_help($path, $arg) { /** * Retrieve a list of all user setting/information categories and sort them by weight. */ -function _user_categories($account) { - $categories = array(); - - foreach (module_implements('user_categories') as $module) { - if ($data = module_invoke($module, 'user_categories', NULL, $account, '')) { - $categories = array_merge($data, $categories); - } - } - +function _user_categories() { + $categories = module_invoke_all('user_categories'); usort($categories, '_user_sort'); return $categories; |