本文整理汇总了PHP中KunenaForumCategoryHelper::_tree方法的典型用法代码示例。如果您正苦于以下问题:PHP KunenaForumCategoryHelper::_tree方法的具体用法?PHP KunenaForumCategoryHelper::_tree怎么用?PHP KunenaForumCategoryHelper::_tree使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KunenaForumCategoryHelper
的用法示例。
在下文中一共展示了KunenaForumCategoryHelper::_tree方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildTree
/**
* @param array $instances
*/
protected static function buildTree(array &$instances)
{
KUNENA_PROFILER ? KunenaProfiler::instance()->start('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
self::$_tree = array();
foreach ($instances as $instance) {
if (!isset(self::$_tree[(int) $instance->id])) {
self::$_tree[$instance->id] = array();
}
self::$_tree[$instance->parent_id][$instance->id] =& self::$_tree[(int) $instance->id];
}
KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
}
示例2: loadCategories
protected static function loadCategories()
{
KUNENA_PROFILER ? KunenaProfiler::instance()->start('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
$db = JFactory::getDBO();
$query = "SELECT * FROM #__kunena_categories ORDER BY ordering, name";
$db->setQuery($query);
$results = (array) $db->loadAssocList();
KunenaError::checkDatabaseError();
self::$_instances = array();
self::$_tree = array();
if (empty($results)) {
KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
return;
}
foreach ($results as $category) {
$instance = new KunenaForumCategory($category);
$instance->exists(true);
self::$_instances[$instance->id] = $instance;
if (!isset(self::$_tree[(int) $instance->id])) {
self::$_tree[$instance->id] = array();
}
self::$_tree[$instance->parent_id][$instance->id] =& self::$_tree[(int) $instance->id];
}
unset($results);
// TODO: remove this by adding level into table
$heap = array(0);
while (($parent = array_shift($heap)) !== null) {
foreach (self::$_tree[$parent] as $id => $children) {
if (!empty($children)) {
array_push($heap, $id);
}
self::$_instances[$id]->level = $parent ? self::$_instances[$parent]->level + 1 : 0;
}
}
KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null;
}