http://www.mediawiki.org/wiki/Special:Code/MediaWiki/67460
Revision: 67460 Author: liangent Date: 2010-06-06 13:10:31 +0000 (Sun, 06 Jun 2010) Log Message: ----------- Integrate {{DEFAULTSORT: }} Modified Paths: -------------- trunk/extensions/CategoryMultisort/CategoryMultisort.hooks.php Modified: trunk/extensions/CategoryMultisort/CategoryMultisort.hooks.php =================================================================== --- trunk/extensions/CategoryMultisort/CategoryMultisort.hooks.php 2010-06-06 13:10:26 UTC (rev 67459) +++ trunk/extensions/CategoryMultisort/CategoryMultisort.hooks.php 2010-06-06 13:10:31 UTC (rev 67460) @@ -54,6 +54,9 @@ $this->coreCategoryLinkHook = $parser->setLinkHook( NS_CATEGORY, array( $this, 'parserCategoryLink' ) ); + $this->coreDefaultSortHook = $parser->setFunctionHook( + 'defaultsort', array( $this, 'parserDefaultSort' ), SFH_NO_HASH + ); } return true; } @@ -270,6 +273,25 @@ return ''; } + function parserDefaultSort() { + $args = func_get_args(); + $parser = array_shift( $args ); + $defaultSort = array_shift( $args ); + $categoryDefaultMultisorts = &$parser->getOutput()->mCategoryDefaultMultisorts; + + foreach ( $this->parseMultisortArgs( $args ) as $skn => $skv ) { + $categoryDefaultMultisorts[$skn] = $skv; + } + + if ( is_callable( $this->coreDefaultSortHook ) ) { + return call_user_func_array( $this->coreDefaultSortHook, array( + $parser, $defaultSort + ) ); + } else { + return ''; + } + } + function parserCategoryMultisort() { $args = func_get_args(); $parser = array_shift( $args ); _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs