https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113659

Revision: 113659
Author:   van-de-bugger
Date:     2012-03-12 20:33:47 +0000 (Mon, 12 Mar 2012)
Log Message:
-----------
Parser function #semantic-title implemented.

Modified Paths:
--------------
    trunk/extensions/SemanticTitle/SemanticTitle.class.php
    trunk/extensions/SemanticTitle/SemanticTitle.php

Modified: trunk/extensions/SemanticTitle/SemanticTitle.class.php
===================================================================
--- trunk/extensions/SemanticTitle/SemanticTitle.class.php      2012-03-12 
20:31:29 UTC (rev 113658)
+++ trunk/extensions/SemanticTitle/SemanticTitle.class.php      2012-03-12 
20:33:47 UTC (rev 113659)
@@ -117,6 +117,33 @@
        } // function onBeforePageDisplay
 
 
+       static function onLanguageGetMagic( &$magicWords, $langCode ) {
+               // 0 means the magic word is *not* case sensitive.
+               // 1 means the magic word *is* case sensitive.
+               $magicWords[ 'semantic-title' ] = array( 1, 'semantic-title' );
+               return true;
+       } // function onLanguageGetMagic
+
+
+       static function onParserFirstCallInit( &$parser ) {
+               $parser->setFunctionHook( 'semantic-title', __CLASS__ . 
'::hookSemanticTitle' );
+               return true;
+       } // function onParserFirstCallInit
+
+
+       static public function hookSemanticTitle( $parser, $arg ) {
+               $res = $arg;
+               $title = Title::newFromText( $arg );
+               if ( $title != null ) {
+                       $semantic = self::getText( $title );
+                       if ( $semantic !== false ) {
+                               $res = $semantic;
+                       }; // if
+               }
+               return $res;
+       } // function hookSenabticTitle
+
+
 } // class SemanticTitle
 
 // end of file //

Modified: trunk/extensions/SemanticTitle/SemanticTitle.php
===================================================================
--- trunk/extensions/SemanticTitle/SemanticTitle.php    2012-03-12 20:31:29 UTC 
(rev 113658)
+++ trunk/extensions/SemanticTitle/SemanticTitle.php    2012-03-12 20:33:47 UTC 
(rev 113659)
@@ -27,8 +27,10 @@
 $wgAutoloadClasses[ 'SemanticTitle' ] = __DIR__ . '/SemanticTitle.class.php';
 
 global $wgHooks;
-$wgHooks[ 'BeforePageDisplay' ][] = 'SemanticTitle::onBeforePageDisplay';
-$wgHooks[ 'LinkBegin'         ][] = 'SemanticTitle::onLinkBegin';
+$wgHooks[ 'BeforePageDisplay'      ][] = 'SemanticTitle::onBeforePageDisplay';
+$wgHooks[ 'LanguageGetMagic'       ][] = 'SemanticTitle::onLanguageGetMagic';
+$wgHooks[ 'LinkBegin'              ][] = 'SemanticTitle::onLinkBegin';
+$wgHooks[ 'ParserFirstCallInit'    ][] = 
'SemanticTitle::onParserFirstCallInit';
 
 global $wgExtensionMessagesFiles;
 $wgExtensionMessagesFiles[ 'SemanticTitle' ] = __DIR__ . 
'/SemanticTitle.i18n.php';
@@ -41,7 +43,7 @@
        'path'    => __FILE__,
        'name'    => 'SemanticTitle',
        'license' => 'AGPLv3',
-       'version' => '0.0.1',
+       'version' => '0.0.2',
        'author'  => array( '[https://www.mediawiki.org/wiki/User:Van_de_Bugger 
Van de Bugger]' ),
        'url'     => 'https://www.mediawiki.org/wiki/Extension:SemanticTitle',
        'descriptionmsg'  => 'semantictitle-desc',


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to