本文整理匯總了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;
}