diff options
Diffstat (limited to 'mod/file')
-rw-r--r-- | mod/file/languages/en.php | 3 | ||||
-rw-r--r-- | mod/file/start.php | 35 |
2 files changed, 38 insertions, 0 deletions
diff --git a/mod/file/languages/en.php b/mod/file/languages/en.php index c4d5a4f88..278076927 100644 --- a/mod/file/languages/en.php +++ b/mod/file/languages/en.php @@ -35,6 +35,9 @@ $english = array( 'file:desc' => "Description", 'file:tags' => "Tags", + 'file:list:list' => 'Switch to the list view', + 'file:list:gallery' => 'Switch to the gallery view', + 'file:types' => "Uploaded file types", 'file:type:' => 'Files', diff --git a/mod/file/start.php b/mod/file/start.php index 7a0a05844..d6e17cc4b 100644 --- a/mod/file/start.php +++ b/mod/file/start.php @@ -114,9 +114,11 @@ function file_page_handler($page) { $page_type = $page[0]; switch ($page_type) { case 'owner': + file_register_toggle(); include "$file_dir/owner.php"; break; case 'friends': + file_register_toggle(); include "$file_dir/friends.php"; break; case 'view': @@ -131,12 +133,15 @@ function file_page_handler($page) { include "$file_dir/edit.php"; break; case 'search': + file_register_toggle(); include "$file_dir/search.php"; break; case 'group': + file_register_toggle(); include "$file_dir/owner.php"; break; case 'all': + file_register_toggle(); include "$file_dir/world.php"; break; case 'download': @@ -150,6 +155,36 @@ function file_page_handler($page) { } /** + * Adds a toggle to extra menu for switching between list and gallery views + */ +function file_register_toggle() { + $url = elgg_http_remove_url_query_element(current_page_url(), 'list_type'); + + if (get_input('list_type', 'list') == 'list') { + $list_type = "gallery"; + $icon = elgg_view_icon('grid'); + } else { + $list_type = "list"; + $icon = elgg_view_icon('list'); + } + + if (substr_count($url, '?')) { + $url .= "&list_type=" . $list_type; + } else { + $url .= "?list_type=" . $list_type; + } + + + elgg_register_menu_item('extras', array( + 'name' => 'file_list', + 'text' => $icon, + 'href' => $url, + 'title' => elgg_echo("file:list:$list_type"), + 'priority' => 1000, + )); +} + +/** * Creates the notification message body * * @param string $hook |