/** * Entry point for the <categorytree> tag parser hook. * This loads CategoryTreeFunctions.php and calls CategoryTree::getTag() */ function efCategoryTreeParserHook($cat, $argv, $parser = null, $allowMissing = false) { global $wgOut; if ($parser) { $parser->mOutput->mCategoryTreeTag = true; # flag for use by efCategoryTreeParserOutput } else { CategoryTree::setHeaders($wgOut); } $ct = new CategoryTree($argv); $attr = Sanitizer::validateTagAttributes($argv, 'div'); $hideroot = isset($argv['hideroot']) ? CategoryTree::decodeBoolean($argv['hideroot']) : null; $onlyroot = isset($argv['onlyroot']) ? CategoryTree::decodeBoolean($argv['onlyroot']) : null; $depthArg = isset($argv['depth']) ? (int) $argv['depth'] : null; $depth = efCategoryTreeCapDepth($ct->getOption('mode'), $depthArg); if ($onlyroot) { $depth = 0; } return $ct->getTag($parser, $cat, $hideroot, $attr, $depth, $allowMissing); }
/** * Entry point for the <categorytree> tag parser hook. * This loads CategoryTreeFunctions.php and calls CategoryTree::getTag() */ function efCategoryTreeParserHook($cat, $argv, &$parser) { global $wgCategoryTreeDefaultMode; $parser->mOutput->mCategoryTreeTag = true; # flag for use by efCategoryTreeParserOutput static $initialized = false; $divAttribs = Sanitizer::validateTagAttributes($argv, 'div'); $style = isset($divAttribs['style']) ? $divAttribs['style'] : null; $mode = isset($argv['mode']) ? $argv['mode'] : null; if ($mode !== NULL) { $mode = trim(strtolower($mode)); if ($mode == 'all') { $mode = CT_MODE_ALL; } else { if ($mode == 'pages') { $mode = CT_MODE_PAGES; } else { if ($mode == 'categories') { $mode = CT_MODE_CATEGORIES; } } } } else { $mode = $wgCategoryTreeDefaultMode; } $hideroot = isset($argv['hideroot']) ? efCategoryTreeAsBool($argv['hideroot']) : null; $onlyroot = isset($argv['onlyroot']) ? efCategoryTreeAsBool($argv['onlyroot']) : null; $depthArg = isset($argv['depth']) ? $argv['depth'] : null; $depth = efCategoryTreeCapDepth($mode, $depthArg); if ($onlyroot) { $depth = 0; } $ct = new CategoryTree(); return $ct->getTag($parser, $cat, $mode, $hideroot, $style, $depth); }