本文整理汇总了PHP中KunenaForumCategoryHelper::getCategoryTree方法的典型用法代码示例。如果您正苦于以下问题:PHP KunenaForumCategoryHelper::getCategoryTree方法的具体用法?PHP KunenaForumCategoryHelper::getCategoryTree怎么用?PHP KunenaForumCategoryHelper::getCategoryTree使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KunenaForumCategoryHelper
的用法示例。
在下文中一共展示了KunenaForumCategoryHelper::getCategoryTree方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getAdminCategories
public function getAdminCategories() {
if ( $this->_admincategories === false ) {
$me = KunenaUserHelper::getMyself();
$params = array (
'ordering'=>$this->getState ( 'list.ordering' ),
'direction'=>$this->getState ( 'list.direction' ) == 'asc' ? 1 : -1,
'search'=>$this->getState ( 'list.search' ),
'unpublished'=>1,
'action'=>'admin');
$catid = $this->getState ( 'item.id', 0 );
$categories = array();
if ($catid) {
$categories = KunenaForumCategoryHelper::getParents($catid, $this->getState ( 'list.levels' ), array('unpublished'=>1, 'action'=>'none'));
$categories[] = KunenaForumCategoryHelper::get($catid);
}
$categories = array_merge($categories, KunenaForumCategoryHelper::getChildren($catid, $this->getState ( 'list.levels' ), $params));
$categories = KunenaForumCategoryHelper::getIndentation($categories);
$this->setState ( 'list.total', count($categories) );
$this->_admincategories = array_slice ( $categories, $this->getState ( 'list.start' ), $this->getState ( 'list.limit' ) );
$admin = 0;
$acl = KunenaFactory::getAccessControl();
foreach ($this->_admincategories as $category) {
$siblings = array_keys(KunenaForumCategoryHelper::getCategoryTree($category->parent_id));
if (empty($siblings)) {
// FIXME: deal with orphaned categories
$orphans = true;
$category->parent_id = 0;
$category->name = JText::_ ( 'COM_KUNENA_CATEGORY_ORPHAN' ) . ' : ' . $category->name;
}
$category->up = $me->isAdmin($category->parent_id) && reset($siblings) != $category->id;
$category->down = $me->isAdmin($category->parent_id) && end($siblings) != $category->id;
$category->reorder = $me->isAdmin($category->parent_id);
if ($category->accesstype == 'joomla.level') {
$groupname = $acl->getGroupName($category->accesstype, $category->access);
if (version_compare(JVERSION, '1.6','>')) {
// Joomla 1.6+
$category->accessname = JText::_('COM_KUNENA_INTEGRATION_JOOMLA_LEVEL').': '.($groupname ? $groupname : JText::_('COM_KUNENA_NOBODY'));
} else {
// Joomla 1.5
$category->accessname = JText::_('COM_KUNENA_INTEGRATION_JOOMLA_LEVEL').': '.($groupname ? JText::_($groupname) : JText::_('COM_KUNENA_NOBODY'));
}
} elseif ($category->accesstype != 'none') {
$category->accessname = JText::_('COM_KUNENA_INTEGRATION_'.strtoupper(preg_replace('/[^\w\d]+/', '_', $category->accesstype))).': '.$category->access;
} elseif (version_compare(JVERSION, '1.6','>')) {
// Joomla 1.6+
$groupname = $acl->getGroupName($category->accesstype, $category->pub_access);
$category->accessname = JText::sprintf( $category->pub_recurse ? 'COM_KUNENA_A_GROUP_X_PLUS' : 'COM_KUNENA_A_GROUP_X_ONLY', $groupname ? JText::_( $groupname ) : JText::_('COM_KUNENA_NOBODY') );
$groupname = $acl->getGroupName($category->accesstype, $category->admin_access);
if ($groupname && $category->pub_access != $category->admin_access) {
$category->accessname .= ' / '.JText::sprintf( $category->admin_recurse ? 'COM_KUNENA_A_GROUP_X_PLUS' : 'COM_KUNENA_A_GROUP_X_ONLY', JText::_( $groupname ));
}
} else {
// Joomla 1.5
$groupname = $acl->getGroupName($category->accesstype, $category->pub_access);
if ($category->pub_access == 0) {
$category->accessname = JText::_('COM_KUNENA_PUBLIC');
} else if ($category->pub_access == - 1) {
$category->accessname = JText::_('COM_KUNENA_ALLREGISTERED');
} else if ($category->pub_access == 1 || !$groupname) {
$category->accessname = JText::_('COM_KUNENA_NOBODY');
} else {
$category->accessname = JText::sprintf( $category->pub_recurse ? 'COM_KUNENA_A_GROUP_X_PLUS' : 'COM_KUNENA_A_GROUP_X_ONLY', JText::_( $groupname ));
}
$groupname = $acl->getGroupName($category->accesstype, $category->admin_access);
if ($category->pub_access > 0 && $groupname && $category->pub_access != $category->admin_access) {
$category->accessname .= ' / '.JText::sprintf( $category->admin_recurse ? 'COM_KUNENA_A_GROUP_X_PLUS' : 'COM_KUNENA_A_GROUP_X_ONLY', JText::_( $groupname ));
}
}
if ($category->accesstype != 'none') {
$category->admin_group = '';
} else {
$category->admin_group = JText::_ ( $acl->getGroupName($category->accesstype, $category->admin_access ));
}
if ($me->isAdmin($category->id) && $category->isCheckedOut(0)) {
$category->editor = KunenaFactory::getUser($category->checked_out)->getName();
} else {
$category->checked_out = 0;
$category->editor = '';
}
$admin += $me->isAdmin($category->id);
}
$this->setState ( 'list.count.admin', $admin );
}
if (isset($orphans)) {
$app = JFactory::getApplication ();
$app->enqueueMessage ( JText::_ ( 'COM_KUNENA_CATEGORY_ORPHAN_DESC' ), 'notice' );
}
return $this->_admincategories;
}
示例2: getAdminCategories
public function getAdminCategories()
{
if ($this->_admincategories === false) {
$params = array('ordering' => $this->getState('list.ordering'), 'direction' => $this->getState('list.direction') == 'asc' ? 1 : -1, 'search' => $this->getState('filter.search'), 'unpublished' => 1, 'published' => $this->getState('filter.published'), 'filter_title' => $this->getState('filter.title'), 'filter_type' => $this->getState('filter.type'), 'filter_access' => $this->getState('filter.access'), 'filter_locked' => $this->getState('filter.locked'), 'filter_allow_polls' => $this->getState('filter.allow_polls'), 'filter_review' => $this->getState('filter.review'), 'filter_anonymous' => $this->getState('filter.anonymous'), 'action' => 'admin');
$catid = $this->getState('item.id', 0);
$categories = array();
$orphans = array();
if ($catid) {
$categories = KunenaForumCategoryHelper::getParents($catid, $this->getState('filter.levels'), array('unpublished' => 1, 'action' => 'none'));
$categories[] = KunenaForumCategoryHelper::get($catid);
} else {
$orphans = KunenaForumCategoryHelper::getOrphaned($this->getState('filter.levels'), $params);
}
$categories = array_merge($categories, KunenaForumCategoryHelper::getChildren($catid, $this->getState('filter.levels'), $params));
$categories = array_merge($orphans, $categories);
$categories = KunenaForumCategoryHelper::getIndentation($categories);
$this->setState('list.total', count($categories));
if ($this->getState('list.limit')) {
$this->_admincategories = array_slice($categories, $this->getState('list.start'), $this->getState('list.limit'));
} else {
$this->_admincategories = $categories;
}
$admin = 0;
$acl = KunenaAccess::getInstance();
/** @var KunenaForumCategory $category */
foreach ($this->_admincategories as $category) {
// TODO: Following is needed for J!2.5 only:
$parent = $category->getParent();
$siblings = array_keys(KunenaForumCategoryHelper::getCategoryTree($category->parent_id));
$category->up = $this->me->isAdmin($parent) && reset($siblings) != $category->id;
$category->down = $this->me->isAdmin($parent) && end($siblings) != $category->id;
$category->reorder = $this->me->isAdmin($parent);
// Get ACL groups for the category.
$access = $acl->getCategoryAccess($category);
$category->accessname = array();
foreach ($access as $item) {
$category->accessname[] = $item['title'];
}
$category->accessname = implode(' / ', $category->accessname);
// Checkout?
if ($this->me->isAdmin($category) && $category->isCheckedOut(0)) {
$category->editor = KunenaFactory::getUser($category->checked_out)->getName();
} else {
$category->checked_out = 0;
$category->editor = '';
}
$admin += $this->me->isAdmin($category);
}
$this->setState('list.count.admin', $admin);
}
if (!empty($orphans)) {
$this->app->enqueueMessage(JText::_('COM_KUNENA_CATEGORY_ORPHAN_DESC'), 'notice');
}
return $this->_admincategories;
}
示例3: getAdminCategories
public function getAdminCategories() {
if ( $this->_admincategories === false ) {
$me = KunenaFactory::getUser();
$jversion = new JVersion ();
$params = array (
'ordering'=>$this->getState ( 'list.ordering' ),
'direction'=>$this->getState ( 'list.direction' ) == 'asc' ? 1 : -1,
'search'=>$this->getState ( 'list.search' ),
'unpublished'=>1,
'action'=>'admin');
$catid = $this->getState ( 'item.id', 0 );
$categories = array();
if ($catid) {
$categories = KunenaForumCategoryHelper::getParents($catid, $this->getState ( 'list.levels' ), array('unpublished'=>1, 'action'=>'none'));
$categories[] = KunenaForumCategoryHelper::get($catid);
}
$categories = array_merge($categories, KunenaForumCategoryHelper::getChildren($catid, $this->getState ( 'list.levels' ), $params));
$categories = KunenaForumCategoryHelper::getIndentation($categories);
$this->setState ( 'list.total', count($categories) );
$this->_admincategories = array_slice ( $categories, $this->getState ( 'list.start' ), $this->getState ( 'list.limit' ) );
$admin = 0;
$acl = KunenaFactory::getAccessControl();
foreach ($this->_admincategories as $category) {
$siblings = array_keys(KunenaForumCategoryHelper::getCategoryTree($category->parent_id));
if (empty($siblings)) {
// FIXME: deal with orphaned categories
$orphans = true;
$category->parent_id = 0;
$category->name = JText::_ ( 'COM_KUNENA_CATEGORY_ORPHAN' ) . ' : ' . $category->name;
}
$category->up = $me->isAdmin($category->parent_id) && reset($siblings) != $category->id;
$category->down = $me->isAdmin($category->parent_id) && end($siblings) != $category->id;
$category->reorder = $me->isAdmin($category->parent_id);
if ($category->accesstype != 'none') {
$category->pub_group = JText::_('COM_KUNENA_INTEGRATION_'.strtoupper($category->accesstype));
} elseif ($jversion->RELEASE == '1.5') {
if ($category->pub_access == 0) {
$category->pub_group = JText::_('COM_KUNENA_EVERYBODY');
} else if ($category->pub_access == - 1) {
$category->pub_group = JText::_('COM_KUNENA_ALLREGISTERED');
} else if ($category->pub_access == 1) {
$category->pub_group = JText::_('COM_KUNENA_NOBODY');
} else {
$category->pub_group = JText::_( $acl->getGroupName($category->pub_access) );
}
} else {
$category->pub_group = $category->pub_access ? JText::_( $acl->getGroupName($category->pub_access) ) : JText::_('COM_KUNENA_NOBODY');
}
if ($category->accesstype != 'none') {
$category->admin_group = '';
} else {
$category->admin_group = JText::_ ( $acl->getGroupName($category->admin_access ));
}
if ($me->isAdmin($category->id) && $category->isCheckedOut(0)) {
$category->editor = KunenaFactory::getUser($category->checked_out)->getName();
} else {
$category->checked_out = 0;
$category->editor = '';
}
$admin += $me->isAdmin($category->id);
}
$this->setState ( 'list.count.admin', $admin );
}
if (isset($orphans)) {
$app = JFactory::getApplication ();
$app->enqueueMessage ( JText::_ ( 'COM_KUNENA_CATEGORY_ORPHAN_DESC' ), 'notice' );
}
return $this->_admincategories;
}