categorytree ) ) { if ( !$wgCategoryTreeForceHeaders ) { CategoryTree::setHeaders( $wgOut ); } $this->categorytree = new CategoryTree( $wgCategoryTreeCategoryPageOptions ); } return $this->categorytree; } /** * Add a subcategory to the internal lists * @param $cat Category * @param $sortkey * @param $pageLength */ function addSubcategoryObject( Category $cat, $sortkey, $pageLength ) { global $wgRequest; $title = $cat->getTitle(); if ( $wgRequest->getCheck( 'notree' ) ) { parent::addSubcategoryObject( $cat, $sortkey, $pageLength ); return; } $tree = $this->getCategoryTree(); $this->children[] = $tree->renderNodeInfo( $title, $cat ); $this->children_start_char[] = $this->getSubcategorySortChar( $title, $sortkey ); } function clearCategoryState() { $this->child_cats = array(); parent::clearCategoryState(); } function finaliseCategoryState() { if ( $this->flip ) { $this->child_cats = array_reverse( $this->child_cats ); } parent::finaliseCategoryState(); } }