aboutsummaryrefslogtreecommitdiff
path: root/mod/file
diff options
context:
space:
mode:
Diffstat (limited to 'mod/file')
-rw-r--r--mod/file/start.php36
1 files changed, 13 insertions, 23 deletions
diff --git a/mod/file/start.php b/mod/file/start.php
index 31362308c..bb291680e 100644
--- a/mod/file/start.php
+++ b/mod/file/start.php
@@ -60,7 +60,7 @@
// Register entity type
register_entity_type('object','file');
- elgg_register_plugin_hook_handler('register', 'menu:user_ownerblock', 'file_user_ownerblock_menu');
+ elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'file_owner_block_menu');
// embed support
elgg_register_plugin_hook_handler('embed_get_sections', 'all', 'file_embed_get_sections');
@@ -70,24 +70,6 @@
}
/**
- * Sets up submenus for the file system. Triggered on pagesetup.
- *
- */
- function file_submenus() {
-
- global $CONFIG;
-
- $page_owner = elgg_get_page_owner();
-
- // Group submenu option
- if ($page_owner instanceof ElggGroup && elgg_get_context() == "groups") {
- if($page_owner->file_enable != "no"){
- add_submenu_item(elgg_echo("file:group",array($page_owner->name)), $CONFIG->wwwroot . "pg/file/" . $page_owner->username);
- }
- }
- }
-
- /**
* File page handler
*
* @param array $page Array of page elements, forwarded by the page handling mechanism
@@ -161,9 +143,18 @@
/**
* Add a menu item to the user ownerblock
*/
-function file_user_ownerblock_menu($hook, $type, $return, $params) {
- $item = new ElggMenuItem('file', elgg_echo('file'), "pg/file/owner/{$params['user']->username}");
- elgg_register_menu_item('user_ownerblock', $item);
+function file_owner_block_menu($hook, $type, $return, $params) {
+ if (elgg_instanceof($params['entity'], 'user')) {
+ $url = "pg/file/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('file', elgg_echo('file'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ } else {
+ if ($params['entity']->file_enable != "no") {
+ $url = "pg/file/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('file', elgg_echo('file:group'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ }
+ }
}
/**
@@ -317,7 +308,6 @@ function file_user_ownerblock_menu($hook, $type, $return, $params) {
// Make sure test_init is called on initialisation
elgg_register_event_handler('init','system','file_init');
- elgg_register_event_handler('pagesetup','system','file_submenus');
// Register actions
elgg_register_action("file/upload", $CONFIG->pluginspath . "file/actions/upload.php");