public static function getCategoryChildren($catid) { static $array = array(); $mainframe = JFactory::getApplication(); $user = JFactory::getUser(); $aid = (int) $user->get('aid'); $catid = (int) $catid; $db = JFactory::getDBO(); $query = "SELECT * FROM #__k2_categories WHERE parent={$catid} 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 ordering "; $db->setQuery($query); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } foreach ($rows as $row) { array_push($array, $row->id); if (modK2ToolsHelper::hasChildren($row->id)) { modK2ToolsHelper::getCategoryChildren($row->id); } } return $array; }
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 ' . ($params->get('moduleclass_sfx') ? 'class="' . $params->get('moduleclass_sfx') . '"' : '') . '>'; 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 ><a href="' . urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias)))) . '"><i class="fa fa-caret-right"></i> ' . preg_replace('/--([^-]*)--/', '$1', $row->name) . '</a>' . $row->numOfItems; treerecurse($params, $row->id, $level + 1); $output .= '</li>'; } else { $output .= '<li><a href="' . urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($row->id . ':' . urlencode($row->alias)))) . '"><i class="fa fa-caret-right"></i> ' . preg_replace('/--([^-]*)--/', '$1', $row->name) . '</a>' . $row->numOfItems . '</li>'; } } $output .= '</ul>'; } return $output; }
function getCategoryChildren($catid) { static $array = array(); $user =& JFactory::getUser(); $aid = (int) $user->get('aid'); $catid = (int) $catid; $db =& JFactory::getDBO(); $query = "SELECT * FROM #__k2_categories WHERE parent={$catid} AND published=1 AND trash=0 AND access<={$aid} ORDER BY ordering "; $db->setQuery($query); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } foreach ($rows as $row) { array_push($array, $row->id); if (modK2ToolsHelper::hasChildren($row->id)) { modK2ToolsHelper::getCategoryChildren($row->id); } } return $array; }
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; }