diff --git a/libraries/legacy/categories/categories.php b/libraries/legacy/categories/categories.php index c060ca95e3a3a..8a48d240a44b1 100644 --- a/libraries/legacy/categories/categories.php +++ b/libraries/legacy/categories/categories.php @@ -257,13 +257,24 @@ protected function _load($id) if ($id != 'root') { // Get the selected category - $query->join('LEFT', '#__categories AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)') - ->where('s.id=' . (int) $id); - } + $query->where('s.id=' . (int) $id); - if ($app->isSite() && JLanguageMultilang::isEnabled()) + if ($app->isSite() && JLanguageMultilang::isEnabled()) + { + $query->join('LEFT', '#__categories AS s ON (s.lft < c.lft AND s.rgt > c.rgt AND c.language in (' . $db->quote(JFactory::getLanguage()->getTag()) + . ',' . $db->quote('*') . ')) OR (s.lft >= c.lft AND s.rgt <= c.rgt)'); + } + else + { + $query->join('LEFT', '#__categories AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)'); + } + } + else { - $query->where('c.language in (' . $db->Quote(JFactory::getLanguage()->getTag()) . ',' . $db->Quote('*') . ')'); + if ($app->isSite() && JLanguageMultilang::isEnabled()) + { + $query->where('c.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); + } } // Note: i for item