From 965d29e1349dd03524eac7960c73e81c4562d1f6 Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 10 Mar 2011 02:31:35 +0000 Subject: fixed page owner setting for sites in a subdirectory git-svn-id: http://code.elgg.org/elgg/trunk@8645 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/pageowner.php | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'engine/lib/pageowner.php') diff --git a/engine/lib/pageowner.php b/engine/lib/pageowner.php index c9e85d22f..c7ec0b52b 100644 --- a/engine/lib/pageowner.php +++ b/engine/lib/pageowner.php @@ -112,37 +112,35 @@ function default_page_owner_handler($hook, $entity_type, $returnvalue, $params) } } - $uri = $_SERVER['REQUEST_URI']; - // ignore the query - $parts = parse_url($uri); - - if ($parts && isset($parts['path'])) { - $path = $parts['path']; - } else { - return $returnvalue; - } - - if (strpos($path, '/pg') === 0) { + // ignore root and query + $uri = current_page_url(); + $path = str_replace(elgg_get_site_url(), '', $uri); + $path = trim($path, "/"); + if (strpos($path, "?")) { + $path = substr($path, 0, strpos($path, "?")); + } + + if (strpos($path, 'pg') === 0) { $segments = explode('/', $path); - if (isset($segments[3]) && isset($segments[4])) { - switch ($segments[3]) { + if (isset($segments[2]) && isset($segments[3])) { + switch ($segments[2]) { case 'owner': case 'friends': - $user = get_user_by_username($segments[4]); + $user = get_user_by_username($segments[3]); if ($user) { return $user->getGUID(); } break; case 'view': case 'edit': - $entity = get_entity($segments[4]); + $entity = get_entity($segments[3]); if ($entity) { return $entity->getContainerGUID(); } break; case 'add': case 'group': - $entity = get_entity($segments[4]); + $entity = get_entity($segments[3]); if ($entity) { return $entity->getGUID(); } -- cgit v1.2.3