http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84550
Revision: 84550
Author: ialex
Date: 2011-03-22 20:25:27 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
Removed some useless extension function; changed the ones adding parser tags
and functions to use ParserFirstCallInit hook
Modified Paths:
--------------
trunk/extensions/Preloader/Preloader.php
trunk/extensions/RSSNews/RSSNews.php
trunk/extensions/ScanSet/ScanSet.php
trunk/extensions/Seealso/Seealso.php
trunk/extensions/Sort/Sort.php
trunk/extensions/SyntaxHighlight_vim/Syntax.php
trunk/extensions/SyntaxHighlight_vim/SyntaxHook.php
trunk/extensions/TagContent/TagContent.php
trunk/extensions/TemplateLink/TemplateLink.setup.php
trunk/extensions/UserImages/UserImages.php
trunk/extensions/UserRightsNotif/UserRightsNotif.php
trunk/extensions/WiktionaryInflection/WiktionaryInflection.php
trunk/extensions/YouTubeAuthSub/YouTubeAuthSub.php
trunk/extensions/uniwiki/Layouts/Layouts.php
Modified: trunk/extensions/Preloader/Preloader.php
===================================================================
--- trunk/extensions/Preloader/Preloader.php 2011-03-22 20:23:52 UTC (rev
84549)
+++ trunk/extensions/Preloader/Preloader.php 2011-03-22 20:25:27 UTC (rev
84550)
@@ -17,7 +17,6 @@
exit( 1 );
}
-$wgExtensionFunctions[] = 'efPreloader';
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'Preloader',
@@ -33,21 +32,21 @@
*/
$wgPreloaderSource[ NS_MAIN ] = 'Template:Preload';
-function efPreloader() {
- new Preloader();
-}
+$wgHooks['EditFormPreloadText'][] = 'Preloader::mainHook';
+$wgHooks['ParserFirstCallInit'][] = 'Preloader::setParserHook';
class Preloader {
- function __construct() {
- $this->setHooks();
+ public static function setParserHook( $parser ) {
+ $parser->setHook( 'nopreload', array( __CLASS__, 'parserHook' )
);
+ return true;
}
/** Hook function for the preloading */
- function mainHook( &$text, &$title ) {
- $src = $this->preloadSource( $title->getNamespace() );
+ public static function mainHook( &$text, &$title ) {
+ $src = self::preloadSource( $title->getNamespace() );
if( $src ) {
- $stx = $this->sourceText( $src );
+ $stx = self::sourceText( $src );
if( $stx )
$text = $stx;
}
@@ -55,7 +54,7 @@
}
/** Hook function for the parser */
- function parserHook( $input, $args, &$parser ) {
+ public static function parserHook( $input, $args, &$parser ) {
$output = $parser->parse( $input, $parser->getTitle(),
$parser->getOptions(), false, false );
return $output->getText();
}
@@ -67,7 +66,7 @@
* @param $namespace Namespace to check for
* @return mixed
*/
- function preloadSource( $namespace ) {
+ static function preloadSource( $namespace ) {
global $wgPreloaderSource;
if( isset( $wgPreloaderSource[ $namespace ] ) ) {
return $wgPreloaderSource[ $namespace ];
@@ -82,11 +81,11 @@
* @param $page Text form of the page title
* @return mixed
*/
- function sourceText( $page ) {
+ static function sourceText( $page ) {
$title = Title::newFromText( $page );
if( $title && $title->exists() ) {
$revision = Revision::newFromTitle( $title );
- return $this->transform( $revision->getText() );
+ return self::transform( $revision->getText() );
} else {
return false;
}
@@ -98,14 +97,7 @@
* @param $text
* @return string
*/
- function transform( $text ) {
+ static function transform( $text ) {
return trim( preg_replace( '/<nopreload>.*<\/nopreload>/s', '',
$text ) );
}
-
- /** Register the hook functions with MediaWiki */
- function setHooks() {
- global $wgHooks, $wgParser;
- $wgHooks['EditFormPreloadText'][] = array( &$this, 'mainHook' );
- $wgParser->setHook( 'nopreload', array( &$this, 'parserHook' )
);
- }
}
Modified: trunk/extensions/RSSNews/RSSNews.php
===================================================================
--- trunk/extensions/RSSNews/RSSNews.php 2011-03-22 20:23:52 UTC (rev
84549)
+++ trunk/extensions/RSSNews/RSSNews.php 2011-03-22 20:25:27 UTC (rev
84550)
@@ -10,11 +10,11 @@
'url' => 'http://www.mediawiki.org/wiki/Extension:RSSNews',
);
-$wgExtensionFunctions[] = "wfRSSFeedExtension";
+$wgHooks['ParserFirstCallInit'][] = 'wfRSSFeedSetHook';
-function wfRSSFeedExtension() {
- global $wgParser;
- $wgParser->setHook( "rss", "renderRSS" );
+function wfRSSFeedSetHook( $parser ) {
+ $parser->setHook( 'rss', 'renderRSS' );
+ return true;
}
function renderRSS( $paramstring ) {
Modified: trunk/extensions/ScanSet/ScanSet.php
===================================================================
--- trunk/extensions/ScanSet/ScanSet.php 2011-03-22 20:23:52 UTC (rev
84549)
+++ trunk/extensions/ScanSet/ScanSet.php 2011-03-22 20:25:27 UTC (rev
84550)
@@ -21,12 +21,12 @@
);
$wgExtensionMessagesFiles['ScanSet'] = dirname(__FILE__) . '/ScanSet.i18n.php';
-$wgExtensionFunctions[] = 'wfScanSetSetup';
+$wgHooks['ParserFirstCallInit'][] = 'wfScanSetSetup';
$wgScanSetSettings = array();
-function wfScanSetSetup() {
- global $wgParser;
- $wgParser->setHook( 'scanset', 'wfScanSetHook' );
+function wfScanSetSetup( $parser ) {
+ $parser->setHook( 'scanset', 'wfScanSetHook' );
+ return true;
}
function wfScanSetHook( $content, $params, &$parser ) {
Modified: trunk/extensions/Seealso/Seealso.php
===================================================================
--- trunk/extensions/Seealso/Seealso.php 2011-03-22 20:23:52 UTC (rev
84549)
+++ trunk/extensions/Seealso/Seealso.php 2011-03-22 20:25:27 UTC (rev
84550)
@@ -19,30 +19,26 @@
'descriptionmsg' => 'seealso-desc',
);
-$wgExtensionFunctions[] = "wfSeealso";
+$wgHooks['ParserFirstCallInit'][] = 'wfSeealsoSetHooks';
$dir = dirname(__FILE__) . '/';
$wgExtensionMessagesFiles['seealso'] = $dir . 'Seealso.i18n.php';
-function wfSeealso () {
- wfLoadExtensionMessages( 'seealso' );
- global $wgParser ;
- $wgParser->setHook ('seealso', 'parse_seealso' ) ;
+function wfSeealsoSetHooks( $parser ) {
+ $parser->setHook( 'seealso', 'parse_seealso' );
$l = trim ( 'seealso-local', "" ) ;
if ( $l != "" )
- $wgParser->setHook ( $l , 'parse_seealso' ) ;
+ $parser->setHook( $l, 'parse_seealso' );
+ return true;
}
-function parse_seealso ( $text, $params, &$parser ) {
- $a = explode ( "\n" , $text ) ;
- $ret = "== " . trim ( wfMsg('seealso')) . " ==\n" ;
+function parse_seealso( $text, $params, $parser ) {
+ $a = explode ( "\n" , $text );
+ $ret = "== " . trim ( wfMsg( 'seealso' ) ) . " ==\n";
foreach ( $a AS $x ) {
$x = trim ( $x ) ;
- if ( $x == "" ) continue ;
- $ret .= "* [[" . $x . "]]\n" ;
+ if ( $x == "" ) continue;
+ $ret .= "* [[" . $x . "]]\n";
}
- $p = new Parser ;
- $ret = $p->parse ( $ret , $parser->getTitle() , $parser->getOptions(),
false ) ;
- $ret = $ret->getText();
- return $ret ;
+ return $parser->recursiveTagParse( $ret );
}
Modified: trunk/extensions/Sort/Sort.php
===================================================================
--- trunk/extensions/Sort/Sort.php 2011-03-22 20:23:52 UTC (rev 84549)
+++ trunk/extensions/Sort/Sort.php 2011-03-22 20:25:27 UTC (rev 84550)
@@ -16,7 +16,7 @@
}
$wgAutoloadClasses['Sorter'] = dirname( __FILE__ ) . '/Sort.class.php';
-$wgExtensionFunctions[] = 'efSort';
+$wgHooks['ParserFirstCallInit'][] = 'efSortSetHook';
$wgExtensionCredits['parserhook'][] = array(
'path' => __FILE__,
'name' => 'Sort',
@@ -28,9 +28,9 @@
/**
* Register hook function
*/
-function efSort() {
- global $wgParser;
- $wgParser->setHook( 'sort', 'efRenderSort' );
+function efSortSetHook( $parser ) {
+ $parser->setHook( 'sort', 'efRenderSort' );
+ return true;
}
/**
Modified: trunk/extensions/SyntaxHighlight_vim/Syntax.php
===================================================================
--- trunk/extensions/SyntaxHighlight_vim/Syntax.php 2011-03-22 20:23:52 UTC
(rev 84549)
+++ trunk/extensions/SyntaxHighlight_vim/Syntax.php 2011-03-22 20:25:27 UTC
(rev 84550)
@@ -10,64 +10,58 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
2.0 or later
*/
-$wgExtensionFunctions[] = 'wfSyntax';
$wgExtensionCredits['other'][] = array(
'name' => 'Syntax',
'author' => 'Ævar Arnfjörð Bjarmason',
'description' => 'A syntax highlight library'
);
-function wfSyntax() {
- wfUsePHP( 5.1 );
- wfUseMW( '1.6alpha' );
-
- class Syntax {
- private $mIn;
- private $mInFile, $mOutFile;
- private $mVimrc;
+class Syntax {
+ private $mIn;
+ private $mInFile, $mOutFile;
+ private $mVimrc;
- public function __construct( $in, $format = null, $colorscheme
= null, $background = null ) {
- $this->mVimrc = dirname( __FILE__ ) .
DIRECTORY_SEPARATOR . 'vimrc.vim';
+ public function __construct( $in, $format = null, $colorscheme = null,
$background = null ) {
+ $this->mVimrc = dirname( __FILE__ ) . DIRECTORY_SEPARATOR .
'vimrc.vim';
- $this->mIn = $in;
- }
+ $this->mIn = $in;
+ }
- public function getOut() {
- $this->genTemp();
-
- if ( ! $handle = fopen( $this->mInFile, 'a' ) )
- die( 'AAAAAAA' );
- if ( fwrite( $handle, $this->mIn ) === false )
- die( 'OOOOOOOOO' );
+ public function getOut() {
+ $this->genTemp();
- $html = $this->run();
+ if ( ! $handle = fopen( $this->mInFile, 'a' ) )
+ die( 'AAAAAAA' );
+ if ( fwrite( $handle, $this->mIn ) === false )
+ die( 'OOOOOOOOO' );
- $html = preg_replace( '~^\s*<html>.*?<body.*?<pre>~s',
'<pre style="background-color: black; color: gray">', $html );
- $html = preg_replace( '~</p>\s*</body>.*?$~s',
'</style>', $html );
+ $html = $this->run();
- $this->rmTemp();
-
- return $html;
- }
+ $html = preg_replace( '~^\s*<html>.*?<body.*?<pre>~s', '<pre
style="background-color: black; color: gray">', $html );
+ $html = preg_replace( '~</p>\s*</body>.*?$~s', '</style>',
$html );
- private function genTemp() {
- $this->mInFile = $this->mktemp();
- $this->mOutFile = $this->mktemp();
- }
-
- private static function mktemp() {
- return rtrim( shell_exec( 'mktemp -u' ), "\n" );
- }
-
- private function rmTemp() {
- unlink( $this->mInFile );
- unlink( $this->mOutFile );
- }
+ $this->rmTemp();
- private function run() {
- shell_exec( "vim -u {$this->mVimrc} -e +'run!
syntax/2html.vim' +':w {$this->mOutFile}' +':qa!' {$this->mInFile}" );
-
- return file_get_contents( $this->mOutFile );
- }
+ return $html;
}
+
+ private function genTemp() {
+ $this->mInFile = $this->mktemp();
+ $this->mOutFile = $this->mktemp();
+ }
+
+ private static function mktemp() {
+ return rtrim( shell_exec( 'mktemp -u' ), "\n" );
+ }
+
+ private function rmTemp() {
+ unlink( $this->mInFile );
+ unlink( $this->mOutFile );
+ }
+
+ private function run() {
+ shell_exec( "vim -u {$this->mVimrc} -e +'run! syntax/2html.vim'
+':w {$this->mOutFile}' +':qa!' {$this->mInFile}" );
+
+ return file_get_contents( $this->mOutFile );
+ }
}
Modified: trunk/extensions/SyntaxHighlight_vim/SyntaxHook.php
===================================================================
--- trunk/extensions/SyntaxHighlight_vim/SyntaxHook.php 2011-03-22 20:23:52 UTC
(rev 84549)
+++ trunk/extensions/SyntaxHighlight_vim/SyntaxHook.php 2011-03-22 20:25:27 UTC
(rev 84550)
@@ -10,35 +10,22 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
2.0 or later
*/
-$wgExtensionFunctions[] = 'wfSyntaxHook';
$wgExtensionCredits['parserhook'][] = array(
'name' => 'Syntax',
'author' => 'Ævar Arnfjörð Bjarmason',
'description' => 'adds a <code><syntax></code> parser hook for
highlighting'
);
-function wfSyntaxHook() {
- wfUsePHP( 5.1 );
- wfUseMW( '1.6alpha' );
-
- class SyntaxHook {
- public function __construct() {
- $this->setHook();
- }
-
- private function setHook() {
- global $wgParser;
+$wgHooks['ParserFirstCallInit'][] = 'wfSyntaxHighlightVimSetHook';
- $wgParser->setHook( 'syntax', array( $this, 'hook' ) );
- }
+function wfSyntaxHighlightVimSetHook( $parser ) {
+ $parser->setHook( 'syntax', 'wfSyntaxHighlightVimRender' );
+ return true;
+}
- public function hook( $in, array $argv ) {
- $in = ltrim( $in, "\n" );
- $syntax = new Syntax( $in );
+function wfSyntaxHighlightVimRender( $in, array $argv ) {
+ $in = ltrim( $in, "\n" );
+ $syntax = new Syntax( $in );
- return $syntax->getOut();
- }
- }
-
- new SyntaxHook;
+ return $syntax->getOut();
}
Modified: trunk/extensions/TagContent/TagContent.php
===================================================================
--- trunk/extensions/TagContent/TagContent.php 2011-03-22 20:23:52 UTC (rev
84549)
+++ trunk/extensions/TagContent/TagContent.php 2011-03-22 20:25:27 UTC (rev
84550)
@@ -39,7 +39,7 @@
'description' => 'Translate from tags to parser functions'
);
-$wgExtensionFunctions[] = 'efTagContentSetup';
+$wgHooks['ParserFirstCallInit'][] = 'efTagContentSetHooks';
$wgExtensionMessagesFiles['TagContent'] = dirname(__FILE__) .
'/TagContent.i18n.php';
$egTagContentDefine = array(
@@ -195,14 +195,14 @@
* Setup function for the extension
@return True is returned unconditionally
*/
-function efTagContentSetup () {
- global $wgParser, $egTagContentBlacklist, $egTagContentDefine;
+function efTagContentSetHooks( $parser ) {
+ global $egTagContentBlacklist, $egTagContentDefine;
wfLoadExtensionMessages('TagContent');
foreach ($egTagContentDefine as $k => $a) {
$template = $a[0];
$tag = strtolower($k);
$c = new TagContent($tag, $template, $a[1], false);
- $wgParser->setHook( $tag, array( $c, 'onRender' ));
+ $parser->setHook( $tag, array( $c, 'onRender' ));
}
$defs = explode("\n", wfMsgNoTrans( 'tags-definition' ));
foreach ($defs as $line) {
@@ -213,7 +213,7 @@
$tag = strtolower(trim($a[0]));
if ( !$egTagContentBlacklist[$tag] &&
!isset($egTagContentDefine[$tag])) {
$c = new TagContent($tag, $template, $a[2],
true);
- $wgParser->setHook( $tag, array( $c, 'onRender'
));
+ $parser->setHook( $tag, array( $c, 'onRender'
));
}
}
}
Modified: trunk/extensions/TemplateLink/TemplateLink.setup.php
===================================================================
--- trunk/extensions/TemplateLink/TemplateLink.setup.php 2011-03-22
20:23:52 UTC (rev 84549)
+++ trunk/extensions/TemplateLink/TemplateLink.setup.php 2011-03-22
20:25:27 UTC (rev 84550)
@@ -43,11 +43,11 @@
$wgSpecialPages['TemplateLink'] = 'TemplateLink'; # Let MediaWiki know about
your new special page.
# The tag
-$wgExtensionFunctions[] = 'efTemplateLinkSetup';
+$wgHooks['ParserFirstCallInit'][] = 'efTemplateLinkSetHook';
-function efTemplateLinkSetup(){
- global $wgParser;
- $wgParser->setHook( 'templatelink', 'efTemplateLink' );
+function efTemplateLinkSetHook( $parser ){
+ $parser->setHook( 'templatelink', 'efTemplateLink' );
+ return true;
}
function efTemplateLink( $input, $args, $parser ){
Modified: trunk/extensions/UserImages/UserImages.php
===================================================================
--- trunk/extensions/UserImages/UserImages.php 2011-03-22 20:23:52 UTC (rev
84549)
+++ trunk/extensions/UserImages/UserImages.php 2011-03-22 20:25:27 UTC (rev
84550)
@@ -27,7 +27,7 @@
$dir = dirname(__FILE__) . '/';
$wgExtensionMessagesFiles['UserImages'] = $dir . 'UserImages.i18n.php';
$wgAutoloadClasses['UserImagesGallery'] = $dir . 'UserImages.class.php';
-$wgExtensionFunctions[] = 'efUserImages';
+$wgHooks['ParserFirstCallInit'][] = 'efUserImagesSetHook';
/**
* Set this to true to disable the parser cache for pages which
@@ -39,9 +39,9 @@
/**
* Extension initialisation function
*/
-function efUserImages() {
- global $wgParser;
- $wgParser->setHook( 'userimages', 'efUserImagesRender' );
+function efUserImagesSetHook( $parser ) {
+ $parser->setHook( 'userimages', 'efUserImagesRender' );
+ return true;
}
/**
Modified: trunk/extensions/UserRightsNotif/UserRightsNotif.php
===================================================================
--- trunk/extensions/UserRightsNotif/UserRightsNotif.php 2011-03-22
20:23:52 UTC (rev 84549)
+++ trunk/extensions/UserRightsNotif/UserRightsNotif.php 2011-03-22
20:25:27 UTC (rev 84550)
@@ -16,7 +16,6 @@
die( 1 );
}
-$wgExtensionFunctions[] = 'efUserRightsNotifierSetup';
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'User Rights Email Notification',
@@ -31,11 +30,7 @@
# Change this to alter the email sender
$wgUserRightsNotif['sender'] = $wgPasswordSender;
-function efUserRightsNotifierSetup() {
- global $wgHooks;
- wfLoadExtensionMessages( 'UserRightsNotif' );
- $wgHooks['UserRights'][] = 'efUserRightsNotifier';
-}
+$wgHooks['UserRights'][] = 'efUserRightsNotifier';
function efUserRightsNotifier( &$user, $added, $removed ) {
global $wgUserRightsNotif;
Modified: trunk/extensions/WiktionaryInflection/WiktionaryInflection.php
===================================================================
--- trunk/extensions/WiktionaryInflection/WiktionaryInflection.php
2011-03-22 20:23:52 UTC (rev 84549)
+++ trunk/extensions/WiktionaryInflection/WiktionaryInflection.php
2011-03-22 20:25:27 UTC (rev 84550)
@@ -7,11 +7,11 @@
'author' => '',
);
-$wgExtensionFunctions[] = "wfInflectionExtension";
+$wgHooks['ParserFirstCallInit'][] = 'wfInflectionSetHook';
-function wfInflectionExtension() {
- global $wgParser;
- $wgParser->setHook("infl", "renderInflection");
+function wfInflectionSetHook( $parser ) {
+ $parser->setHook( 'infl', 'renderInflection' );
+ return true;
}
class InflectionRule {
Modified: trunk/extensions/YouTubeAuthSub/YouTubeAuthSub.php
===================================================================
--- trunk/extensions/YouTubeAuthSub/YouTubeAuthSub.php 2011-03-22 20:23:52 UTC
(rev 84549)
+++ trunk/extensions/YouTubeAuthSub/YouTubeAuthSub.php 2011-03-22 20:25:27 UTC
(rev 84550)
@@ -15,8 +15,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
2.0 or later
*/
-$wgExtensionFunctions[] = 'wfYouTubeAuthSub';
-
$wgYTAS_UseClientLogin = true;
# Fill out if you are using $wgUseClientLogin
@@ -44,13 +42,9 @@
$wgAutoloadClasses['SpecialYouTubeAuthSub'] = $dir . 'YouTubeAuthSub_body.php';
$wgSpecialPages['YouTubeAuthSub'] = 'SpecialYouTubeAuthSub';
-function wfYouTubeAuthSub() {
- global $wgYTAS_UseNamespace, $wgExtraNamespaces;
+$wgExtraNamespaces[NS_YOUTUBE] = "YouTube";
+$wgExtraNamespaces[NS_YOUTUBE_TALK] = "YouTube_talk";
- $wgExtraNamespaces[NS_YOUTUBE] = "YouTube";
- $wgExtraNamespaces[NS_YOUTUBE_TALK] = "YouTube_talk";
-}
-
function wfSpecialYouTubePost ($url, $content, $headers = null) {
// Set the date of your post
$issued=gmdate("Y-m-d\TH:i:s\Z", time());
Modified: trunk/extensions/uniwiki/Layouts/Layouts.php
===================================================================
--- trunk/extensions/uniwiki/Layouts/Layouts.php 2011-03-22 20:23:52 UTC
(rev 84549)
+++ trunk/extensions/uniwiki/Layouts/Layouts.php 2011-03-22 20:25:27 UTC
(rev 84550)
@@ -43,10 +43,10 @@
/* ---- TAGS ---- */
-$wgExtensionFunctions[] = "UW_Layouts_EF";
-function UW_Layouts_EF() {
- global $wgParser;
- $wgParser->setHook ( "layout", "UW_Layouts_EF_Render" );
+$wgHooks['ParserFirstCallInit'][] = 'UW_Layouts_ParserFirstCallInit';
+function UW_Layouts_ParserFirstCallInit( $parser ) {
+ $parser->setHook( 'layout', 'UW_Layouts_EF_Render' );
+ return true;
}
/* render a note to display the name of the
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs