From 672bca794418ffa5544319de1a8ecfed3f088bd0 Mon Sep 17 00:00:00 2001 From: Brett Profitt Date: Wed, 28 Sep 2011 22:13:22 -0700 Subject: Fixes #3823. More carefully casting to int for file's search. --- mod/file/pages/file/search.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'mod/file/pages') diff --git a/mod/file/pages/file/search.php b/mod/file/pages/file/search.php index 569657fd4..402a28933 100644 --- a/mod/file/pages/file/search.php +++ b/mod/file/pages/file/search.php @@ -5,7 +5,12 @@ * @package ElggFile */ -$page_owner_guid = (int)get_input('page_owner', null); +$page_owner_guid = get_input('page_owner', null); + +if ($page_owner_guid !== null) { + $page_owner_guid = sanitise_int($page_owner_guid); +} + if ($page_owner_guid) { elgg_set_page_owner_guid($page_owner_guid); } -- cgit v1.2.3 From ff75f99e734b6b99da77ba946e953f08a6e81a5b Mon Sep 17 00:00:00 2001 From: cash Date: Mon, 10 Oct 2011 20:25:20 -0400 Subject: Refs #3916 added checks to all content plugins in master for page owner in mine and friends pages --- mod/blog/lib/blog.php | 3 +++ mod/bookmarks/pages/bookmarks/friends.php | 3 +++ mod/bookmarks/pages/bookmarks/owner.php | 3 +++ mod/file/pages/file/friends.php | 3 +++ mod/file/pages/file/owner.php | 3 +++ mod/pages/pages/pages/friends.php | 2 +- mod/pages/pages/pages/owner.php | 2 +- mod/thewire/pages/thewire/friends.php | 3 +++ mod/thewire/pages/thewire/owner.php | 3 +++ 9 files changed, 23 insertions(+), 2 deletions(-) (limited to 'mod/file/pages') diff --git a/mod/blog/lib/blog.php b/mod/blog/lib/blog.php index f24e6f58d..41924f336 100644 --- a/mod/blog/lib/blog.php +++ b/mod/blog/lib/blog.php @@ -124,6 +124,9 @@ function blog_get_page_content_list($container_guid = NULL) { function blog_get_page_content_friends($user_guid) { $user = get_user($user_guid); + if (!$user) { + forward('blog/all'); + } $return = array(); diff --git a/mod/bookmarks/pages/bookmarks/friends.php b/mod/bookmarks/pages/bookmarks/friends.php index 3491090a5..be164fcec 100644 --- a/mod/bookmarks/pages/bookmarks/friends.php +++ b/mod/bookmarks/pages/bookmarks/friends.php @@ -6,6 +6,9 @@ */ $owner = elgg_get_page_owner_entity(); +if (!$page_owner) { + forward('bookmarks/all'); +} elgg_push_breadcrumb($owner->name, "bookmarks/owner/$owner->username"); elgg_push_breadcrumb(elgg_echo('friends')); diff --git a/mod/bookmarks/pages/bookmarks/owner.php b/mod/bookmarks/pages/bookmarks/owner.php index 679c986be..7f55e08de 100644 --- a/mod/bookmarks/pages/bookmarks/owner.php +++ b/mod/bookmarks/pages/bookmarks/owner.php @@ -6,6 +6,9 @@ */ $page_owner = elgg_get_page_owner_entity(); +if (!$page_owner) { + forward('bookmarks/all'); +} elgg_push_breadcrumb($page_owner->name); diff --git a/mod/file/pages/file/friends.php b/mod/file/pages/file/friends.php index 0b351efaf..f504bdc1f 100644 --- a/mod/file/pages/file/friends.php +++ b/mod/file/pages/file/friends.php @@ -6,6 +6,9 @@ */ $owner = elgg_get_page_owner_entity(); +if (!$owner) { + forward('file/all'); +} elgg_push_breadcrumb(elgg_echo('file'), "file/all"); elgg_push_breadcrumb($owner->name, "file/owner/$owner->username"); diff --git a/mod/file/pages/file/owner.php b/mod/file/pages/file/owner.php index 4e2ec89d4..fb87af1b2 100644 --- a/mod/file/pages/file/owner.php +++ b/mod/file/pages/file/owner.php @@ -9,6 +9,9 @@ group_gatekeeper(); $owner = elgg_get_page_owner_entity(); +if (!$owner) { + forward('file/all'); +} elgg_push_breadcrumb(elgg_echo('file'), "file/all"); elgg_push_breadcrumb($owner->name); diff --git a/mod/pages/pages/pages/friends.php b/mod/pages/pages/pages/friends.php index c55b27466..87ac631c2 100644 --- a/mod/pages/pages/pages/friends.php +++ b/mod/pages/pages/pages/friends.php @@ -7,7 +7,7 @@ $owner = elgg_get_page_owner_entity(); if (!$owner) { - + forward('pages/all'); } elgg_push_breadcrumb($owner->name, "pages/owner/$owner->username"); diff --git a/mod/pages/pages/pages/owner.php b/mod/pages/pages/pages/owner.php index 2ff310ac8..2ff45ae0c 100644 --- a/mod/pages/pages/pages/owner.php +++ b/mod/pages/pages/pages/owner.php @@ -7,7 +7,7 @@ $owner = elgg_get_page_owner_entity(); if (!$owner) { - + forward('pages/all'); } // access check for closed groups diff --git a/mod/thewire/pages/thewire/friends.php b/mod/thewire/pages/thewire/friends.php index 265b73eab..26ad03da6 100644 --- a/mod/thewire/pages/thewire/friends.php +++ b/mod/thewire/pages/thewire/friends.php @@ -4,6 +4,9 @@ */ $owner = elgg_get_page_owner_entity(); +if (!$owner) { + forward('thewire/all'); +} $title = elgg_echo('thewire:friends'); diff --git a/mod/thewire/pages/thewire/owner.php b/mod/thewire/pages/thewire/owner.php index b6449b217..a95786b0a 100644 --- a/mod/thewire/pages/thewire/owner.php +++ b/mod/thewire/pages/thewire/owner.php @@ -5,6 +5,9 @@ */ $owner = elgg_get_page_owner_entity(); +if (!$owner) { + forward('thewire/all'); +} $title = elgg_echo('thewire:user', array($owner->name)); -- cgit v1.2.3 From 21f67d2117ed460c7d8374c9b42348e2eea2b0f4 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Thu, 3 Nov 2011 07:17:38 -0400 Subject: Fixes #4042 made sure empty content pages had a message about no content --- mod/bookmarks/pages/bookmarks/all.php | 4 ++++ mod/bookmarks/pages/bookmarks/friends.php | 8 ++++---- mod/file/languages/en.php | 2 +- mod/file/pages/file/world.php | 3 +++ mod/groups/languages/en.php | 5 +++-- mod/groups/lib/discussion.php | 3 +++ mod/groups/lib/groups.php | 15 +++++++++++++++ mod/groups/views/default/discussion/group_module.php | 2 +- 8 files changed, 34 insertions(+), 8 deletions(-) (limited to 'mod/file/pages') diff --git a/mod/bookmarks/pages/bookmarks/all.php b/mod/bookmarks/pages/bookmarks/all.php index d9ac2767f..f57776752 100644 --- a/mod/bookmarks/pages/bookmarks/all.php +++ b/mod/bookmarks/pages/bookmarks/all.php @@ -20,6 +20,10 @@ $content = elgg_list_entities(array( 'view_toggle_type' => false )); +if (!$content) { + $content = elgg_echo('bookmarks:none'); +} + $title = elgg_echo('bookmarks:everyone'); $body = elgg_view_layout('content', array( diff --git a/mod/bookmarks/pages/bookmarks/friends.php b/mod/bookmarks/pages/bookmarks/friends.php index be164fcec..15b1da098 100644 --- a/mod/bookmarks/pages/bookmarks/friends.php +++ b/mod/bookmarks/pages/bookmarks/friends.php @@ -5,19 +5,19 @@ * @package ElggBookmarks */ -$owner = elgg_get_page_owner_entity(); +$page_owner = elgg_get_page_owner_entity(); if (!$page_owner) { forward('bookmarks/all'); } -elgg_push_breadcrumb($owner->name, "bookmarks/owner/$owner->username"); +elgg_push_breadcrumb($page_owner->name, "bookmarks/owner/$page_owner->username"); elgg_push_breadcrumb(elgg_echo('friends')); elgg_register_title_button(); $title = elgg_echo('bookmarks:friends'); -$content = list_user_friends_objects($owner->guid, 'bookmarks', 10, false); +$content = list_user_friends_objects($page_owner->guid, 'bookmarks', 10, false); if (!$content) { $content = elgg_echo('bookmarks:none'); } @@ -30,4 +30,4 @@ $params = array( $body = elgg_view_layout('content', $params); -echo elgg_view_page($title, $body); \ No newline at end of file +echo elgg_view_page($title, $body); diff --git a/mod/file/languages/en.php b/mod/file/languages/en.php index 96fbd1c48..c4d5a4f88 100644 --- a/mod/file/languages/en.php +++ b/mod/file/languages/en.php @@ -95,7 +95,7 @@ $english = array( * Error messages */ - 'file:none' => "No files uploaded.", + 'file:none' => "No files.", 'file:uploadfailed' => "Sorry; we could not save your file.", 'file:downloadfailed' => "Sorry; this file is not available at this time.", 'file:deletefailed' => "Your file could not be deleted at this time.", diff --git a/mod/file/pages/file/world.php b/mod/file/pages/file/world.php index e438ca2f0..770dfd6e8 100644 --- a/mod/file/pages/file/world.php +++ b/mod/file/pages/file/world.php @@ -19,6 +19,9 @@ $content = elgg_list_entities(array( 'limit' => $limit, 'full_view' => FALSE )); +if (!$content) { + $content = elgg_echo('file:none'); +} $sidebar = file_get_type_cloud(); $sidebar = elgg_view('file/sidebar'); diff --git a/mod/groups/languages/en.php b/mod/groups/languages/en.php index 9f8bed9a4..0818e5602 100644 --- a/mod/groups/languages/en.php +++ b/mod/groups/languages/en.php @@ -69,9 +69,9 @@ $english = array( 'groups:notfound' => "Group not found", 'groups:notfound:details' => "The requested group either does not exist or you do not have access to it", - 'groups:requests:none' => 'There are no outstanding membership requests at this time.', + 'groups:requests:none' => 'There are no current membership requests.', - 'groups:invitations:none' => 'There are no outstanding invitations at this time.', + 'groups:invitations:none' => 'There are no current invitations.', 'item:object:groupforumtopic' => "Discussion topics", @@ -113,6 +113,7 @@ $english = array( 'discussion:add' => 'Add discussion topic', 'discussion:latest' => 'Latest discussion', 'discussion:group' => 'Group discussion', + 'discussion:none' => 'No discussion', 'discussion:topic:created' => 'The discussion topic was created.', 'discussion:topic:updated' => 'The discussion topic was updated.', diff --git a/mod/groups/lib/discussion.php b/mod/groups/lib/discussion.php index e129e0f9d..68e5e4884 100644 --- a/mod/groups/lib/discussion.php +++ b/mod/groups/lib/discussion.php @@ -60,6 +60,9 @@ function discussion_handle_list_page($guid) { 'full_view' => false, ); $content = elgg_list_entities($options); + if (!$content) { + $content = elgg_echo('discussion:none'); + } $params = array( diff --git a/mod/groups/lib/groups.php b/mod/groups/lib/groups.php index 44143d440..590ba2b35 100644 --- a/mod/groups/lib/groups.php +++ b/mod/groups/lib/groups.php @@ -24,6 +24,9 @@ function groups_handle_all_page() { 'inverse_relationship' => false, 'full_view' => false, )); + if (!$content) { + $content = elgg_echo('groups:none'); + } break; case 'discussion': $content = elgg_list_entities(array( @@ -33,6 +36,9 @@ function groups_handle_all_page() { 'limit' => 40, 'full_view' => false, )); + if (!$content) { + $content = elgg_echo('discussion:none'); + } break; case 'newest': default: @@ -40,6 +46,9 @@ function groups_handle_all_page() { 'type' => 'group', 'full_view' => false, )); + if (!$content) { + $content = elgg_echo('groups:none'); + } break; } @@ -107,6 +116,9 @@ function groups_handle_owned_page() { 'owner_guid' => elgg_get_page_owner_guid(), 'full_view' => false, )); + if (!$content) { + $content = elgg_echo('groups:none'); + } $params = array( 'content' => $content, @@ -137,6 +149,9 @@ function groups_handle_mine_page() { 'inverse_relationship' => false, 'full_view' => false, )); + if (!$content) { + $content = elgg_echo('groups:none'); + } $params = array( 'content' => $content, diff --git a/mod/groups/views/default/discussion/group_module.php b/mod/groups/views/default/discussion/group_module.php index 3c9961f82..e0bcd55d6 100644 --- a/mod/groups/views/default/discussion/group_module.php +++ b/mod/groups/views/default/discussion/group_module.php @@ -31,7 +31,7 @@ $content = elgg_list_entities($options); elgg_pop_context(); if (!$content) { - $content = '

