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

Reply via email to