]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #5745 serve 404 pages when someone requests content of a user that does not...
authorcash <cash.costello@gmail.com>
Sat, 6 Jul 2013 00:10:12 +0000 (20:10 -0400)
committercash <cash.costello@gmail.com>
Sat, 6 Jul 2013 00:10:12 +0000 (20:10 -0400)
12 files changed:
mod/blog/start.php
mod/bookmarks/pages/bookmarks/friends.php
mod/bookmarks/pages/bookmarks/owner.php
mod/file/pages/file/friends.php
mod/file/pages/file/owner.php
mod/groups/lib/discussion.php
mod/groups/lib/groups.php
mod/groups/start.php
mod/pages/pages/pages/friends.php
mod/pages/pages/pages/owner.php
mod/thewire/pages/thewire/friends.php
mod/thewire/pages/thewire/owner.php

index 25cd8193521c2db10dff01a5f6c60619cb02d6bd..91525aceedce93a682f0b28d8376cded2b29085e 100644 (file)
@@ -113,14 +113,23 @@ function blog_page_handler($page) {
        switch ($page_type) {
                case 'owner':
                        $user = get_user_by_username($page[1]);
+                       if (!$user) {
+                               forward('', '404');
+                       }
                        $params = blog_get_page_content_list($user->guid);
                        break;
                case 'friends':
                        $user = get_user_by_username($page[1]);
+                       if (!$user) {
+                               forward('', '404');
+                       }
                        $params = blog_get_page_content_friends($user->guid);
                        break;
                case 'archive':
                        $user = get_user_by_username($page[1]);
+                       if (!$user) {
+                               forward('', '404');
+                       }
                        $params = blog_get_page_content_archive($user->guid, $page[2], $page[3]);
                        break;
                case 'view':
@@ -139,6 +148,10 @@ function blog_page_handler($page) {
                        $params = blog_get_page_content_edit($page_type, $page[1], $page[2]);
                        break;
                case 'group':
+                       $group = get_entity($page[1]);
+                       if (!elgg_instanceof($group, 'group')) {
+                               forward('', '404');
+                       }
                        if ($page[2] == 'all') {
                                $params = blog_get_page_content_list($page[1]);
                        } else {
index 15b1da0981f3443b86fc274465bebcc1f4ce7aaa..1739963463e3ea4122bb7993e49f424462876139 100644 (file)
@@ -7,7 +7,7 @@
 
 $page_owner = elgg_get_page_owner_entity();
 if (!$page_owner) {
-       forward('bookmarks/all');
+       forward('', '404');
 }
 
 elgg_push_breadcrumb($page_owner->name, "bookmarks/owner/$page_owner->username");
index b99730fb932ae55b965e372116c6cb27d7089ca9..b7b9079165a6bdbc0ea4a5c795d0f897e5c09e54 100644 (file)
@@ -7,7 +7,7 @@
 
 $page_owner = elgg_get_page_owner_entity();
 if (!$page_owner) {
-       forward('bookmarks/all');
+       forward('', '404');
 }
 
 elgg_push_breadcrumb($page_owner->name);
index f504bdc1f058b82a7fef6c0f2b0d668bb5b0086d..d55c1e62b02065bf58e39f5d4790d1dba39c18d5 100644 (file)
@@ -7,7 +7,7 @@
 
 $owner = elgg_get_page_owner_entity();
 if (!$owner) {
-       forward('file/all');
+       forward('', '404');
 }
 
 elgg_push_breadcrumb(elgg_echo('file'), "file/all");
index 5ad6866d6942b56ff328bd1c40df6f501433b817..99cf627145f8941bd563c1f7a9c9dbb8969d8fb6 100644 (file)
@@ -10,7 +10,7 @@ group_gatekeeper();
 
 $owner = elgg_get_page_owner_entity();
 if (!$owner) {
-       forward('file/all');
+       forward('', '404');
 }
 
 elgg_push_breadcrumb(elgg_echo('file'), "file/all");
index ab2fe4849408a223800ddbbd7c04519f5e4d37cf..874e21b2db08a9b2a156236be9c766460b80410b 100644 (file)
@@ -39,9 +39,8 @@ function discussion_handle_list_page($guid) {
        elgg_set_page_owner_guid($guid);
 
        $group = get_entity($guid);
-       if (!$group) {
-               register_error(elgg_echo('group:notfound'));
-               forward();
+       if (!elgg_instanceof($group, 'group')) {
+               forward('', '404');
        }
        elgg_push_breadcrumb($group->name);
 
index 0557d41eb1f2d8876279a375c8c0bc73db85c9ae..e5b047ebaa16c8938f83509bac800e1e0f56a0d5 100644 (file)
@@ -255,8 +255,8 @@ function groups_handle_profile_page($guid) {
        elgg_push_context('group_profile');
 
        $group = get_entity($guid);
-       if (!$group) {
-               forward('groups/all');
+       if (!elgg_instanceof($group, 'group')) {
+               forward('', '404');
        }
 
        elgg_push_breadcrumb($group->name);
index 46ab0e636f0720f4adf893947036b562e30aa8f5..6002a535c26a157617da498563f7262f8f23eb45 100644 (file)
@@ -142,6 +142,10 @@ function groups_setup_sidebar_menus() {
        $page_owner = elgg_get_page_owner_entity();
 
        if (elgg_in_context('group_profile')) {
+               if (!elgg_instanceof($page_owner, 'group')) {
+                       forward('', '404');
+               }
+
                if (elgg_is_logged_in() && $page_owner->canEdit() && !$page_owner->isPublicMembership()) {
                        $url = elgg_get_site_url() . "groups/requests/{$page_owner->getGUID()}";
 
index 87ac631c24cbaeb08065eab23e6eed5122b03951..cecc4053b2034cd3ce910e8a9c341c3e2d34c619 100644 (file)
@@ -7,7 +7,7 @@
 
 $owner = elgg_get_page_owner_entity();
 if (!$owner) {
-       forward('pages/all');
+       forward('', '404');
 }
 
 elgg_push_breadcrumb($owner->name, "pages/owner/$owner->username");
index 48199368c81086690dbda976208319aa91339ab9..7de74a3b40ca83187c4d544a04e74f68e4b3e005 100644 (file)
@@ -7,7 +7,7 @@
 
 $owner = elgg_get_page_owner_entity();
 if (!$owner) {
-       forward('pages/all');
+       forward('', '404');
 }
 
 // access check for closed groups
index e7f5eed595bdd258b76ffe453c7c5fc70db22797..efa7e7a566919ab2da4f59947fd217f97e738d49 100644 (file)
@@ -5,7 +5,7 @@
 
 $owner = elgg_get_page_owner_entity();
 if (!$owner) {
-       forward('thewire/all');
+       forward('', '404');
 }
 
 $title = elgg_echo('thewire:friends');
index d8dff401e1b671b9728cedbd07ef3e20a9853896..dc25940e1775608756af1225632b7e52b93f7ef5 100644 (file)
@@ -6,7 +6,7 @@
 
 $owner = elgg_get_page_owner_entity();
 if (!$owner) {
-       forward('thewire/all');
+       forward('', '404');
 }
 
 $title = elgg_echo('thewire:user', array($owner->name));