' . elgg_echo('grouptopic:notcreated') . '

'; + $content = '

' . elgg_echo('discussion:none') . '

'; } $new_link = elgg_view('output/url', array( -- cgit v1.2.3 From 272ac7519214f1b75d4b71247438612af8c86643 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 5 Nov 2011 15:43:50 -0400 Subject: Fixes #4048 using page handler for file downloads --- mod/file/download.php | 29 +------------------------- mod/file/pages/file/download.php | 38 +++++++++++++++++++++++++++++++++++ mod/file/pages/file/view.php | 2 +- mod/file/start.php | 5 +++++ mod/file/views/rss/file/enclosure.php | 2 +- 5 files changed, 46 insertions(+), 30 deletions(-) create mode 100644 mod/file/pages/file/download.php (limited to 'mod/file/pages') diff --git a/mod/file/download.php b/mod/file/download.php index 8e0287a1e..b2acdffec 100644 --- a/mod/file/download.php +++ b/mod/file/download.php @@ -9,31 +9,4 @@ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); // Get the guid $file_guid = get_input("file_guid"); -// Get the file -$file = get_entity($file_guid); -if (!$file) { - register_error(elgg_echo("file:downloadfailed")); - forward(); -} - -$mime = $file->getMimeType(); -if (!$mime) { - $mime = "application/octet-stream"; -} - -$filename = $file->originalfilename; - -// fix for IE https issue -header("Pragma: public"); - -header("Content-type: $mime"); -if (strpos($mime, "image/") !== false) { - header("Content-Disposition: inline; filename=\"$filename\""); -} else { - header("Content-Disposition: attachment; filename=\"$filename\""); -} - -ob_clean(); -flush(); -readfile($file->getFilenameOnFilestore()); -exit; +forward("file/download/$file_guid"); diff --git a/mod/file/pages/file/download.php b/mod/file/pages/file/download.php new file mode 100644 index 000000000..00e6d500e --- /dev/null +++ b/mod/file/pages/file/download.php @@ -0,0 +1,38 @@ +getMimeType(); +if (!$mime) { + $mime = "application/octet-stream"; +} + +$filename = $file->originalfilename; + +// fix for IE https issue +header("Pragma: public"); + +header("Content-type: $mime"); +if (strpos($mime, "image/") !== false) { + header("Content-Disposition: inline; filename=\"$filename\""); +} else { + header("Content-Disposition: attachment; filename=\"$filename\""); +} + +ob_clean(); +flush(); +readfile($file->getFilenameOnFilestore()); +exit; diff --git a/mod/file/pages/file/view.php b/mod/file/pages/file/view.php index 50c55a74f..a571c9d68 100644 --- a/mod/file/pages/file/view.php +++ b/mod/file/pages/file/view.php @@ -28,7 +28,7 @@ $content .= elgg_view_comments($file); elgg_register_menu_item('title', array( 'name' => 'download', 'text' => elgg_echo('file:download'), - 'href' => "mod/file/download.php?file_guid=$file->guid", + 'href' => "file/download/$file->guid", 'link_class' => 'elgg-button elgg-button-action', )); diff --git a/mod/file/start.php b/mod/file/start.php index f8b7fa423..7a0a05844 100644 --- a/mod/file/start.php +++ b/mod/file/start.php @@ -96,6 +96,7 @@ function file_init() { * New file: file/add/ * Edit file: file/edit/ * Group files: file/group//all + * Download: file/download/ * * Title is ignored * @@ -138,6 +139,10 @@ function file_page_handler($page) { case 'all': include "$file_dir/world.php"; break; + case 'download': + set_input('guid', $page[1]); + include "$file_dir/download.php"; + break; default: return false; } diff --git a/mod/file/views/rss/file/enclosure.php b/mod/file/views/rss/file/enclosure.php index 600d287ef..fb4a899d9 100644 --- a/mod/file/views/rss/file/enclosure.php +++ b/mod/file/views/rss/file/enclosure.php @@ -6,7 +6,7 @@ */ if (elgg_instanceof($vars['entity'], 'object', 'file')) { - $download_url = elgg_get_site_url() . 'mod/file/download.php?file_guid=' . $vars['entity']->getGUID(); + $download_url = elgg_get_site_url() . 'file/download/' . $vars['entity']->getGUID(); $size = $vars['entity']->size(); $mime_type = $vars['entity']->getMimeType(); echo <<