function treerecurse(&$params, $id = 0, $level = 0, $begin = false) { static $output; if ($begin) { $output = ''; } $root_id = (int) $params->get('root_id'); $end_level = $params->get('end_level', NULL); $id = (int) $id; $catid = JRequest::getInt('id'); $option = JRequest::getCmd('option'); $view = JRequest::getCmd('view'); $user =& JFactory::getUser(); $aid = (int) $user->get('aid'); $db =& JFactory::getDBO(); switch ($params->get('categoriesListOrdering')) { case 'alpha': $orderby = 'name'; break; case 'ralpha': $orderby = 'name DESC'; break; case 'order': $orderby = 'ordering'; break; case 'reversedefault': $orderby = 'id DESC'; break; default: $orderby = 'id ASC'; break; } if ($root_id != 0 && $level == 0) { $query = "SELECT * FROM #__k2_categories WHERE parent={$root_id} AND published=1 AND trash=0 AND access<={$aid} ORDER BY {$orderby}"; } else { $query = "SELECT * FROM #__k2_categories WHERE parent={$id} AND published=1 AND trash=0 AND access<={$aid} ORDER BY {$orderby}"; } $db->setQuery($query); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } if ($level < intval($end_level) || is_null($end_level)) { $output .= '<ul class="level' . $level . '">'; foreach ($rows as $row) { if ($params->get('categoriesListItemsCounter')) { $row->numOfItems = ' (' . modK2ToolsHelper::countCategoryItems($row->id) . ')'; } else { $row->numOfItems = ''; } if ($option == 'com_k2' && $view == 'itemlist' && $catid == $row->id) { $active = ' class="activeCategory"'; } else { $active = ''; } if (modK2ToolsHelper::hasChildren($row->id)) { $output .= '<li' . $active . '><a href="' . urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias)))) . '"><span>' . $row->name . $row->numOfItems . '</span></a>'; modK2ToolsHelper::treerecurse($params, $row->id, $level + 1); $output .= '</li>'; } else { $output .= '<li' . $active . '><a href="' . urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias)))) . '"><span>' . $row->name . $row->numOfItems . '</span></a></li>'; } } $output .= '</ul>'; } return $output; }
public static function treerecurse(&$params, $id = 0, $level = 0, $begin = false) { static $output; if ($begin) { $output = ''; } $mainframe = JFactory::getApplication(); $root_id = (int) $params->get('root_id'); $end_level = $params->get('end_level', NULL); $id = (int) $id; $catid = JRequest::getInt('id'); $option = JRequest::getCmd('option'); $view = JRequest::getCmd('view'); $user = JFactory::getUser(); $aid = (int) $user->get('aid'); $db = JFactory::getDBO(); switch ($params->get('categoriesListOrdering')) { case 'alpha': $orderby = 'name'; break; case 'ralpha': $orderby = 'name DESC'; break; case 'order': $orderby = 'ordering'; break; case 'reversedefault': $orderby = 'id DESC'; break; default: $orderby = 'id ASC'; break; } if ($root_id != 0 && $level == 0) { $query = "SELECT * FROM #__k2_categories WHERE parent={$root_id} AND published=1 AND trash=0 "; } else { $query = "SELECT * FROM #__k2_categories WHERE parent={$id} AND published=1 AND trash=0 "; } if (K2_JVERSION != '15') { $query .= " AND access IN(" . implode(',', $user->getAuthorisedViewLevels()) . ") "; if ($mainframe->getLanguageFilter()) { $languageTag = JFactory::getLanguage()->getTag(); $query .= " AND language IN (" . $db->Quote($languageTag) . ", " . $db->Quote('*') . ") "; } } else { $query .= " AND access <= {$aid}"; } $query .= " ORDER BY {$orderby}"; $db->setQuery($query); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } if ($level < intval($end_level) || is_null($end_level)) { $output .= '<ul class="level' . $level . '">'; foreach ($rows as $row) { $string_color1 = strstr($row->name, "|"); $string_color2 = str_replace("|", "#", $string_color1); $string_cate = str_replace($string_color1, "", $row->name); if ($params->get('categoriesListItemsCounter')) { $row->numOfItems = ' (' . modK2ToolsHelper::countCategoryItems($row->id) . ')'; } else { $row->numOfItems = ''; } if ($option == 'com_k2' && $view == 'itemlist' && $catid == $row->id) { $active = ' class="activeCategory"'; } else { $active = ''; } if (modK2ToolsHelper::hasChildren($row->id)) { $output .= '<li' . $active . '><a href="' . urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias)))) . '"><span class="catTitle">' . $string_cate . '</span><span class="catCounter">' . $row->numOfItems . '</span></a>'; modK2ToolsHelper::treerecurse($params, $row->id, $level + 1); $output .= '</li>'; } else { $output .= '<li' . $active . '><a href="' . urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias)))) . '"><span class="catTitle">' . $string_cate . '</span><span class="catCounter">' . $row->numOfItems . '</span></a></li>'; } } $output .= '</ul>'; } return $output; }
function ja_k2_treerecurse(&$params, $id = 0, $level = 0, $begin = false) { static $output; if ($begin) { $output = ''; } $mainframe = JFactory::getApplication(); $root_id = (int) $params->get('root_id'); $end_level = $params->get('end_level', NULL); $id = (int) $id; $catid = JRequest::getInt('id'); $option = JRequest::getCmd('option'); $view = JRequest::getCmd('view'); $user = JFactory::getUser(); $aid = (int) $user->get('aid'); $db = JFactory::getDBO(); $jak2Filter = JComponentHelper::getComponent('com_jak2filter'); switch ($params->get('categoriesListOrdering')) { case 'alpha': $orderby = 'name'; break; case 'ralpha': $orderby = 'name DESC'; break; case 'order': $orderby = 'ordering'; break; case 'reversedefault': $orderby = 'id DESC'; break; default: $orderby = 'id ASC'; break; } if ($root_id != 0 && $level == 0) { $query = "SELECT * FROM #__k2_categories WHERE parent={$root_id} AND published=1 AND trash=0 "; } else { $query = "SELECT * FROM #__k2_categories WHERE parent={$id} AND published=1 AND trash=0 "; } if (K2_JVERSION != '15') { $query .= " AND access IN(" . implode(',', $user->getAuthorisedViewLevels()) . ") "; if ($mainframe->getLanguageFilter()) { $languageTag = JFactory::getLanguage()->getTag(); $query .= " AND language IN (" . $db->Quote($languageTag) . ", " . $db->Quote('*') . ") "; } } else { $query .= " AND access <= {$aid}"; } $query .= " ORDER BY {$orderby}"; $db->setQuery($query); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } if ($level < intval($end_level) || is_null($end_level)) { $output .= '<ul class="level' . $level . '">'; $i = 0; foreach ($rows as $row) { if ($params->get('categoriesListItemsCounter')) { $row->numOfItems = ' (' . modK2ToolsHelper::countCategoryItems($row->id) . ')'; } else { $row->numOfItems = ''; } if ($option == 'com_k2' && $view == 'itemlist' && $catid == $row->id) { $liClass = 'activeCategory'; if ($i >= 4) { $liClass .= 'collapse'; } } else { $liClass = ''; if ($i >= 4) { $liClass .= 'collapse'; } } $catParams = new JRegistry($row->params); $color = $catParams->get('category_color', '#1d9bdc'); $icon = $catParams->get('category_icon', 'images/joomlart/directory-icons/default.png'); $link = JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias))); if (modK2ToolsHelper::hasChildren($row->id)) { $output .= '<li class="' . $liClass . '" ><a style="color: ' . $color . '; border-color: ' . $color . '" href="' . urldecode($link) . '"><img src="' . $icon . '" alt="' . $row->name . '" /><span class="catTitle">' . $row->name . '</span><span class="catCounter">' . $row->numOfItems . '</span></a>'; ja_k2_treerecurse($params, $row->id, $level + 1); $output .= '</li>'; $i++; } else { $output .= '<li class="' . $liClass . '" ><a href="' . urldecode($link) . '"><i class="fa fa-check-circle" style="color: ' . $color . ';"></i><span class="catTitle">' . $row->name . '</span><span class="catCounter" style="color: ' . $color . ';">' . $row->numOfItems . '</span></a></li>'; } } $output .= '</ul>'; } return $output; }