function getSubcategorySection()
 {
     global $wgOut, $wgRequest, $wgCookiePrefix, $wgCategoryTreeCategoryPageMode;
     if ($wgRequest->getCheck('notree')) {
         return parent::getSubcategorySection();
     }
     if ($GLOBALS['wgCategoryTreeUnifiedView']) {
         return parent::getSubcategorySection();
     }
     if (count($this->children) == 0) {
         return '';
     }
     $r = '<h2>' . wfMsg('subcategories') . "</h2>\n" . wfMsgExt('subcategorycount', array('parse'), count($this->children));
     # Use a cookie to save the user's last selection, so that AJAX doesn't
     # keep coming back to haunt them.
     #
     # FIXME: This doesn't work very well with IMS handling in
     # OutputPage::checkLastModified, because when the cookie changes, the
     # category pages are not, at present, invalidated.
     $cookieName = $wgCookiePrefix . 'ShowSubcatAs';
     $cookieVal = @$_COOKIE[$cookieName];
     $reqShowAs = $wgRequest->getVal('showas');
     if ($reqShowAs == 'list') {
         $showAs = 'list';
     } elseif ($reqShowAs == 'tree') {
         $showAs = 'tree';
     } elseif ($cookieVal == 'list' || $cookieVal == 'tree') {
         $showAs = $cookieVal;
     } else {
         $showAs = 'tree';
     }
     if (!is_null($reqShowAs)) {
         global $wgCookieExpiration, $wgCookiePath, $wgCookieDomain, $wgCookieSecure;
         $exp = time() + $wgCookieExpiration;
         setcookie($cookieName, $showAs, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure);
     }
     if ($showAs == 'tree' && count($this->children) > $this->limit) {
         # Tree doesn't page properly
         $showAs = 'list';
         $r .= self::msg('too-many-subcats');
     } else {
         $sk = $this->getSkin();
         $r .= '<p>' . $this->makeShowAsLink('tree', $showAs) . ' | ' . $this->makeShowAsLink('list', $showAs) . '</p>';
     }
     if ($showAs == 'list') {
         $r .= $this->formatList($this->children, $this->children_start_char);
     } else {
         CategoryTree::setHeaders($wgOut);
         $ct = new CategoryTree();
         foreach ($this->child_titles as $title) {
             $r .= $ct->renderNode($title, $wgCategoryTreeCategoryPageMode);
         }
     }
     return $r;
 }