From abaf5567e7b2bbeee033faa04618270660d80ab4 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 5 Nov 2011 17:33:04 -0400 Subject: Fixes #1253 added toggle for list types to file plugin. It's not pretty so we may want to style/rethink in future version --- mod/file/languages/en.php | 3 +++ mod/file/start.php | 35 +++++++++++++++++++++++++++++++++ views/default/navigation/listtype.php | 28 -------------------------- views/default/navigation/viewtype.php | 6 ++---- views/default/page/elements/sidebar.php | 2 +- 5 files changed, 41 insertions(+), 33 deletions(-) delete mode 100644 views/default/navigation/listtype.php 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': @@ -149,6 +154,36 @@ function file_page_handler($page) { return true; } +/** + * 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 * diff --git a/views/default/navigation/listtype.php b/views/default/navigation/listtype.php deleted file mode 100644 index e90667e8d..000000000 --- a/views/default/navigation/listtype.php +++ /dev/null @@ -1,28 +0,0 @@ - - -

- : - -

\ No newline at end of file diff --git a/views/default/navigation/viewtype.php b/views/default/navigation/viewtype.php index 69d29dc32..6dfa4ebc7 100644 --- a/views/default/navigation/viewtype.php +++ b/views/default/navigation/viewtype.php @@ -5,9 +5,7 @@ * @package Elgg * @subpackage Core * - * @deprecated 1.8 Use navigation/listtype + * @deprecated 1.8 See how file plugin adds a toggle in function file_register_toggle() */ -elgg_deprecated_notice('navigation/viewtype was deprecated by navigation/listtype', 1.8); - -echo elgg_view('navigation/listtype', $vars); \ No newline at end of file +elgg_deprecated_notice('navigation/viewtype was deprecated', 1.8); diff --git a/views/default/page/elements/sidebar.php b/views/default/page/elements/sidebar.php index e1d25eed5..fe6bb450e 100644 --- a/views/default/page/elements/sidebar.php +++ b/views/default/page/elements/sidebar.php @@ -6,7 +6,7 @@ */ echo elgg_view_menu('extras', array( - 'sort_by' => 'name', + 'sort_by' => 'priority', 'class' => 'elgg-menu-hz', )); -- cgit v1.2.3