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; }
require JModuleHelper::getLayoutPath('mod_k2_tools', 'authors'); break; case '2': $calendar = modK2ToolsHelper::calendar($params); require JModuleHelper::getLayoutPath('mod_k2_tools', 'calendar'); break; case '3': //if (JRequest::getVar('option') == 'com_k2' && (JRequest::getCmd('task') == 'category' || JRequest::getInt('id'))) { $breadcrumbs = modK2ToolsHelper::breadcrumbs($params); $path = $breadcrumbs[0]; $title = $breadcrumbs[1]; require JModuleHelper::getLayoutPath('mod_k2_tools', 'breadcrumbs'); //} break; case '4': $output = modK2ToolsHelper::treerecurse($params, 0, 0, true); require JModuleHelper::getLayoutPath('mod_k2_tools', 'categories'); break; case '5': echo modK2ToolsHelper::treeselectbox($params); break; case '6': if ($imagebutton) { $img = modK2ToolsHelper::getSearchImage($button_text); } require JModuleHelper::getLayoutPath('mod_k2_tools', 'search'); break; case '7': $tags = modK2ToolsHelper::tagCloud($params); if (count($tags)) { require JModuleHelper::getLayoutPath('mod_k2_tools', 'tags');
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; }