diff --git a/components/com_users/helpers/legacyrouter.php b/components/com_users/helpers/legacyrouter.php index 18f89b30d572e..1b2449e08062a 100644 --- a/components/com_users/helpers/legacyrouter.php +++ b/components/com_users/helpers/legacyrouter.php @@ -122,9 +122,16 @@ public function build(&$query, &$segments) } // Check to see if we have found the profile menu item. - if (empty($profile) && $item->query['view'] === 'profile') + if ($item->query['view'] === 'profile') { - $profile = $item->id; + if (empty($profile) && $item->query['layout'] == null) + { + $profile = $item->id; + } + elseif (empty($profileEdit) && $item->query['layout'] == 'edit') + { + $profileEdit = $item->id; + } } } @@ -133,6 +140,10 @@ public function build(&$query, &$segments) { $default = $profile; } + elseif ($profileEdit) + { + $default = $profileEdit; + } elseif ($registration) { $default = $registration; @@ -204,16 +215,13 @@ public function build(&$query, &$segments) default: case 'profile': - if (!empty($query['view'])) - { - $segments[] = $query['view']; - } - unset($query['view']); - if ($query['Itemid'] = $profile) + $query['Itemid'] = $profile ? $profile : $default; + + if ($query['Itemid'] = $profileEdit) { - unset($query['view']); + unset($query['layout']); } else {