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