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>&lt;syntax&gt;</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

Reply via email to