Merge "Adding aliases for speacial pages in Hebrew"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 10 Dec 2014 21:40:12 +0000 (21:40 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 10 Dec 2014 21:40:12 +0000 (21:40 +0000)
165 files changed:
docs/hooks.txt
includes/Autopromote.php
includes/Block.php
includes/ChangeTags.php
includes/Collation.php
includes/Defines.php
includes/EditPage.php
includes/Export.php
includes/FileDeleteForm.php
includes/GitInfo.php
includes/GlobalFunctions.php
includes/Import.php
includes/Linker.php
includes/MWNamespace.php
includes/MWTimestamp.php
includes/MagicWord.php
includes/MediaWiki.php
includes/MimeMagic.php
includes/MovePage.php
includes/OutputPage.php
includes/Preferences.php
includes/PrefixSearch.php
includes/ProtectionForm.php
includes/Revision.php
includes/Sanitizer.php
includes/Setup.php
includes/Title.php
includes/TitleArray.php
includes/User.php
includes/UserArray.php
includes/WebRequest.php
includes/WebResponse.php
includes/Xml.php
includes/actions/EditAction.php
includes/actions/FormAction.php
includes/actions/HistoryAction.php
includes/actions/InfoAction.php
includes/actions/RawAction.php
includes/actions/WatchAction.php
includes/api/ApiBase.php
includes/api/ApiCreateAccount.php
includes/api/ApiEditPage.php
includes/api/ApiFormatBase.php
includes/api/ApiHelp.php
includes/api/ApiLogin.php
includes/api/ApiLogout.php
includes/api/ApiMain.php
includes/api/ApiOpenSearch.php
includes/api/ApiPageSet.php
includes/api/ApiParse.php
includes/api/ApiPatrol.php
includes/api/ApiQuery.php
includes/api/ApiQueryInfo.php
includes/api/ApiQueryRecentChanges.php
includes/api/ApiQueryRevisions.php
includes/api/ApiQueryRevisionsBase.php
includes/api/ApiQuerySiteinfo.php
includes/api/ApiQueryTokens.php
includes/api/ApiQueryUsers.php
includes/api/ApiRsd.php
includes/api/ApiTokens.php
includes/api/ApiUndelete.php
includes/api/i18n/be-tarask.json
includes/api/i18n/ksh.json
includes/api/i18n/nl.json
includes/api/i18n/zh-hans.json
includes/cache/BacklinkCache.php
includes/cache/HTMLFileCache.php
includes/cache/LocalisationCache.php
includes/cache/MessageCache.php
includes/changes/ChangesList.php
includes/changes/OldChangesList.php
includes/changes/RecentChange.php
includes/content/AbstractContent.php
includes/content/ContentHandler.php
includes/content/WikitextContent.php
includes/context/RequestContext.php
includes/db/DatabaseOracle.php
includes/deferred/LinksUpdate.php
includes/deferred/SearchUpdate.php
includes/diff/DifferenceEngine.php
includes/filerepo/file/File.php
includes/filerepo/file/LocalFile.php
includes/gallery/ImageGalleryBase.php
includes/gallery/TraditionalImageGallery.php
includes/installer/DatabaseUpdater.php
includes/interwiki/Interwiki.php
includes/logging/LogEventsList.php
includes/logging/LogFormatter.php
includes/mail/EmailNotification.php
includes/mail/UserMailer.php
includes/media/FormatMetadata.php
includes/media/MediaHandler.php
includes/media/MediaTransformOutput.php
includes/media/TransformationalImageHandler.php
includes/media/XMP.php
includes/media/XMPInfo.php
includes/page/Article.php
includes/page/CategoryPage.php
includes/page/ImagePage.php
includes/page/WikiPage.php
includes/parser/LinkHolderArray.php
includes/parser/Parser.php
includes/parser/ParserOptions.php
includes/rcfeed/IRCColourfulRCFeedFormatter.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/revisiondelete/RevDelRevisionList.php
includes/search/SearchEngine.php
includes/search/SearchResult.php
includes/skins/BaseTemplate.php
includes/skins/Skin.php
includes/skins/SkinTemplate.php
includes/specialpage/ChangesListSpecialPage.php
includes/specialpage/FormSpecialPage.php
includes/specialpage/QueryPage.php
includes/specialpage/RedirectSpecialPage.php
includes/specialpage/SpecialPage.php
includes/specialpage/SpecialPageFactory.php
includes/specials/SpecialBlock.php
includes/specials/SpecialBlockList.php
includes/specials/SpecialBooksources.php
includes/specials/SpecialChangeEmail.php
includes/specials/SpecialChangePassword.php
includes/specials/SpecialContributions.php
includes/specials/SpecialDeletedContributions.php
includes/specials/SpecialEditWatchlist.php
includes/specials/SpecialEmailuser.php
includes/specials/SpecialImport.php
includes/specials/SpecialListusers.php
includes/specials/SpecialLog.php
includes/specials/SpecialLonelypages.php
includes/specials/SpecialMergeHistory.php
includes/specials/SpecialMovepage.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPageLanguage.php
includes/specials/SpecialPasswordReset.php
includes/specials/SpecialRandompage.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialResetTokens.php
includes/specials/SpecialSearch.php
includes/specials/SpecialStatistics.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUpload.php
includes/specials/SpecialUserlogin.php
includes/specials/SpecialUserlogout.php
includes/specials/SpecialUserrights.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWantedpages.php
includes/specials/SpecialWatchlist.php
includes/specials/SpecialWhatlinkshere.php
includes/upload/UploadBase.php
includes/upload/UploadFromUrl.php
includes/utils/IP.php
languages/Language.php
languages/i18n/cs.json
languages/i18n/fr.json
languages/i18n/hr.json
languages/i18n/ml.json
languages/i18n/sl.json
languages/i18n/th.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
maintenance/Maintenance.php
maintenance/storage/recompressTracked.php

index 5cc0a67..4a9e0b8 100644 (file)
@@ -1046,7 +1046,8 @@ This may be triggered by the EditPage or any other facility that modifies page c
 Use the $status object to indicate whether the edit should be allowed, and to provide
 a reason for disallowing it. Return false to abort the edit, and true to continue.
 Returning true if $status->isOK() returns false means "don't save but continue user
-interaction", e.g. show the edit form.
+interaction", e.g. show the edit form. $status->apiHookResult can be set to an array
+to be returned by api.php action=edit. This is used to deliver captchas.
 $context: object implementing the IContextSource interface.
 $content: content of the edit box, as a Content object.
 $status: Status object to represent errors, etc.
index 81f3b7a..d492d19 100644 (file)
@@ -43,7 +43,7 @@ class Autopromote {
                        }
                }
 
-               wfRunHooks( 'GetAutoPromoteGroups', array( $user, &$promote ) );
+               Hooks::run( 'GetAutoPromoteGroups', array( $user, &$promote ) );
 
                return $promote;
        }
@@ -197,7 +197,7 @@ class Autopromote {
                                return in_array( 'bot', User::getGroupPermissions( $user->getGroups() ) );
                        default:
                                $result = null;
-                               wfRunHooks( 'AutopromoteCondition', array( $cond[0],
+                               Hooks::run( 'AutopromoteCondition', array( $cond[0],
                                        array_slice( $cond, 1 ), $user, &$result ) );
                                if ( $result === null ) {
                                        throw new MWException( "Unrecognized condition {$cond[0]} for autopromotion!" );
index 3c80035..9079fb0 100644 (file)
@@ -113,7 +113,7 @@ class Block {
                        $this->forcedTargetID = $user; // needed for foreign users
                }
                if ( $by ) { // local user
-                       $this->setBlocker( User::newFromID( $by ) );
+                       $this->setBlocker( User::newFromId( $by ) );
                } else { // foreign user
                        $this->setBlocker( $byText );
                }
@@ -366,7 +366,7 @@ class Block {
        protected function initFromRow( $row ) {
                $this->setTarget( $row->ipb_address );
                if ( $row->ipb_by ) { // local user
-                       $this->setBlocker( User::newFromID( $row->ipb_by ) );
+                       $this->setBlocker( User::newFromId( $row->ipb_by ) );
                } else { // foreign user
                        $this->setBlocker( $row->ipb_by_text );
                }
@@ -580,7 +580,7 @@ class Block {
                if ( $this->isAutoblocking() && $this->getType() == self::TYPE_USER ) {
                        wfDebug( "Doing retroactive autoblocks for " . $this->getTarget() . "\n" );
 
-                       $continue = wfRunHooks(
+                       $continue = Hooks::run(
                                'PerformRetroactiveAutoblock', array( $this, &$blockIds ) );
 
                        if ( $continue ) {
@@ -693,7 +693,7 @@ class Block {
                }
 
                # Allow hooks to cancel the autoblock.
-               if ( !wfRunHooks( 'AbortAutoblock', array( $autoblockIP, &$this ) ) ) {
+               if ( !Hooks::run( 'AbortAutoblock', array( $autoblockIP, &$this ) ) ) {
                        wfDebug( "Autoblock aborted by hook.\n" );
                        return false;
                }
index 87c6ce5..9ee2460 100644 (file)
@@ -320,7 +320,7 @@ class ChangeTags {
                        $emptyTags[] = $row->vt_tag;
                }
 
-               wfRunHooks( 'ListDefinedTags', array( &$emptyTags ) );
+               Hooks::run( 'ListDefinedTags', array( &$emptyTags ) );
 
                $emptyTags = array_filter( array_unique( $emptyTags ) );
 
index 1c2c2db..dac3e93 100644 (file)
@@ -59,7 +59,7 @@ abstract class Collation {
 
                                # Provide a mechanism for extensions to hook in.
                                $collationObject = null;
-                               wfRunHooks( 'Collation::factory', array( $collationName, &$collationObject ) );
+                               Hooks::run( 'Collation::factory', array( $collationName, &$collationObject ) );
 
                                if ( $collationObject instanceof Collation ) {
                                        return $collationObject;
index d0c2226..d63d5ca 100644 (file)
@@ -2,10 +2,6 @@
 /**
  * A few constants that might be needed during LocalSettings.php.
  *
- * Note: these constants must all be resolvable at compile time by HipHop,
- * since this file will not be executed during request startup for a compiled
- * MediaWiki.
- *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
@@ -216,6 +212,7 @@ define( 'MW_SUPPORTS_EDITFILTERMERGED', 1 );
 define( 'MW_SUPPORTS_PARSERFIRSTCALLINIT', 1 );
 define( 'MW_SUPPORTS_LOCALISATIONCACHE', 1 );
 define( 'MW_SUPPORTS_CONTENTHANDLER', 1 );
+define( 'MW_EDITFILTERMERGED_SUPPORTS_API', 1 );
 /**@}*/
 
 /** Support for $wgResourceModules */
index 993c20a..a30a5ea 100644 (file)
@@ -463,7 +463,7 @@ class EditPage {
        function edit() {
                global $wgOut, $wgRequest, $wgUser;
                // Allow extensions to modify/prevent this form or submission
-               if ( !wfRunHooks( 'AlternateEdit', array( $this ) ) ) {
+               if ( !Hooks::run( 'AlternateEdit', array( $this ) ) ) {
                        return;
                }
 
@@ -558,9 +558,9 @@ class EditPage {
                        }
 
                        if ( !$this->mTitle->getArticleID() ) {
-                               wfRunHooks( 'EditFormPreloadText', array( &$this->textbox1, &$this->mTitle ) );
+                               Hooks::run( 'EditFormPreloadText', array( &$this->textbox1, &$this->mTitle ) );
                        } else {
-                               wfRunHooks( 'EditFormInitialText', array( $this ) );
+                               Hooks::run( 'EditFormInitialText', array( $this ) );
                        }
 
                }
@@ -627,7 +627,7 @@ class EditPage {
                        throw new PermissionsError( $action, $permErrors );
                }
 
-               wfRunHooks( 'EditPage::showReadOnlyForm:initial', array( $this, &$wgOut ) );
+               Hooks::run( 'EditPage::showReadOnlyForm:initial', array( $this, &$wgOut ) );
 
                $wgOut->setRobotPolicy( 'noindex,nofollow' );
                $wgOut->setPageTitle( wfMessage(
@@ -929,7 +929,7 @@ class EditPage {
                        $this->section === 'new' ? 'MediaWiki:addsection-editintro' : '' );
 
                // Allow extensions to modify form data
-               wfRunHooks( 'EditPage::importFormData', array( $this, $request ) );
+               Hooks::run( 'EditPage::importFormData', array( $this, $request ) );
 
                wfProfileOut( __METHOD__ );
        }
@@ -1368,7 +1368,7 @@ class EditPage {
                                $sectionanchor = $resultDetails['sectionanchor'];
 
                                // Give extensions a chance to modify URL query on update
-                               wfRunHooks(
+                               Hooks::run(
                                        'ArticleUpdateBeforeRedirect',
                                        array( $this->mArticle, &$sectionanchor, &$extraQuery )
                                );
@@ -1434,8 +1434,8 @@ class EditPage {
        protected function runPostMergeFilters( Content $content, Status $status, User $user ) {
                // Run old style post-section-merge edit filter
                if ( !ContentHandler::runLegacyHooks( 'EditFilterMerged',
-                       array( $this, $content, &$this->hookError, $this->summary ) ) ) {
-
+                       array( $this, $content, &$this->hookError, $this->summary ) ) )
+               {
                        # Error messages etc. could be handled within the hook...
                        $status->fatal( 'hookaborted' );
                        $status->value = self::AS_HOOK_ERROR;
@@ -1448,15 +1448,24 @@ class EditPage {
                }
 
                // Run new style post-section-merge edit filter
-               if ( !wfRunHooks( 'EditFilterMergedContent',
-                       array( $this->mArticle->getContext(), $content, $status, $this->summary,
-                               $user, $this->minoredit ) ) ) {
-
+               if ( !Hooks::run( 'EditFilterMergedContent',
+                               array( $this->mArticle->getContext(), $content, $status, $this->summary,
+                               $user, $this->minoredit ) ) )
+               {
                        # Error messages etc. could be handled within the hook...
-                       // XXX: $status->value may already be something informative...
-                       $this->hookError = $status->getWikiText();
-                       $status->fatal( 'hookaborted' );
-                       $status->value = self::AS_HOOK_ERROR;
+                       if ( $status->isGood() ) {
+                               $status->fatal( 'hookaborted' );
+                               // Not setting $this->hookError here is a hack to allow the hook
+                               // to cause a return to the edit page without $this->hookError
+                               // being set. This is used by ConfirmEdit to display a captcha
+                               // without any error message cruft.
+                       } else {
+                               $this->hookError = $status->getWikiText();
+                       }
+                       // Use the existing $status->value if the hook set it
+                       if ( !$status->value ) {
+                               $status->value = self::AS_HOOK_ERROR;
+                       }
                        return false;
                } elseif ( !$status->isOK() ) {
                        # ...or the hook could be expecting us to produce an error
@@ -1532,7 +1541,7 @@ class EditPage {
                wfProfileIn( __METHOD__ );
                wfProfileIn( __METHOD__ . '-checks' );
 
-               if ( !wfRunHooks( 'EditPage::attemptSave', array( $this ) ) ) {
+               if ( !Hooks::run( 'EditPage::attemptSave', array( $this ) ) ) {
                        wfDebug( "Hook 'EditPage::attemptSave' aborted article saving\n" );
                        $status->fatal( 'hookaborted' );
                        $status->value = self::AS_HOOK_ERROR;
@@ -1618,7 +1627,7 @@ class EditPage {
                        wfProfileOut( __METHOD__ );
                        return $status;
                }
-               if ( !wfRunHooks(
+               if ( !Hooks::run(
                        'EditFilter',
                        array( $this, $this->textbox1, $this->section, &$this->hookError, $this->summary ) )
                ) {
@@ -2345,6 +2354,9 @@ class EditPage {
         * Send the edit form and related headers to $wgOut
         * @param callable|null $formCallback That takes an OutputPage parameter; will be called
         *     during form output near the top, for captchas and the like.
+        *
+        * The $formCallback parameter is deprecated since MediaWiki 1.25. Please
+        * use the EditPage::showEditForm:fields hook instead.
         */
        function showEditForm( $formCallback = null ) {
                global $wgOut, $wgUser;
@@ -2360,7 +2372,7 @@ class EditPage {
                        $previewOutput = $this->getPreviewText();
                }
 
-               wfRunHooks( 'EditPage::showEditForm:initial', array( &$this, &$wgOut ) );
+               Hooks::run( 'EditPage::showEditForm:initial', array( &$this, &$wgOut ) );
 
                $this->setHeaders();
 
@@ -2403,6 +2415,7 @@ class EditPage {
                ) );
 
                if ( is_callable( $formCallback ) ) {
+                       wfWarn( 'The $formCallback parameter to ' . __METHOD__ . 'is deprecated' );
                        call_user_func_array( $formCallback, array( &$wgOut ) );
                }
 
@@ -2426,7 +2439,7 @@ class EditPage {
                        . Xml::closeElement( 'div' )
                );
 
-               wfRunHooks( 'EditPage::showEditForm:fields', array( &$this, &$wgOut ) );
+               Hooks::run( 'EditPage::showEditForm:fields', array( &$this, &$wgOut ) );
 
                // Put these up at the top to ensure they aren't lost on early form submission
                $this->showFormBeforeText();
@@ -3072,7 +3085,7 @@ HTML
                }
                # This hook seems slightly odd here, but makes things more
                # consistent for extensions.
-               wfRunHooks( 'OutputPageBeforeHTML', array( &$wgOut, &$text ) );
+               Hooks::run( 'OutputPageBeforeHTML', array( &$wgOut, &$text ) );
                $wgOut->addHTML( $text );
                if ( $this->mTitle->getNamespace() == NS_CATEGORY ) {
                        $this->mArticle->closeShowCategory();
@@ -3111,7 +3124,7 @@ HTML
 
                if ( $newContent ) {
                        ContentHandler::runLegacyHooks( 'EditPageGetDiffText', array( $this, &$newContent ) );
-                       wfRunHooks( 'EditPageGetDiffContent', array( $this, &$newContent ) );
+                       Hooks::run( 'EditPageGetDiffContent', array( $this, &$newContent ) );
 
                        $popts = ParserOptions::newFromUserAndLang( $wgUser, $wgContLang );
                        $newContent = $newContent->preSaveTransform( $this->mTitle, $wgUser, $popts );
@@ -3163,7 +3176,7 @@ HTML
         */
        protected function showTosSummary() {
                $msg = 'editpage-tos-summary';
-               wfRunHooks( 'EditPageTosSummary', array( $this->mTitle, &$msg ) );
+               Hooks::run( 'EditPageTosSummary', array( $this->mTitle, &$msg ) );
                if ( !wfMessage( $msg )->isDisabled() ) {
                        global $wgOut;
                        $wgOut->addHTML( '<div class="mw-tos-summary">' );
@@ -3207,7 +3220,7 @@ HTML
                                '[[' . wfMessage( 'copyrightpage' )->inContentLanguage()->text() . ']]' );
                }
                // Allow for site and per-namespace customization of contribution/copyright notice.
-               wfRunHooks( 'EditPageCopyrightWarning', array( $title, &$copywarnMsg ) );
+               Hooks::run( 'EditPageCopyrightWarning', array( $title, &$copywarnMsg ) );
 
                return "<div id=\"editpage-copywarn\">\n" .
                        call_user_func_array( 'wfMessage', $copywarnMsg )->$format() . "\n</div>";
@@ -3240,7 +3253,7 @@ HTML
                        Html::openElement( 'tbody' );
 
                foreach ( $output->getLimitReportData() as $key => $value ) {
-                       if ( wfRunHooks( 'ParserLimitReportFormat',
+                       if ( Hooks::run( 'ParserLimitReportFormat',
                                array( $key, &$value, &$limitReport, true, true )
                        ) ) {
                                $keyMsg = wfMessage( $key );
@@ -3308,7 +3321,7 @@ HTML
                $wgOut->addHTML( "      <span class='editHelp'>{$edithelp}</span>\n" );
                $wgOut->addHTML( "</div><!-- editButtons -->\n" );
 
-               wfRunHooks( 'EditPage::showStandardInputs:options', array( $this, $wgOut, &$tabindex ) );
+               Hooks::run( 'EditPage::showStandardInputs:options', array( $this, $wgOut, &$tabindex ) );
 
                $wgOut->addHTML( "</div><!-- editOptions -->\n" );
        }
@@ -3320,7 +3333,7 @@ HTML
        protected function showConflict() {
                global $wgOut;
 
-               if ( wfRunHooks( 'EditPageBeforeConflictDiff', array( &$this, &$wgOut ) ) ) {
+               if ( Hooks::run( 'EditPageBeforeConflictDiff', array( &$this, &$wgOut ) ) ) {
                        $wgOut->wrapWikiMsg( '<h2>$1</h2>', "yourdiff" );
 
                        $content1 = $this->toEditContent( $this->textbox1 );
@@ -3471,7 +3484,7 @@ HTML
                        $content = $this->toEditContent( $this->textbox1 );
 
                        $previewHTML = '';
-                       if ( !wfRunHooks(
+                       if ( !Hooks::run(
                                'AlternateEditPreview',
                                array( $this, &$content, &$previewHTML, &$this->mParserOutput ) )
                        ) {
@@ -3540,7 +3553,7 @@ HTML
 
                        $hook_args = array( $this, &$content );
                        ContentHandler::runLegacyHooks( 'EditPageGetPreviewText', $hook_args );
-                       wfRunHooks( 'EditPageGetPreviewContent', $hook_args );
+                       Hooks::run( 'EditPageGetPreviewContent', $hook_args );
 
                        $parserOptions->enableLimitReport();
 
@@ -3738,7 +3751,7 @@ HTML
 
                $toolbar = '<div id="toolbar"></div>';
 
-               wfRunHooks( 'EditPageBeforeEditToolbar', array( &$toolbar ) );
+               Hooks::run( 'EditPageBeforeEditToolbar', array( &$toolbar ) );
 
                return $toolbar;
        }
@@ -3805,7 +3818,7 @@ HTML
                                $checkboxes['watch'] = $watchThisHtml;
                        }
                }
-               wfRunHooks( 'EditPageBeforeEditChecks', array( &$this, &$checkboxes, &$tabindex ) );
+               Hooks::run( 'EditPageBeforeEditChecks', array( &$this, &$checkboxes, &$tabindex ) );
                return $checkboxes;
        }
 
@@ -3846,7 +3859,7 @@ HTML
                $buttons['diff'] = Html::submitButton( wfMessage( 'showdiff' )->text(),
                        $attribs );
 
-               wfRunHooks( 'EditPageBeforeEditButtons', array( &$this, &$buttons, &$tabindex ) );
+               Hooks::run( 'EditPageBeforeEditButtons', array( &$this, &$buttons, &$tabindex ) );
                return $buttons;
        }
 
@@ -3890,7 +3903,7 @@ HTML
                $wgOut->prepareErrorPage( wfMessage( 'nosuchsectiontitle' ) );
 
                $res = wfMessage( 'nosuchsectiontext', $this->section )->parseAsBlock();
-               wfRunHooks( 'EditPageNoSuchSection', array( &$this, &$res ) );
+               Hooks::run( 'EditPageNoSuchSection', array( &$this, &$res ) );
                $wgOut->addHTML( $res );
 
                $wgOut->returnToMain( false, $this->mTitle );
index 840e723..dd5cb0c 100644 (file)
@@ -348,7 +348,7 @@ class WikiExporter {
                                # Default JOIN, to be overridden...
                                $join['revision'] = array( 'INNER JOIN', 'page_id=rev_page AND page_latest=rev_id' );
                                # One, and only one hook should set this, and return false
-                               if ( wfRunHooks( 'WikiExporter::dumpStableQuery', array( &$tables, &$opts, &$join ) ) ) {
+                               if ( Hooks::run( 'WikiExporter::dumpStableQuery', array( &$tables, &$opts, &$join ) ) ) {
                                        wfProfileOut( __METHOD__ );
                                        throw new MWException( __METHOD__ . " given invalid history dump type." );
                                }
@@ -378,7 +378,7 @@ class WikiExporter {
 
                        $result = null; // Assuring $result is not undefined, if exception occurs early
                        try {
-                               wfRunHooks( 'ModifyExportQuery',
+                               Hooks::run( 'ModifyExportQuery',
                                                array( $this->db, &$tables, &$cond, &$opts, &$join ) );
 
                                # Do the query!
@@ -627,7 +627,7 @@ class XmlDumpWriter {
                                strval( $row->page_restrictions ) ) . "\n";
                }
 
-               wfRunHooks( 'XmlDumpWriterOpenPage', array( $this, &$out, $row, $title ) );
+               Hooks::run( 'XmlDumpWriterOpenPage', array( $this, &$out, $row, $title ) );
 
                return $out;
        }
@@ -722,7 +722,7 @@ class XmlDumpWriter {
                        $out .= "      <sha1/>\n";
                }
 
-               wfRunHooks( 'XmlDumpWriterWriteRevision', array( &$this, &$out, $row, $text ) );
+               Hooks::run( 'XmlDumpWriterWriteRevision', array( &$this, &$out, $row, $text ) );
 
                $out .= "    </revision>\n";
 
index b4e2458..1c709e6 100644 (file)
@@ -210,7 +210,7 @@ class FileDeleteForm {
                }
 
                if ( $status->isOK() ) {
-                       wfRunHooks( 'FileDeleteComplete', array( &$file, &$oldimage, &$page, &$user, &$reason ) );
+                       Hooks::run( 'FileDeleteComplete', array( &$file, &$oldimage, &$page, &$user, &$reason ) );
                }
 
                return $status;
index 7052820..fb298cf 100644 (file)
@@ -392,7 +392,7 @@ class GitInfo {
 
                if ( self::$viewers === false ) {
                        self::$viewers = $wgGitRepositoryViewers;
-                       wfRunHooks( 'GitViewers', array( &self::$viewers ) );
+                       Hooks::run( 'GitViewers', array( &self::$viewers ) );
                }
 
                return self::$viewers;
index 14326ec..dafa48b 100644 (file)
@@ -3946,6 +3946,7 @@ function wfGetLangConverterCacheStorage() {
  * @param string|null $deprecatedVersion Optionally mark hook as deprecated with version number
  *
  * @return bool True if no handler aborted the hook
+ * @deprecated 1.25
  */
 function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null ) {
        return Hooks::run( $event, $args, $deprecatedVersion );
index 4eb8e97..6f93351 100644 (file)
@@ -328,7 +328,7 @@ class WikiImporter {
         */
        public function finishImportPage( $title, $origTitle, $revCount, $sRevCount, $pageInfo ) {
                $args = func_get_args();
-               return wfRunHooks( 'AfterImportPage', $args );
+               return Hooks::run( 'AfterImportPage', $args );
        }
 
        /**
@@ -464,7 +464,7 @@ class WikiImporter {
                        $tag = $this->reader->name;
                        $type = $this->reader->nodeType;
 
-                       if ( !wfRunHooks( 'ImportHandleToplevelXMLTag', array( $this ) ) ) {
+                       if ( !Hooks::run( 'ImportHandleToplevelXMLTag', array( $this ) ) ) {
                                // Do nothing
                        } elseif ( $tag == 'mediawiki' && $type == XmlReader::END_ELEMENT ) {
                                break;
@@ -523,7 +523,7 @@ class WikiImporter {
 
                        $tag = $this->reader->name;
 
-                       if ( !wfRunHooks( 'ImportHandleLogItemXMLTag', array(
+                       if ( !Hooks::run( 'ImportHandleLogItemXMLTag', array(
                                $this, $logInfo
                        ) ) ) {
                                // Do nothing
@@ -590,7 +590,7 @@ class WikiImporter {
                        if ( $badTitle ) {
                                // The title is invalid, bail out of this page
                                $skip = true;
-                       } elseif ( !wfRunHooks( 'ImportHandlePageXMLTag', array( $this,
+                       } elseif ( !Hooks::run( 'ImportHandlePageXMLTag', array( $this,
                                                &$pageInfo ) ) ) {
                                // Do nothing
                        } elseif ( in_array( $tag, $normalFields ) ) {
@@ -652,7 +652,7 @@ class WikiImporter {
 
                        $tag = $this->reader->name;
 
-                       if ( !wfRunHooks( 'ImportHandleRevisionXMLTag', array(
+                       if ( !Hooks::run( 'ImportHandleRevisionXMLTag', array(
                                $this, $pageInfo, $revisionInfo
                        ) ) ) {
                                // Do nothing
@@ -744,7 +744,7 @@ class WikiImporter {
 
                        $tag = $this->reader->name;
 
-                       if ( !wfRunHooks( 'ImportHandleUploadXMLTag', array(
+                       if ( !Hooks::run( 'ImportHandleUploadXMLTag', array(
                                $this, $pageInfo
                        ) ) ) {
                                // Do nothing
index d84e5d0..bfb8937 100644 (file)
@@ -209,7 +209,7 @@ class Linker {
                $dummy = new DummyLinker; // dummy linker instance for bc on the hooks
 
                $ret = null;
-               if ( !wfRunHooks( 'LinkBegin',
+               if ( !Hooks::run( 'LinkBegin',
                        array( $dummy, $target, &$html, &$customAttribs, &$query, &$options, &$ret ) )
                ) {
                        wfProfileOut( __METHOD__ );
@@ -251,7 +251,7 @@ class Linker {
                }
 
                $ret = null;
-               if ( wfRunHooks( 'LinkEnd', array( $dummy, $target, $options, &$html, &$attribs, &$ret ) ) ) {
+               if ( Hooks::run( 'LinkEnd', array( $dummy, $target, $options, &$html, &$attribs, &$ret ) ) ) {
                        $ret = Html::rawElement( 'a', $attribs, $html );
                }
 
@@ -411,7 +411,7 @@ class Linker {
         */
        public static function makeSelfLinkObj( $nt, $html = '', $query = '', $trail = '', $prefix = '' ) {
                $ret = "<strong class=\"selflink\">{$prefix}{$html}</strong>{$trail}";
-               if ( !wfRunHooks( 'SelfLinkBegin', array( $nt, &$html, &$trail, &$prefix, &$ret ) ) ) {
+               if ( !Hooks::run( 'SelfLinkBegin', array( $nt, &$html, &$trail, &$prefix, &$ret ) ) ) {
                        return $ret;
                }
 
@@ -497,7 +497,7 @@ class Linker {
                        $alt = self::fnamePart( $url );
                }
                $img = '';
-               $success = wfRunHooks( 'LinkerMakeExternalImage', array( &$url, &$alt, &$img ) );
+               $success = Hooks::run( 'LinkerMakeExternalImage', array( &$url, &$alt, &$img ) );
                if ( !$success ) {
                        wfDebug( "Hook LinkerMakeExternalImage changed the output of external image "
                                . "with url {$url} and alt text {$alt} to {$img}\n", true );
@@ -551,7 +551,7 @@ class Linker {
        ) {
                $res = null;
                $dummy = new DummyLinker;
-               if ( !wfRunHooks( 'ImageBeforeProduceHTML', array( &$dummy, &$title,
+               if ( !Hooks::run( 'ImageBeforeProduceHTML', array( &$dummy, &$title,
                        &$file, &$frameParams, &$handlerParams, &$time, &$res ) ) ) {
                        return $res;
                }
@@ -1031,7 +1031,7 @@ class Linker {
                        'title' => $alt
                );
 
-               if ( !wfRunHooks( 'LinkerMakeMediaLinkFile',
+               if ( !Hooks::run( 'LinkerMakeMediaLinkFile',
                        array( $title, $file, &$html, &$attribs, &$ret ) ) ) {
                        wfDebug( "Hook LinkerMakeMediaLinkFile changed the output of link "
                                . "with url {$url} and text {$html} to {$ret}\n", true );
@@ -1090,7 +1090,7 @@ class Linker {
                }
                $attribs['rel'] = Parser::getExternalLinkRel( $url, $title );
                $link = '';
-               $success = wfRunHooks( 'LinkerMakeExternalLink',
+               $success = Hooks::run( 'LinkerMakeExternalLink',
                        array( &$url, &$text, &$link, &$attribs, $linktype ) );
                if ( !$success ) {
                        wfDebug( "Hook LinkerMakeExternalLink changed the output of link "
@@ -1176,7 +1176,7 @@ class Linker {
                        $items[] = self::emailLink( $userId, $userText );
                }
 
-               wfRunHooks( 'UserToolLinksEdit', array( $userId, $userText, &$items ) );
+               Hooks::run( 'UserToolLinksEdit', array( $userId, $userText, &$items ) );
 
                if ( $items ) {
                        return wfMessage( 'word-separator' )->plain()
@@ -1333,7 +1333,7 @@ class Linker {
                                $auto = $match[2];
                                $post = $match[3];
                                $comment = null;
-                               wfRunHooks( 'FormatAutocomments', array( &$comment, $pre, $auto, $post, $title, $local ) );
+                               Hooks::run( 'FormatAutocomments', array( &$comment, $pre, $auto, $post, $title, $local ) );
                                if ( $comment === null ) {
                                        $link = '';
                                        if ( $title ) {
index 392f558..bd68551 100644 (file)
@@ -72,7 +72,7 @@ class MWNamespace {
                /**
                 * @since 1.20
                 */
-               wfRunHooks( 'NamespaceIsMovable', array( $index, &$result ) );
+               Hooks::run( 'NamespaceIsMovable', array( $index, &$result ) );
 
                return $result;
        }
@@ -213,7 +213,7 @@ class MWNamespace {
                        if ( is_array( $wgExtraNamespaces ) ) {
                                $namespaces += $wgExtraNamespaces;
                        }
-                       wfRunHooks( 'CanonicalNamespaces', array( &$namespaces ) );
+                       Hooks::run( 'CanonicalNamespaces', array( &$namespaces ) );
                }
                return $namespaces;
        }
index 26f5e54..4b3d36a 100644 (file)
@@ -221,7 +221,7 @@ class MWTimestamp {
                $offsetRel = $relativeTo->offsetForUser( $user );
 
                $ts = '';
-               if ( wfRunHooks( 'GetHumanTimestamp', array( &$ts, $this, $relativeTo, $user, $lang ) ) ) {
+               if ( Hooks::run( 'GetHumanTimestamp', array( &$ts, $this, $relativeTo, $user, $lang ) ) ) {
                        $ts = $lang->getHumanTimestamp( $this, $relativeTo, $user );
                }
 
@@ -326,7 +326,7 @@ class MWTimestamp {
 
                $ts = '';
                $diff = $this->diff( $relativeTo );
-               if ( wfRunHooks(
+               if ( Hooks::run(
                        'GetRelativeTimestamp',
                        array( &$ts, &$diff, $this, $relativeTo, $user, $lang )
                ) ) {
index d281555..4b24a00 100644 (file)
@@ -273,7 +273,7 @@ class MagicWord {
        static function getVariableIDs() {
                if ( !self::$mVariableIDsInitialised ) {
                        # Get variable IDs
-                       wfRunHooks( 'MagicWordwgVariableIDs', array( &self::$mVariableIDs ) );
+                       Hooks::run( 'MagicWordwgVariableIDs', array( &self::$mVariableIDs ) );
                        self::$mVariableIDsInitialised = true;
                }
                return self::$mVariableIDs;
@@ -308,7 +308,7 @@ class MagicWord {
         */
        static function getDoubleUnderscoreArray() {
                if ( is_null( self::$mDoubleUnderscoreArray ) ) {
-                       wfRunHooks( 'GetDoubleUnderscoreIDs', array( &self::$mDoubleUnderscoreIDs ) );
+                       Hooks::run( 'GetDoubleUnderscoreIDs', array( &self::$mDoubleUnderscoreIDs ) );
                        self::$mDoubleUnderscoreArray = new MagicWordArray( self::$mDoubleUnderscoreIDs );
                }
                return self::$mDoubleUnderscoreArray;
index 7ce6d1b..6e2a0c9 100644 (file)
@@ -169,7 +169,7 @@ class MediaWiki {
                }
 
                $unused = null; // To pass it by reference
-               wfRunHooks( 'BeforeInitialize', array( &$title, &$unused, &$output, &$user, $request, $this ) );
+               Hooks::run( 'BeforeInitialize', array( &$title, &$unused, &$output, &$user, $request, $this ) );
 
                // Invalid titles. Bug 21776: The interwikis must redirect even if the page name is empty.
                if ( is_null( $title ) || ( $title->getDBkey() == '' && !$title->isExternal() )
@@ -233,7 +233,7 @@ class MediaWiki {
                        && ( $request->getVal( 'title' ) === null
                                || $title->getPrefixedDBkey() != $request->getVal( 'title' ) )
                        && !count( $request->getValueNames( array( 'action', 'title' ) ) )
-                       && wfRunHooks( 'TestCanonicalRedirect', array( $request, $title, $output ) )
+                       && Hooks::run( 'TestCanonicalRedirect', array( $request, $title, $output ) )
                ) {
                        if ( $title->isSpecialPage() ) {
                                list( $name, $subpage ) = SpecialPageFactory::resolveAlias( $title->getDBkey() );
@@ -342,7 +342,7 @@ class MediaWiki {
                        // Give extensions a change to ignore/handle redirects as needed
                        $ignoreRedirect = $target = false;
 
-                       wfRunHooks( 'InitializeArticleMaybeRedirect',
+                       Hooks::run( 'InitializeArticleMaybeRedirect',
                                array( &$title, &$request, &$ignoreRedirect, &$target, &$article ) );
 
                        // Follow redirects only for... redirects.
@@ -392,7 +392,7 @@ class MediaWiki {
                $title = $this->context->getTitle();
                $user = $this->context->getUser();
 
-               if ( !wfRunHooks( 'MediaWikiPerformAction',
+               if ( !Hooks::run( 'MediaWikiPerformAction',
                                array( $output, $page, $title, $user, $request, $this ) )
                ) {
                        wfProfileOut( __METHOD__ );
@@ -416,7 +416,7 @@ class MediaWiki {
                        return;
                }
 
-               if ( wfRunHooks( 'UnknownAction', array( $request->getVal( 'action', 'view' ), $page ) ) ) {
+               if ( Hooks::run( 'UnknownAction', array( $request->getVal( 'action', 'view' ), $page ) ) ) {
                        $output->setStatusCode( 404 );
                        $output->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
                }
@@ -530,7 +530,7 @@ class MediaWiki {
                        $redirUrl = preg_replace( '#^http://#', 'https://', $oldUrl );
 
                        // ATTENTION: This hook is likely to be removed soon due to overall design of the system.
-                       if ( wfRunHooks( 'BeforeHttpsRedirect', array( $this->context, &$redirUrl ) ) ) {
+                       if ( Hooks::run( 'BeforeHttpsRedirect', array( $this->context, &$redirUrl ) ) ) {
 
                                if ( $request->wasPosted() ) {
                                        // This is weird and we'd hope it almost never happens. This
index 3406831..d57f305 100644 (file)
@@ -200,7 +200,7 @@ class MimeMagic {
                global $IP;
 
                # Allow media handling extensions adding MIME-types and MIME-info
-               wfRunHooks( 'MimeMagicInit', array( $this ) );
+               Hooks::run( 'MimeMagicInit', array( $this ) );
 
                $types = MM_WELL_KNOWN_MIME_TYPES;
 
@@ -569,7 +569,7 @@ class MimeMagic {
                }
 
                # Media handling extensions can improve the MIME detected
-               wfRunHooks( 'MimeMagicImproveFromExtension', array( $this, $ext, &$mime ) );
+               Hooks::run( 'MimeMagicImproveFromExtension', array( $this, $ext, &$mime ) );
 
                if ( isset( $this->mMimeTypeAliases[$mime] ) ) {
                        $mime = $this->mMimeTypeAliases[$mime];
@@ -802,7 +802,7 @@ class MimeMagic {
                # people will hopefully nag and submit patches :)
                $mime = false;
                # Some strings by reference for performance - assuming well-behaved hooks
-               wfRunHooks(
+               Hooks::run(
                        'MimeMagicGuessFromContent',
                        array( $this, &$head, &$tail, $file, &$mime )
                );
index 994be91..065e189 100644 (file)
@@ -81,7 +81,7 @@ class MovePage {
                        }
                }
 
-               wfRunHooks( 'MovePageCheckPermissions',
+               Hooks::run( 'MovePageCheckPermissions',
                        array( $this->oldTitle, $this->newTitle, $user, $reason, $status )
                );
 
@@ -146,7 +146,7 @@ class MovePage {
                }
 
                // Hook for extensions to say a title can't be moved for technical reasons
-               wfRunHooks( 'MovePageIsValidMove', array( $this->oldTitle, $this->newTitle, $status ) );
+               Hooks::run( 'MovePageIsValidMove', array( $this->oldTitle, $this->newTitle, $status ) );
 
                return $status;
        }
@@ -231,7 +231,7 @@ class MovePage {
        public function move( User $user, $reason, $createRedirect ) {
                global $wgCategoryCollation;
 
-               wfRunHooks( 'TitleMove', array( $this->oldTitle, $this->newTitle, $user ) );
+               Hooks::run( 'TitleMove', array( $this->oldTitle, $this->newTitle, $user ) );
 
                // If it is a file, move it first.
                // It is done before all other moving stuff is done because it's hard to revert.
@@ -370,7 +370,7 @@ class MovePage {
 
                $dbw->commit( __METHOD__ );
 
-               wfRunHooks( 'TitleMoveComplete', array( &$this->oldTitle, &$this->newTitle, &$user, $pageid, $redirid, $reason ) );
+               Hooks::run( 'TitleMoveComplete', array( &$this->oldTitle, &$this->newTitle, &$user, $pageid, $redirid, $reason ) );
                return Status::newGood();
        }
 
@@ -486,7 +486,7 @@ class MovePage {
 
                $newpage->updateRevisionOn( $dbw, $nullRevision );
 
-               wfRunHooks( 'NewRevisionFromEditComplete',
+               Hooks::run( 'NewRevisionFromEditComplete',
                        array( $newpage, $nullRevision, $nullRevision->getParentId(), $user ) );
 
                $newpage->doEditUpdates( $nullRevision, $user,
@@ -513,7 +513,7 @@ class MovePage {
                                $redirectRevision->insertOn( $dbw );
                                $redirectArticle->updateRevisionOn( $dbw, $redirectRevision, 0 );
 
-                               wfRunHooks( 'NewRevisionFromEditComplete',
+                               Hooks::run( 'NewRevisionFromEditComplete',
                                        array( $redirectArticle, $redirectRevision, false, $user ) );
 
                                $redirectArticle->doEditUpdates( $redirectRevision, $user, array( 'created' => true ) );
index 3294884..24b9e46 100644 (file)
@@ -786,7 +786,7 @@ class OutputPage extends ContextSource {
                        // bug 44570: the core page itself may not change, but resources might
                        $modifiedTimes['sepoch'] = wfTimestamp( TS_MW, time() - $config->get( 'SquidMaxage' ) );
                }
-               wfRunHooks( 'OutputPageCheckLastModified', array( &$modifiedTimes ) );
+               Hooks::run( 'OutputPageCheckLastModified', array( &$modifiedTimes ) );
 
                $maxModified = max( $modifiedTimes );
                $this->mLastModified = wfTimestamp( TS_RFC2822, $maxModified );
@@ -1325,7 +1325,7 @@ class OutputPage extends ContextSource {
                }
 
                # Add the remaining categories to the skin
-               if ( wfRunHooks(
+               if ( Hooks::run(
                        'OutputPageMakeCategoryLinks',
                        array( &$this, $categories, &$this->mCategoryLinks ) )
                ) {
@@ -1765,8 +1765,8 @@ class OutputPage extends ContextSource {
                // Link flags are ignored for now, but may in the future be
                // used to mark individual language links.
                $linkFlags = array();
-               wfRunHooks( 'LanguageLinks', array( $this->getTitle(), &$this->mLanguageLinks, &$linkFlags ) );
-               wfRunHooks( 'OutputPageParserOutput', array( &$this, $parserOutput ) );
+               Hooks::run( 'LanguageLinks', array( $this->getTitle(), &$this->mLanguageLinks, &$linkFlags ) );
+               Hooks::run( 'OutputPageParserOutput', array( &$this, $parserOutput ) );
        }
 
        /**
@@ -1795,7 +1795,7 @@ class OutputPage extends ContextSource {
         */
        public function addParserOutputText( $parserOutput ) {
                $text = $parserOutput->getText();
-               wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
+               Hooks::run( 'OutputPageBeforeHTML', array( &$this, &$text ) );
                $this->addHTML( $text );
        }
 
@@ -1920,7 +1920,7 @@ class OutputPage extends ContextSource {
                                ),
                                $config->get( 'CacheVaryCookies' )
                        );
-                       wfRunHooks( 'GetCacheVaryCookies', array( $this, &$cookies ) );
+                       Hooks::run( 'GetCacheVaryCookies', array( $this, &$cookies ) );
                }
                return $cookies;
        }
@@ -2183,7 +2183,7 @@ class OutputPage extends ContextSource {
                        $redirect = $this->mRedirect;
                        $code = $this->mRedirectCode;
 
-                       if ( wfRunHooks( "BeforePageRedirect", array( $this, &$redirect, &$code ) ) ) {
+                       if ( Hooks::run( "BeforePageRedirect", array( $this, &$redirect, &$code ) ) ) {
                                if ( $code == '301' || $code == '303' ) {
                                        if ( !$config->get( 'DebugRedirects' ) ) {
                                                $message = HttpStatus::getMessage( $code );
@@ -2260,7 +2260,7 @@ class OutputPage extends ContextSource {
 
                        // Hook that allows last minute changes to the output page, e.g.
                        // adding of CSS or Javascript by extensions.
-                       wfRunHooks( 'BeforePageDisplay', array( &$this, &$sk ) );
+                       Hooks::run( 'BeforePageDisplay', array( &$this, &$sk ) );
 
                        wfProfileIn( 'Output-skin' );
                        $sk->outputPage();
@@ -2268,7 +2268,7 @@ class OutputPage extends ContextSource {
                }
 
                // This hook allows last minute changes to final overall output by modifying output buffer
-               wfRunHooks( 'AfterFinalPageOutput', array( $this ) );
+               Hooks::run( 'AfterFinalPageOutput', array( $this ) );
 
                $this->sendCacheControl();
 
@@ -2697,7 +2697,7 @@ class OutputPage extends ContextSource {
 
                // Allow skins and extensions to add body attributes they need
                $sk->addToBodyAttributes( $this, $bodyAttrs );
-               wfRunHooks( 'OutputPageBodyAttributes', array( $this, $sk, &$bodyAttrs ) );
+               Hooks::run( 'OutputPageBodyAttributes', array( $this, $sk, &$bodyAttrs ) );
 
                $ret .= Html::openElement( 'body', $bodyAttrs ) . "\n";
 
@@ -3247,7 +3247,7 @@ class OutputPage extends ContextSource {
                // Use the 'ResourceLoaderGetConfigVars' hook if the variable is not
                // page-dependant but site-wide (without state).
                // Alternatively, you may want to use OutputPage->addJsConfigVars() instead.
-               wfRunHooks( 'MakeGlobalVariablesScript', array( &$vars, $this ) );
+               Hooks::run( 'MakeGlobalVariablesScript', array( &$vars, $this ) );
 
                // Merge in variables from addJsConfigVars last
                return array_merge( $vars, $this->getJsConfigVars() );
index 93844f6..44995ac 100644 (file)
@@ -96,7 +96,7 @@ class Preferences {
                self::searchPreferences( $user, $context, $defaultPreferences );
                self::miscPreferences( $user, $context, $defaultPreferences );
 
-               wfRunHooks( 'GetPreferences', array( $user, &$defaultPreferences ) );
+               Hooks::run( 'GetPreferences', array( $user, &$defaultPreferences ) );
 
                self::loadPreferenceValues( $user, $context, $defaultPreferences );
                self::$defaultPreferences = $defaultPreferences;
@@ -1433,7 +1433,7 @@ class Preferences {
                                $user->setOption( $key, $value );
                        }
 
-                       wfRunHooks( 'PreferencesFormPreSave', array( $formData, $form, $user, &$result ) );
+                       Hooks::run( 'PreferencesFormPreSave', array( $formData, $form, $user, &$result ) );
                        $user->saveSettings();
                }
 
@@ -1575,7 +1575,7 @@ class PreferencesForm extends HTMLForm {
         */
        function getLegend( $key ) {
                $legend = parent::getLegend( $key );
-               wfRunHooks( 'PreferencesGetLegend', array( $this, $key, &$legend ) );
+               Hooks::run( 'PreferencesGetLegend', array( $this, $key, &$legend ) );
                return $legend;
        }
 }
index 4df6a9e..caa3ef5 100644 (file)
@@ -65,7 +65,7 @@ abstract class PrefixSearch {
                        $search = $title->getText();
                        if ( $ns[0] == NS_MAIN ) {
                                $ns = $namespaces; // no explicit prefix, use default namespaces
-                               wfRunHooks( 'PrefixSearchExtractNamespace', array( &$ns, &$search ) );
+                               Hooks::run( 'PrefixSearchExtractNamespace', array( &$ns, &$search ) );
                        }
                        return $this->searchBackend( $ns, $search, $limit, $offset );
                }
@@ -79,7 +79,7 @@ abstract class PrefixSearch {
                        $namespaces = array( $title->getNamespace() );
                        $search = '';
                } else {
-                       wfRunHooks( 'PrefixSearchExtractNamespace', array( &$namespaces, &$search ) );
+                       Hooks::run( 'PrefixSearchExtractNamespace', array( &$namespaces, &$search ) );
                }
 
                return $this->searchBackend( $namespaces, $search, $limit, $offset );
@@ -157,7 +157,7 @@ abstract class PrefixSearch {
                        }
                }
                $srchres = array();
-               if ( wfRunHooks( 'PrefixSearchBackend', array( $namespaces, $search, $limit, &$srchres, $offset ) ) ) {
+               if ( Hooks::run( 'PrefixSearchBackend', array( $namespaces, $search, $limit, &$srchres, $offset ) ) ) {
                        return $this->titles( $this->defaultSearchBackend( $namespaces, $search, $limit, $offset ) );
                }
                return $this->strings( $this->handleResultFromHook( $srchres, $namespaces, $search, $limit ) );
index 7bad8b5..76ad252 100644 (file)
@@ -321,7 +321,7 @@ class ProtectionForm {
                 *             you can also return an array of message name and its parameters
                 */
                $errorMsg = '';
-               if ( !wfRunHooks( 'ProtectionForm::save', array( $this->mArticle, &$errorMsg, $reasonstr ) ) ) {
+               if ( !Hooks::run( 'ProtectionForm::save', array( $this->mArticle, &$errorMsg, $reasonstr ) ) ) {
                        if ( $errorMsg == '' ) {
                                $errorMsg = array( 'hookaborted' );
                        }
@@ -452,7 +452,7 @@ class ProtectionForm {
                        "</td></tr>";
                }
                # Give extensions a chance to add items to the form
-               wfRunHooks( 'ProtectionForm::buildForm', array( $this->mArticle, &$out ) );
+               Hooks::run( 'ProtectionForm::buildForm', array( $this->mArticle, &$out ) );
 
                $out .= Xml::closeElement( 'tbody' ) . Xml::closeElement( 'table' );
 
@@ -623,6 +623,6 @@ class ProtectionForm {
                $out->addHTML( Xml::element( 'h2', null, $protectLogPage->getName()->text() ) );
                LogEventsList::showLogExtract( $out, 'protect', $this->mTitle );
                # Let extensions add other relevant log extracts
-               wfRunHooks( 'ProtectionForm::showLogExtract', array( $this->mArticle, $out ) );
+               Hooks::run( 'ProtectionForm::showLogExtract', array( $this->mArticle, $out ) );
        }
 }
index e81ed75..8ba79df 100644 (file)
@@ -1419,7 +1419,7 @@ class Revision implements IDBAccessObject {
 
                $this->mId = $rev_id !== null ? $rev_id : $dbw->insertId();
 
-               wfRunHooks( 'RevisionInsertComplete', array( &$this, $data, $flags ) );
+               Hooks::run( 'RevisionInsertComplete', array( &$this, $data, $flags ) );
 
                wfProfileOut( __METHOD__ );
                return $this->mId;
index 1654643..11c30a2 100644 (file)
@@ -1855,7 +1855,7 @@ class Sanitizer {
         */
        public static function validateEmail( $addr ) {
                $result = null;
-               if ( !wfRunHooks( 'isValidEmailAddr', array( $addr, &$result ) ) ) {
+               if ( !Hooks::run( 'isValidEmailAddr', array( $addr, &$result ) ) ) {
                        return $result;
                }
 
index f61de7e..535b13d 100644 (file)
@@ -584,7 +584,7 @@ wfDebugLog( 'caches', 'main: ' . get_class( $wgMemc ) .
 wfProfileOut( $fname . '-memcached' );
 
 // Most of the config is out, some might want to run hooks here.
-wfRunHooks( 'SetupAfterCache' );
+Hooks::run( 'SetupAfterCache' );
 
 wfProfileIn( $fname . '-session' );
 
@@ -634,7 +634,7 @@ $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParser
 
 if ( !is_object( $wgAuth ) ) {
        $wgAuth = new AuthPlugin;
-       wfRunHooks( 'AuthPluginSetup', array( &$wgAuth ) );
+       Hooks::run( 'AuthPluginSetup', array( &$wgAuth ) );
 }
 
 /**
index 0a9b433..fa8d034 100644 (file)
@@ -1180,7 +1180,7 @@ class Title {
                }
 
                $result = true;
-               wfRunHooks( 'TitleIsMovable', array( $this, &$result ) );
+               Hooks::run( 'TitleIsMovable', array( $this, &$result ) );
                return $result;
        }
 
@@ -1252,7 +1252,7 @@ class Title {
                #   It's called here again to make sure hook functions can force this
                #   method to return true even outside the MediaWiki namespace.
 
-               wfRunHooks( 'TitleIsCssOrJsPage', array( $this, &$isCssOrJsPage ), '1.25' );
+               Hooks::run( 'TitleIsCssOrJsPage', array( $this, &$isCssOrJsPage ), '1.25' );
 
                return $isCssOrJsPage;
        }
@@ -1659,7 +1659,7 @@ class Title {
                # Finally, add the fragment.
                $url .= $this->getFragmentForURL();
 
-               wfRunHooks( 'GetFullURL', array( &$this, &$url, $query ) );
+               Hooks::run( 'GetFullURL', array( &$this, &$url, $query ) );
                return $url;
        }
 
@@ -1705,7 +1705,7 @@ class Title {
                        $dbkey = wfUrlencode( $this->getPrefixedDBkey() );
                        if ( $query == '' ) {
                                $url = str_replace( '$1', $dbkey, $wgArticlePath );
-                               wfRunHooks( 'GetLocalURL::Article', array( &$this, &$url ) );
+                               Hooks::run( 'GetLocalURL::Article', array( &$this, &$url ) );
                        } else {
                                global $wgVariantArticlePath, $wgActionPaths, $wgContLang;
                                $url = false;
@@ -1750,7 +1750,7 @@ class Title {
                                }
                        }
 
-                       wfRunHooks( 'GetLocalURL::Internal', array( &$this, &$url, $query ) );
+                       Hooks::run( 'GetLocalURL::Internal', array( &$this, &$url, $query ) );
 
                        // @todo FIXME: This causes breakage in various places when we
                        // actually expected a local URL and end up with dupe prefixes.
@@ -1758,7 +1758,7 @@ class Title {
                                $url = $wgServer . $url;
                        }
                }
-               wfRunHooks( 'GetLocalURL', array( &$this, &$url, $query ) );
+               Hooks::run( 'GetLocalURL', array( &$this, &$url, $query ) );
                return $url;
        }
 
@@ -1808,7 +1808,7 @@ class Title {
                $query = self::fixUrlQueryArgs( $query, $query2 );
                $server = $wgInternalServer !== false ? $wgInternalServer : $wgServer;
                $url = wfExpandUrl( $server . $this->getLocalURL( $query ), PROTO_HTTP );
-               wfRunHooks( 'GetInternalURL', array( &$this, &$url, $query ) );
+               Hooks::run( 'GetInternalURL', array( &$this, &$url, $query ) );
                return $url;
        }
 
@@ -1826,7 +1826,7 @@ class Title {
        public function getCanonicalURL( $query = '', $query2 = false ) {
                $query = self::fixUrlQueryArgs( $query, $query2 );
                $url = wfExpandUrl( $this->getLocalURL( $query ) . $this->getFragmentForURL(), PROTO_CANONICAL );
-               wfRunHooks( 'GetCanonicalURL', array( &$this, &$url, $query ) );
+               Hooks::run( 'GetCanonicalURL', array( &$this, &$url, $query ) );
                return $url;
        }
 
@@ -1945,7 +1945,7 @@ class Title {
        private function checkQuickPermissions( $action, $user, $errors,
                $doExpensiveQueries, $short
        ) {
-               if ( !wfRunHooks( 'TitleQuickPermissions',
+               if ( !Hooks::run( 'TitleQuickPermissions',
                        array( $this, $user, $action, &$errors, $doExpensiveQueries, $short ) )
                ) {
                        return $errors;
@@ -2045,18 +2045,18 @@ class Title {
        private function checkPermissionHooks( $action, $user, $errors, $doExpensiveQueries, $short ) {
                // Use getUserPermissionsErrors instead
                $result = '';
-               if ( !wfRunHooks( 'userCan', array( &$this, &$user, $action, &$result ) ) ) {
+               if ( !Hooks::run( 'userCan', array( &$this, &$user, $action, &$result ) ) ) {
                        return $result ? array() : array( array( 'badaccess-group0' ) );
                }
                // Check getUserPermissionsErrors hook
-               if ( !wfRunHooks( 'getUserPermissionsErrors', array( &$this, &$user, $action, &$result ) ) ) {
+               if ( !Hooks::run( 'getUserPermissionsErrors', array( &$this, &$user, $action, &$result ) ) ) {
                        $errors = $this->resultToError( $errors, $result );
                }
                // Check getUserPermissionsErrorsExpensive hook
                if (
                        $doExpensiveQueries
                        && !( $short && count( $errors ) > 0 )
-                       && !wfRunHooks( 'getUserPermissionsErrorsExpensive', array( &$this, &$user, $action, &$result ) )
+                       && !Hooks::run( 'getUserPermissionsErrorsExpensive', array( &$this, &$user, $action, &$result ) )
                ) {
                        $errors = $this->resultToError( $errors, $result );
                }
@@ -2389,7 +2389,7 @@ class Title {
 
                if ( !$whitelisted ) {
                        # If the title is not whitelisted, give extensions a chance to do so...
-                       wfRunHooks( 'TitleReadWhitelist', array( $this, $user, &$whitelisted ) );
+                       Hooks::run( 'TitleReadWhitelist', array( $this, $user, &$whitelisted ) );
                        if ( !$whitelisted ) {
                                $errors[] = $this->missingPermissionError( $action, $short );
                        }
@@ -2523,7 +2523,7 @@ class Title {
                        $types = array_diff( $types, array( 'upload' ) );
                }
 
-               wfRunHooks( 'TitleGetRestrictionTypes', array( $this, &$types ) );
+               Hooks::run( 'TitleGetRestrictionTypes', array( $this, &$types ) );
 
                wfDebug( __METHOD__ . ': applicable restrictions to [[' .
                        $this->getPrefixedText() . ']] are {' . implode( ',', $types ) . "}\n" );
@@ -3576,7 +3576,7 @@ class Title {
                        $urls[] = $this->getInternalUrl( 'action=raw&ctype=text/css' );
                }
 
-               wfRunHooks( 'TitleSquidURLs', array( $this, &$urls ) );
+               Hooks::run( 'TitleSquidURLs', array( $this, &$urls ) );
                return $urls;
        }
 
@@ -4247,7 +4247,7 @@ class Title {
         */
        public function exists() {
                $exists = $this->getArticleID() != 0;
-               wfRunHooks( 'TitleExists', array( $this, &$exists ) );
+               Hooks::run( 'TitleExists', array( $this, &$exists ) );
                return $exists;
        }
 
@@ -4280,7 +4280,7 @@ class Title {
                 * @param Title $title
                 * @param bool|null $isKnown
                 */
-               wfRunHooks( 'TitleIsAlwaysKnown', array( $this, &$isKnown ) );
+               Hooks::run( 'TitleIsAlwaysKnown', array( $this, &$isKnown ) );
 
                if ( !is_null( $isKnown ) ) {
                        return $isKnown;
@@ -4603,7 +4603,7 @@ class Title {
                // on the Title object passed in, and should probably
                // tell the users to run updateCollations.php --force
                // in order to re-sort existing category relations.
-               wfRunHooks( 'GetDefaultSortkey', array( $this, &$unprefixed ) );
+               Hooks::run( 'GetDefaultSortkey', array( $this, &$unprefixed ) );
                if ( $prefix !== '' ) {
                        # Separate with a line feed, so the unprefixed part is only used as
                        # a tiebreaker when two pages have the exact same prefix.
@@ -4724,7 +4724,7 @@ class Title {
                        }
                }
 
-               wfRunHooks( 'TitleGetEditNotices', array( $this, $oldid, &$notices ) );
+               Hooks::run( 'TitleGetEditNotices', array( $this, $oldid, &$notices ) );
                return $notices;
        }
 }
index b67d9f4..0fb5b1e 100644 (file)
@@ -37,7 +37,7 @@ abstract class TitleArray implements Iterator {
         */
        static function newFromResult( $res ) {
                $array = null;
-               if ( !wfRunHooks( 'TitleArrayFromResult', array( &$array, $res ) ) ) {
+               if ( !Hooks::run( 'TitleArrayFromResult', array( &$array, $res ) ) ) {
                        return null;
                }
                if ( $array === null ) {
index 3cbb052..bda825f 100644 (file)
@@ -350,7 +350,7 @@ class User implements IDBAccessObject {
                                        // Loading from session failed. Load defaults.
                                        $this->loadDefaults();
                                }
-                               wfRunHooks( 'UserLoadAfterLoadFromSession', array( $this ) );
+                               Hooks::run( 'UserLoadAfterLoadFromSession', array( $this ) );
                                break;
                        default:
                                wfProfileOut( __METHOD__ );
@@ -709,7 +709,7 @@ class User implements IDBAccessObject {
                static $reservedUsernames = false;
                if ( !$reservedUsernames ) {
                        $reservedUsernames = $wgReservedUsernames;
-                       wfRunHooks( 'UserGetReservedNames', array( &$reservedUsernames ) );
+                       Hooks::run( 'UserGetReservedNames', array( &$reservedUsernames ) );
                }
 
                // Certain names may be reserved for batch processes.
@@ -817,7 +817,7 @@ class User implements IDBAccessObject {
 
                $result = false; //init $result to false for the internal checks
 
-               if ( !wfRunHooks( 'isValidPassword', array( $password, &$result, $this ) ) ) {
+               if ( !Hooks::run( 'isValidPassword', array( $password, &$result, $this ) ) ) {
                        $status->error( $result );
                        return $status;
                }
@@ -879,7 +879,7 @@ class User implements IDBAccessObject {
                        );
                }
                // Give extensions a chance to force an expiration
-               wfRunHooks( 'ResetPasswordExpiration', array( $this, &$newExpire ) );
+               Hooks::run( 'ResetPasswordExpiration', array( $this, &$newExpire ) );
                $this->mPasswordExpires = $newExpire;
        }
 
@@ -1049,7 +1049,7 @@ class User implements IDBAccessObject {
                $this->mRegistration = wfTimestamp( TS_MW );
                $this->mGroups = array();
 
-               wfRunHooks( 'UserLoadDefaults', array( $this, $name ) );
+               Hooks::run( 'UserLoadDefaults', array( $this, $name ) );
 
                wfProfileOut( __METHOD__ );
        }
@@ -1088,7 +1088,7 @@ class User implements IDBAccessObject {
         */
        private function loadFromSession() {
                $result = null;
-               wfRunHooks( 'UserLoadFromSession', array( $this, &$result ) );
+               Hooks::run( 'UserLoadFromSession', array( $this, &$result ) );
                if ( $result !== null ) {
                        return $result;
                }
@@ -1190,7 +1190,7 @@ class User implements IDBAccessObject {
                                : array()
                );
 
-               wfRunHooks( 'UserLoadFromDatabase', array( $this, &$s ) );
+               Hooks::run( 'UserLoadFromDatabase', array( $this, &$s ) );
 
                if ( $s !== false ) {
                        // Initialise user table data
@@ -1456,7 +1456,7 @@ class User implements IDBAccessObject {
                }
                $defOpt['skin'] = Skin::normalizeKey( $wgDefaultSkin );
 
-               wfRunHooks( 'UserGetDefaultOptions', array( &$defOpt ) );
+               Hooks::run( 'UserGetDefaultOptions', array( &$defOpt ) );
 
                return $defOpt;
        }
@@ -1562,7 +1562,7 @@ class User implements IDBAccessObject {
                }
 
                // Extensions
-               wfRunHooks( 'GetBlockedStatus', array( &$this ) );
+               Hooks::run( 'GetBlockedStatus', array( &$this ) );
 
                wfProfileOut( __METHOD__ );
        }
@@ -1702,7 +1702,7 @@ class User implements IDBAccessObject {
        public function pingLimiter( $action = 'edit', $incrBy = 1 ) {
                // Call the 'PingLimiter' hook
                $result = false;
-               if ( !wfRunHooks( 'PingLimiter', array( &$this, $action, &$result, $incrBy ) ) ) {
+               if ( !Hooks::run( 'PingLimiter', array( &$this, $action, &$result, $incrBy ) ) ) {
                        return $result;
                }
 
@@ -1846,7 +1846,7 @@ class User implements IDBAccessObject {
                        wfDebug( __METHOD__ . ": self-talk page, ignoring any blocks\n" );
                }
 
-               wfRunHooks( 'UserIsBlockedFrom', array( $this, $title, &$blocked, &$allowUsertalk ) );
+               Hooks::run( 'UserIsBlockedFrom', array( $this, $title, &$blocked, &$allowUsertalk ) );
 
                wfProfileOut( __METHOD__ );
                return $blocked;
@@ -1898,7 +1898,7 @@ class User implements IDBAccessObject {
                        $ip = $this->getRequest()->getIP();
                }
                $blocked = false;
-               wfRunHooks( 'UserIsBlockedGlobally', array( &$this, $ip, &$blocked ) );
+               Hooks::run( 'UserIsBlockedGlobally', array( &$this, $ip, &$blocked ) );
                $this->mBlockedGlobally = (bool)$blocked;
                return $this->mBlockedGlobally;
        }
@@ -2058,7 +2058,7 @@ class User implements IDBAccessObject {
         */
        public function getNewMessageLinks() {
                $talks = array();
-               if ( !wfRunHooks( 'UserRetrieveNewTalks', array( &$this, &$talks ) ) ) {
+               if ( !Hooks::run( 'UserRetrieveNewTalks', array( &$this, &$talks ) ) ) {
                        return $talks;
                } elseif ( !$this->getNewtalk() ) {
                        return array();
@@ -2435,7 +2435,7 @@ class User implements IDBAccessObject {
         */
        public function getEmail() {
                $this->load();
-               wfRunHooks( 'UserGetEmail', array( $this, &$this->mEmail ) );
+               Hooks::run( 'UserGetEmail', array( $this, &$this->mEmail ) );
                return $this->mEmail;
        }
 
@@ -2445,7 +2445,7 @@ class User implements IDBAccessObject {
         */
        public function getEmailAuthenticationTimestamp() {
                $this->load();
-               wfRunHooks( 'UserGetEmailAuthenticationTimestamp', array( $this, &$this->mEmailAuthenticated ) );
+               Hooks::run( 'UserGetEmailAuthenticationTimestamp', array( $this, &$this->mEmailAuthenticated ) );
                return $this->mEmailAuthenticated;
        }
 
@@ -2460,7 +2460,7 @@ class User implements IDBAccessObject {
                }
                $this->invalidateEmail();
                $this->mEmail = $str;
-               wfRunHooks( 'UserSetEmail', array( $this, &$this->mEmail ) );
+               Hooks::run( 'UserSetEmail', array( $this, &$this->mEmail ) );
        }
 
        /**
@@ -2836,7 +2836,7 @@ class User implements IDBAccessObject {
                        }
                }
 
-               wfRunHooks( 'UserResetAllOptions', array( $this, &$newOptions, $this->mOptions, $resetKinds ) );
+               Hooks::run( 'UserResetAllOptions', array( $this, &$newOptions, $this->mOptions, $resetKinds ) );
 
                $this->mOptions = $newOptions;
                $this->mOptionsLoaded = true;
@@ -2872,7 +2872,7 @@ class User implements IDBAccessObject {
                        return false;
                } else {
                        $https = $this->getBoolOption( 'prefershttps' );
-                       wfRunHooks( 'UserRequiresHTTPS', array( $this, &$https ) );
+                       Hooks::run( 'UserRequiresHTTPS', array( $this, &$https ) );
                        if ( $https ) {
                                $https = wfCanIPUseHTTPS( $this->getRequest()->getIP() );
                        }
@@ -2903,7 +2903,7 @@ class User implements IDBAccessObject {
        public function getRights() {
                if ( is_null( $this->mRights ) ) {
                        $this->mRights = self::getGroupPermissions( $this->getEffectiveGroups() );
-                       wfRunHooks( 'UserGetRights', array( $this, &$this->mRights ) );
+                       Hooks::run( 'UserGetRights', array( $this, &$this->mRights ) );
                        // Force reindexation of rights when a hook has unset one of them
                        $this->mRights = array_values( array_unique( $this->mRights ) );
                }
@@ -2936,7 +2936,7 @@ class User implements IDBAccessObject {
                                $this->getAutomaticGroups( $recache ) // implicit groups
                        ) );
                        // Hook for additional groups
-                       wfRunHooks( 'UserEffectiveGroups', array( &$this, &$this->mEffectiveGroups ) );
+                       Hooks::run( 'UserEffectiveGroups', array( &$this, &$this->mEffectiveGroups ) );
                        // Force reindexation of groups when a hook has unset one of them
                        $this->mEffectiveGroups = array_values( array_unique( $this->mEffectiveGroups ) );
                        wfProfileOut( __METHOD__ );
@@ -3033,7 +3033,7 @@ class User implements IDBAccessObject {
         * @param string $group Name of the group to add
         */
        public function addGroup( $group ) {
-               if ( wfRunHooks( 'UserAddGroup', array( $this, &$group ) ) ) {
+               if ( Hooks::run( 'UserAddGroup', array( $this, &$group ) ) ) {
                        $dbw = wfGetDB( DB_MASTER );
                        if ( $this->getId() ) {
                                $dbw->insert( 'user_groups',
@@ -3066,7 +3066,7 @@ class User implements IDBAccessObject {
         */
        public function removeGroup( $group ) {
                $this->load();
-               if ( wfRunHooks( 'UserRemoveGroup', array( $this, &$group ) ) ) {
+               if ( Hooks::run( 'UserRemoveGroup', array( $this, &$group ) ) ) {
                        $dbw = wfGetDB( DB_MASTER );
                        $dbw->delete( 'user_groups',
                                array(
@@ -3290,7 +3290,7 @@ class User implements IDBAccessObject {
 
                // If we're working on user's talk page, we should update the talk page message indicator
                if ( $title->getNamespace() == NS_USER_TALK && $title->getText() == $this->getName() ) {
-                       if ( !wfRunHooks( 'UserClearNewTalkNotification', array( &$this, $oldid ) ) ) {
+                       if ( !Hooks::run( 'UserClearNewTalkNotification', array( &$this, $oldid ) ) ) {
                                return;
                        }
 
@@ -3435,7 +3435,7 @@ class User implements IDBAccessObject {
                        $cookies['Token'] = false;
                }
 
-               wfRunHooks( 'UserSetCookies', array( $this, &$session, &$cookies ) );
+               Hooks::run( 'UserSetCookies', array( $this, &$session, &$cookies ) );
 
                foreach ( $session as $name => $value ) {
                        $request->setSessionData( $name, $value );
@@ -3470,7 +3470,7 @@ class User implements IDBAccessObject {
         * Log this user out.
         */
        public function logout() {
-               if ( wfRunHooks( 'UserLogout', array( &$this ) ) ) {
+               if ( Hooks::run( 'UserLogout', array( &$this ) ) ) {
                        $this->doLogout();
                }
        }
@@ -3535,7 +3535,7 @@ class User implements IDBAccessObject {
 
                $this->saveOptions();
 
-               wfRunHooks( 'UserSaveSettings', array( $this ) );
+               Hooks::run( 'UserSaveSettings', array( $this ) );
                $this->clearSharedCache();
                $this->getUserPage()->invalidateCache();
        }
@@ -4133,7 +4133,7 @@ class User implements IDBAccessObject {
                // and fire the ConfirmEmailComplete hook on redundant confirmations.
                if ( !$this->isEmailConfirmed() ) {
                        $this->setEmailAuthenticationTimestamp( wfTimestampNow() );
-                       wfRunHooks( 'ConfirmEmailComplete', array( $this ) );
+                       Hooks::run( 'ConfirmEmailComplete', array( $this ) );
                }
                return true;
        }
@@ -4151,7 +4151,7 @@ class User implements IDBAccessObject {
                $this->mEmailTokenExpires = null;
                $this->setEmailAuthenticationTimestamp( null );
                $this->mEmail = '';
-               wfRunHooks( 'InvalidateEmailComplete', array( $this ) );
+               Hooks::run( 'InvalidateEmailComplete', array( $this ) );
                return true;
        }
 
@@ -4162,7 +4162,7 @@ class User implements IDBAccessObject {
        public function setEmailAuthenticationTimestamp( $timestamp ) {
                $this->load();
                $this->mEmailAuthenticated = $timestamp;
-               wfRunHooks( 'UserSetEmailAuthenticationTimestamp', array( $this, &$this->mEmailAuthenticated ) );
+               Hooks::run( 'UserSetEmailAuthenticationTimestamp', array( $this, &$this->mEmailAuthenticated ) );
        }
 
        /**
@@ -4176,7 +4176,7 @@ class User implements IDBAccessObject {
                        return false;
                }
                $canSend = $this->isEmailConfirmed();
-               wfRunHooks( 'UserCanSendEmail', array( &$this, &$canSend ) );
+               Hooks::run( 'UserCanSendEmail', array( &$this, &$canSend ) );
                return $canSend;
        }
 
@@ -4203,7 +4203,7 @@ class User implements IDBAccessObject {
                global $wgEmailAuthentication;
                $this->load();
                $confirmed = true;
-               if ( wfRunHooks( 'EmailConfirmed', array( &$this, &$confirmed ) ) ) {
+               if ( Hooks::run( 'EmailConfirmed', array( &$this, &$confirmed ) ) ) {
                        if ( $this->isAnon() ) {
                                return false;
                        }
@@ -4361,7 +4361,7 @@ class User implements IDBAccessObject {
                }
 
                // Allow extensions (e.g. OAuth) to say false
-               if ( !wfRunHooks( 'UserIsEveryoneAllowed', array( $right ) ) ) {
+               if ( !Hooks::run( 'UserIsEveryoneAllowed', array( $right ) ) ) {
                        $cache[$right] = false;
                        return false;
                }
@@ -4419,7 +4419,7 @@ class User implements IDBAccessObject {
                        } else {
                                self::$mAllRights = self::$mCoreRights;
                        }
-                       wfRunHooks( 'UserGetAllRights', array( &self::$mAllRights ) );
+                       Hooks::run( 'UserGetAllRights', array( &self::$mAllRights ) );
                }
                return self::$mAllRights;
        }
@@ -4433,7 +4433,7 @@ class User implements IDBAccessObject {
 
                $groups = $wgImplicitGroups;
                # Deprecated, use $wgImplicitGroups instead
-               wfRunHooks( 'UserGetImplicitGroups', array( &$groups ), '1.25' );
+               Hooks::run( 'UserGetImplicitGroups', array( &$groups ), '1.25' );
 
                return $groups;
        }
@@ -4867,7 +4867,7 @@ class User implements IDBAccessObject {
 
                $this->mOptionsLoaded = true;
 
-               wfRunHooks( 'UserLoadOptions', array( $this, &$this->mOptions ) );
+               Hooks::run( 'UserLoadOptions', array( $this, &$this->mOptions ) );
        }
 
        /**
@@ -4883,7 +4883,7 @@ class User implements IDBAccessObject {
 
                // Allow hooks to abort, for instance to save to a global profile.
                // Reset options to default state before saving.
-               if ( !wfRunHooks( 'UserSaveOptions', array( $this, &$saveOptions ) ) ) {
+               if ( !Hooks::run( 'UserSaveOptions', array( $this, &$saveOptions ) ) ) {
                        return;
                }
 
index 7da6582..e5621da 100644 (file)
@@ -27,7 +27,7 @@ abstract class UserArray implements Iterator {
         */
        static function newFromResult( $res ) {
                $userArray = null;
-               if ( !wfRunHooks( 'UserArrayFromResult', array( &$userArray, $res ) ) ) {
+               if ( !Hooks::run( 'UserArrayFromResult', array( &$userArray, $res ) ) ) {
                        return null;
                }
                if ( $userArray === null ) {
index bf99e95..e931f28 100644 (file)
@@ -138,7 +138,7 @@ class WebRequest {
                                        );
                                }
 
-                               wfRunHooks( 'WebRequestPathInfoRouter', array( $router ) );
+                               Hooks::run( 'WebRequestPathInfoRouter', array( $router ) );
 
                                $matches = $router->parse( $path );
                        }
@@ -1118,7 +1118,7 @@ HTML;
                }
 
                # Allow extensions to improve our guess
-               wfRunHooks( 'GetIP', array( &$ip ) );
+               Hooks::run( 'GetIP', array( &$ip ) );
 
                if ( !$ip ) {
                        throw new MWException( "Unable to determine IP." );
index d39f884..f977c20 100644 (file)
@@ -105,7 +105,7 @@ class WebResponse {
 
                $func = $options['raw'] ? 'setrawcookie' : 'setcookie';
 
-               if ( wfRunHooks( 'WebResponseSetCookie', array( &$name, &$value, &$expire, $options ) ) ) {
+               if ( Hooks::run( 'WebResponseSetCookie', array( &$name, &$value, &$expire, $options ) ) ) {
                        wfDebugLog( 'cookie',
                                $func . ': "' . implode( '", "',
                                        array(
index 159f711..c07ac73 100644 (file)
@@ -368,12 +368,10 @@ class Xml {
        public static function label( $label, $id, $attribs = array() ) {
                $a = array( 'for' => $id );
 
-               # FIXME avoid copy pasting below:
-               if ( isset( $attribs['class'] ) ) {
-                               $a['class'] = $attribs['class'];
-               }
-               if ( isset( $attribs['title'] ) ) {
-                               $a['title'] = $attribs['title'];
+               foreach ( array( 'class', 'title' ) as $attr ) {
+                       if ( isset( $attribs[$attr] ) ) {
+                               $a[$attr] = $attribs[$attr];
+                       }
                }
 
                return self::element( 'label', $a, $label );
index 8876724..6c8440a 100644 (file)
@@ -51,7 +51,7 @@ class EditAction extends FormlessAction {
                $page = $this->page;
                $user = $this->getUser();
 
-               if ( wfRunHooks( 'CustomEditor', array( $page, $user ) ) ) {
+               if ( Hooks::run( 'CustomEditor', array( $page, $user ) ) ) {
                        $editor = new EditPage( $page );
                        $editor->edit();
                }
index 4c9e85d..26f43cb 100644 (file)
@@ -63,7 +63,7 @@ abstract class FormAction extends Action {
                $this->fields = $this->getFormFields();
 
                // Give hooks a chance to alter the form, adding extra fields or text etc
-               wfRunHooks( 'ActionModifyFormFields', array( $this->getName(), &$this->fields, $this->page ) );
+               Hooks::run( 'ActionModifyFormFields', array( $this->getName(), &$this->fields, $this->page ) );
 
                $form = new HTMLForm( $this->fields, $this->getContext(), $this->getName() );
                $form->setSubmitCallback( array( $this, 'onSubmit' ) );
@@ -81,7 +81,7 @@ abstract class FormAction extends Action {
                $this->alterForm( $form );
 
                // Give hooks a chance to alter the form, adding extra fields or text etc
-               wfRunHooks( 'ActionBeforeFormDisplay', array( $this->getName(), &$form, $this->page ) );
+               Hooks::run( 'ActionBeforeFormDisplay', array( $this->getName(), &$form, $this->page ) );
 
                return $form;
        }
index 3be8aff..6ee5d2c 100644 (file)
@@ -204,7 +204,7 @@ class HistoryAction extends FormlessAction {
                        '</fieldset></form>'
                );
 
-               wfRunHooks( 'PageHistoryBeforeList', array( &$this->page, $this->getContext() ) );
+               Hooks::run( 'PageHistoryBeforeList', array( &$this->page, $this->getContext() ) );
 
                // Create and output the list.
                $pager = new HistoryPager( $this, $year, $month, $tagFilter, $conds );
@@ -420,7 +420,7 @@ class HistoryPager extends ReverseChronologicalPager {
                        $queryInfo['options'],
                        $this->tagFilter
                );
-               wfRunHooks( 'PageHistoryPager::getQueryInfo', array( &$this, &$queryInfo ) );
+               Hooks::run( 'PageHistoryPager::getQueryInfo', array( &$this, &$queryInfo ) );
 
                return $queryInfo;
        }
@@ -710,7 +710,7 @@ class HistoryPager extends ReverseChronologicalPager {
                        }
                }
                // Allow extension to add their own links here
-               wfRunHooks( 'HistoryRevisionTools', array( $rev, &$tools ) );
+               Hooks::run( 'HistoryRevisionTools', array( $rev, &$tools ) );
 
                if ( $tools ) {
                        $s2 .= ' ' . $this->msg( 'parentheses' )->rawParams( $lang->pipeList( $tools ) )->escaped();
@@ -728,7 +728,7 @@ class HistoryPager extends ReverseChronologicalPager {
                        $s .= ' <span class="mw-changeslist-separator">. .</span> ' . $s2;
                }
 
-               wfRunHooks( 'PageHistoryLineEnding', array( $this, &$row, &$s, &$classes ) );
+               Hooks::run( 'PageHistoryLineEnding', array( $this, &$row, &$s, &$classes ) );
 
                $attribs = array();
                if ( $classes ) {
index e7455f6..ad8e719 100644 (file)
@@ -114,7 +114,7 @@ class InfoAction extends FormlessAction {
                $pageInfo = $this->pageInfo();
 
                // Allow extensions to add additional information
-               wfRunHooks( 'InfoAction', array( $this->getContext(), &$pageInfo ) );
+               Hooks::run( 'InfoAction', array( $this->getContext(), &$pageInfo ) );
 
                // Render page information
                foreach ( $pageInfo as $header => $infoTable ) {
index d0d956e..727bed2 100644 (file)
@@ -117,7 +117,7 @@ class RawAction extends FormlessAction {
                        $response->header( 'HTTP/1.x 404 Not Found' );
                }
 
-               if ( !wfRunHooks( 'RawPageViewBeforeOutput', array( &$this, &$text ) ) ) {
+               if ( !Hooks::run( 'RawPageViewBeforeOutput', array( &$this, &$text ) ) ) {
                        wfDebug( __METHOD__ . ": RawPageViewBeforeOutput hook broke raw page output.\n" );
                }
 
index 8c9a46a..f333efb 100644 (file)
@@ -132,10 +132,10 @@ class WatchAction extends FormAction {
                $page = WikiPage::factory( $title );
 
                $status = Status::newFatal( 'hookaborted' );
-               if ( wfRunHooks( 'WatchArticle', array( &$user, &$page, &$status ) ) ) {
+               if ( Hooks::run( 'WatchArticle', array( &$user, &$page, &$status ) ) ) {
                        $status = Status::newGood();
                        $user->addWatch( $title, $checkRights );
-                       wfRunHooks( 'WatchArticleComplete', array( &$user, &$page ) );
+                       Hooks::run( 'WatchArticleComplete', array( &$user, &$page ) );
                }
 
                return $status;
@@ -156,10 +156,10 @@ class WatchAction extends FormAction {
                $page = WikiPage::factory( $title );
 
                $status = Status::newFatal( 'hookaborted' );
-               if ( wfRunHooks( 'UnwatchArticle', array( &$user, &$page, &$status ) ) ) {
+               if ( Hooks::run( 'UnwatchArticle', array( &$user, &$page, &$status ) ) ) {
                        $status = Status::newGood();
                        $user->removeWatch( $title );
-                       wfRunHooks( 'UnwatchArticleComplete', array( &$user, &$page ) );
+                       Hooks::run( 'UnwatchArticleComplete', array( &$user, &$page ) );
                }
 
                return $status;
index bbfe7cc..9cb895d 100644 (file)
@@ -1957,7 +1957,7 @@ abstract class ApiBase extends ContextSource {
         */
        public function getFinalDescription() {
                $desc = $this->getDescription();
-               wfRunHooks( 'APIGetDescription', array( &$this, &$desc ) );
+               Hooks::run( 'APIGetDescription', array( &$this, &$desc ) );
                $desc = self::escapeWikiText( $desc );
                if ( is_array( $desc ) ) {
                        $desc = join( "\n", $desc );
@@ -1975,7 +1975,7 @@ abstract class ApiBase extends ContextSource {
                }
                $msgs = array( $msg );
 
-               wfRunHooks( 'APIGetDescriptionMessages', array( $this, &$msgs ) );
+               Hooks::run( 'APIGetDescriptionMessages', array( $this, &$msgs ) );
 
                return $msgs;
        }
@@ -2005,7 +2005,7 @@ abstract class ApiBase extends ContextSource {
                        ) + ( isset( $params['token'] ) ? $params['token'] : array() );
                }
 
-               wfRunHooks( 'APIGetAllowedParams', array( &$this, &$params, $flags ) );
+               Hooks::run( 'APIGetAllowedParams', array( &$this, &$params, $flags ) );
 
                return $params;
        }
@@ -2019,7 +2019,7 @@ abstract class ApiBase extends ContextSource {
         */
        public function getFinalParamDescription() {
                $desc = $this->getParamDescription();
-               wfRunHooks( 'APIGetParamDescription', array( &$this, &$desc ) );
+               Hooks::run( 'APIGetParamDescription', array( &$this, &$desc ) );
 
                if ( !$desc ) {
                        $desc = array();
@@ -2087,7 +2087,7 @@ abstract class ApiBase extends ContextSource {
                        }
                }
 
-               wfRunHooks( 'APIGetParamDescriptionMessages', array( $this, &$msgs ) );
+               Hooks::run( 'APIGetParamDescriptionMessages', array( $this, &$msgs ) );
 
                return $msgs;
        }
index 89f8481..a7ba48a 100644 (file)
@@ -83,7 +83,7 @@ class ApiCreateAccount extends ApiBase {
 
                $loginForm = new LoginForm();
                $loginForm->setContext( $context );
-               wfRunHooks( 'AddNewAccountApiForm', array( $this, $loginForm ) );
+               Hooks::run( 'AddNewAccountApiForm', array( $this, $loginForm ) );
                $loginForm->load();
 
                $status = $loginForm->addNewaccountInternal();
@@ -113,7 +113,7 @@ class ApiCreateAccount extends ApiBase {
                        // Save settings (including confirmation token)
                        $user->saveSettings();
 
-                       wfRunHooks( 'AddNewAccount', array( $user, $params['mailpassword'] ) );
+                       Hooks::run( 'AddNewAccount', array( $user, $params['mailpassword'] ) );
 
                        if ( $params['mailpassword'] ) {
                                $logAction = 'byemail';
@@ -160,7 +160,7 @@ class ApiCreateAccount extends ApiBase {
                }
 
                // Give extensions a chance to modify the API result data
-               wfRunHooks( 'AddNewAccountApiResult', array( $this, $loginForm, &$result ) );
+               Hooks::run( 'AddNewAccountApiResult', array( $this, $loginForm, &$result ) );
 
                $apiResult->addValue( null, 'createaccount', $result );
        }
index 80589c3..f663cc6 100644 (file)
@@ -195,9 +195,9 @@ class ApiEditPage extends ApiBase {
                                        list( $params['undo'], $params['undoafter'] ) =
                                                array( $params['undoafter'], $params['undo'] );
                                }
-                               $undoafterRev = Revision::newFromID( $params['undoafter'] );
+                               $undoafterRev = Revision::newFromId( $params['undoafter'] );
                        }
-                       $undoRev = Revision::newFromID( $params['undo'] );
+                       $undoRev = Revision::newFromId( $params['undo'] );
                        if ( is_null( $undoRev ) || $undoRev->isDeleted( Revision::DELETED_TEXT ) ) {
                                $this->dieUsageMsg( array( 'nosuchrevid', $params['undo'] ) );
                        }
@@ -382,7 +382,7 @@ class ApiEditPage extends ApiBase {
                // Run hooks
                // Handle APIEditBeforeSave parameters
                $r = array();
-               if ( !wfRunHooks( 'APIEditBeforeSave', array( $ep, $content, &$r ) ) ) {
+               if ( !Hooks::run( 'APIEditBeforeSave', array( $ep, $content, &$r ) ) ) {
                        if ( count( $r ) ) {
                                $r['result'] = 'Failure';
                                $apiResult->addValue( null, $this->getModuleName(), $r );
@@ -407,7 +407,14 @@ class ApiEditPage extends ApiBase {
                switch ( $status->value ) {
                        case EditPage::AS_HOOK_ERROR:
                        case EditPage::AS_HOOK_ERROR_EXPECTED:
-                               $this->dieUsageMsg( 'hookaborted' );
+                               if ( isset( $status->apiHookResult ) ) {
+                                       $r = $status->apiHookResult;
+                                       $r['result'] = 'Failure';
+                                       $apiResult->addValue( null, $this->getModuleName(), $r );
+                                       return;
+                               } else {
+                                       $this->dieUsageMsg( 'hookaborted' );
+                               }
 
                        case EditPage::AS_PARSE_ERROR:
                                $this->dieUsage( $status->getMessage(), 'parseerror' );
index 913b8eb..7bbd968 100644 (file)
@@ -172,7 +172,7 @@ abstract class ApiFormatBase extends ApiBase {
                                )
                        );
 
-                       if ( wfRunHooks( 'ApiFormatHighlight', array( $context, $result, $mime, $format ) ) ) {
+                       if ( Hooks::run( 'ApiFormatHighlight', array( $context, $result, $mime, $format ) ) ) {
                                $out->addHTML(
                                        Html::element( 'pre', array( 'class' => 'api-pretty-content' ), $result )
                                );
index 5d46a07..8708fb7 100644 (file)
@@ -609,7 +609,7 @@ class ApiHelp extends ApiBase {
 
                        $module->modifyHelp( $help, $options );
 
-                       wfRunHooks( 'APIHelpModifyOutput', array( $module, &$help, $options ) );
+                       Hooks::run( 'APIHelpModifyOutput', array( $module, &$help, $options ) );
 
                        $out .= join( "\n", $help );
                }
index cc4dee4..920dbbf 100644 (file)
@@ -92,7 +92,7 @@ class ApiLogin extends ApiBase {
                                // @todo FIXME: Split back and frontend from this hook.
                                // @todo FIXME: This hook should be placed in the backend
                                $injected_html = '';
-                               wfRunHooks( 'UserLoginComplete', array( &$user, &$injected_html ) );
+                               Hooks::run( 'UserLoginComplete', array( &$user, &$injected_html ) );
 
                                $result['result'] = 'Success';
                                $result['lguserid'] = intval( $user->getId() );
index bf81723..bf0ca9c 100644 (file)
@@ -39,7 +39,7 @@ class ApiLogout extends ApiBase {
 
                // Give extensions to do something after user logout
                $injected_html = '';
-               wfRunHooks( 'UserLogoutComplete', array( &$user, &$injected_html, $oldName ) );
+               Hooks::run( 'UserLogoutComplete', array( &$user, &$injected_html, $oldName ) );
        }
 
        public function isReadMode() {
index 3d04f95..81353f6 100644 (file)
@@ -192,7 +192,7 @@ class ApiMain extends ApiBase {
                if ( $uselang === 'user' ) {
                        $uselang = $this->getUser()->getOption( 'language' );
                        $uselang = RequestContext::sanitizeLangCode( $uselang );
-                       wfRunHooks( 'UserGetLanguageObject', array( $this->getUser(), &$uselang, $this ) );
+                       Hooks::run( 'UserGetLanguageObject', array( $this->getUser(), &$uselang, $this ) );
                } elseif ( $uselang === 'content' ) {
                        global $wgContLang;
                        $uselang = $wgContLang->getCode();
@@ -418,7 +418,7 @@ class ApiMain extends ApiBase {
                }
 
                // Allow extra cleanup and logging
-               wfRunHooks( 'ApiMain::onException', array( $this, $e ) );
+               Hooks::run( 'ApiMain::onException', array( $this, $e ) );
 
                // Log it
                if ( !( $e instanceof UsageException ) ) {
@@ -878,7 +878,7 @@ class ApiMain extends ApiBase {
 
                // Allow extensions to stop execution for arbitrary reasons.
                $message = false;
-               if ( !wfRunHooks( 'ApiCheckCanExecute', array( $module, $user, &$message ) ) ) {
+               if ( !Hooks::run( 'ApiCheckCanExecute', array( $module, $user, &$message ) ) ) {
                        $this->dieUsageMsg( $message );
                }
        }
@@ -952,7 +952,7 @@ class ApiMain extends ApiBase {
                // Execute
                $module->profileIn();
                $module->execute();
-               wfRunHooks( 'APIAfterExecute', array( &$module ) );
+               Hooks::run( 'APIAfterExecute', array( &$module ) );
                $module->profileOut();
 
                $this->reportUnusedParams();
index 3b56dec..f4b99ae 100644 (file)
@@ -96,7 +96,7 @@ class ApiOpenSearch extends ApiBase {
                        $this->search( $search, $limit, $namespaces, $resolveRedir, $results );
 
                        // Allow hooks to populate extracts and images
-                       wfRunHooks( 'ApiOpenSearchSuggest', array( &$results ) );
+                       Hooks::run( 'ApiOpenSearchSuggest', array( &$results ) );
 
                        // Trim extracts, if necessary
                        $length = $this->getConfig()->get( 'OpenSearchDescriptionLength' );
index c70629a..1417ef7 100644 (file)
@@ -179,7 +179,7 @@ class ApiPageSet extends ApiBase {
 
                        if ( !$isDryRun ) {
                                $generator->executeGenerator( $this );
-                               wfRunHooks( 'APIQueryGeneratorAfterExecute', array( &$generator, &$this ) );
+                               Hooks::run( 'APIQueryGeneratorAfterExecute', array( &$generator, &$this ) );
                        } else {
                                // Prevent warnings from being reported on these parameters
                                $main = $this->getMain();
index 2bf1677..ff91b92 100644 (file)
@@ -87,7 +87,7 @@ class ApiParse extends ApiBase {
                if ( !is_null( $oldid ) || !is_null( $pageid ) || !is_null( $page ) ) {
                        if ( !is_null( $oldid ) ) {
                                // Don't use the parser cache
-                               $rev = Revision::newFromID( $oldid );
+                               $rev = Revision::newFromId( $oldid );
                                if ( !$rev ) {
                                        $this->dieUsage( "There is no revision ID $oldid", 'missingrev' );
                                }
@@ -267,7 +267,7 @@ class ApiParse extends ApiBase {
                                // Link flags are ignored for now, but may in the future be
                                // included in the result.
                                $linkFlags = array();
-                               wfRunHooks( 'LanguageLinks', array( $titleObj, &$langlinks, &$linkFlags ) );
+                               Hooks::run( 'LanguageLinks', array( $titleObj, &$langlinks, &$linkFlags ) );
                        }
                } else {
                        $langlinks = false;
index 3684461..779c418 100644 (file)
@@ -38,7 +38,7 @@ class ApiPatrol extends ApiBase {
                $this->requireOnlyOneParameter( $params, 'rcid', 'revid' );
 
                if ( isset( $params['rcid'] ) ) {
-                       $rc = RecentChange::newFromID( $params['rcid'] );
+                       $rc = RecentChange::newFromId( $params['rcid'] );
                        if ( !$rc ) {
                                $this->dieUsageMsg( array( 'nosuchrcid', $params['rcid'] ) );
                        }
index bd28408..514d559 100644 (file)
@@ -295,7 +295,7 @@ class ApiQuery extends ApiBase {
                                $cacheMode, $module->getCacheMode( $params ) );
                        $module->profileIn();
                        $module->execute();
-                       wfRunHooks( 'APIQueryAfterExecute', array( &$module ) );
+                       Hooks::run( 'APIQueryAfterExecute', array( &$module ) );
                        $module->profileOut();
                }
 
index 263ab0d..88b2074 100644 (file)
@@ -104,7 +104,7 @@ class ApiQueryInfo extends ApiQueryBase {
                        'import' => array( 'ApiQueryInfo', 'getImportToken' ),
                        'watch' => array( 'ApiQueryInfo', 'getWatchToken' ),
                );
-               wfRunHooks( 'APIQueryInfoTokens', array( &$this->tokenFunctions ) );
+               Hooks::run( 'APIQueryInfoTokens', array( &$this->tokenFunctions ) );
 
                return $this->tokenFunctions;
        }
@@ -463,7 +463,7 @@ class ApiQueryInfo extends ApiQueryBase {
                                $pageInfo['preload'] = '';
                        } else {
                                $text = null;
-                               wfRunHooks( 'EditFormPreloadText', array( &$text, &$title ) );
+                               Hooks::run( 'EditFormPreloadText', array( &$text, &$title ) );
 
                                $pageInfo['preload'] = $text;
                        }
index e20380e..cdc61cd 100644 (file)
@@ -64,7 +64,7 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
                $this->tokenFunctions = array(
                        'patrol' => array( 'ApiQueryRecentChanges', 'getPatrolToken' )
                );
-               wfRunHooks( 'APIQueryRecentChangesTokens', array( &$this->tokenFunctions ) );
+               Hooks::run( 'APIQueryRecentChangesTokens', array( &$this->tokenFunctions ) );
 
                return $this->tokenFunctions;
        }
index 32355b9..7092fc4 100644 (file)
@@ -61,7 +61,7 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
                $this->tokenFunctions = array(
                        'rollback' => array( 'ApiQueryRevisions', 'getRollbackToken' )
                );
-               wfRunHooks( 'APIQueryRevisionsTokens', array( &$this->tokenFunctions ) );
+               Hooks::run( 'APIQueryRevisionsTokens', array( &$this->tokenFunctions ) );
 
                return $this->tokenFunctions;
        }
index 4d75a20..a658309 100644 (file)
@@ -78,7 +78,7 @@ abstract class ApiQueryRevisionsBase extends ApiQueryGeneratorBase {
                        // DifferenceEngine returns a rather ambiguous empty
                        // string if that's not the case
                        if ( $params['diffto'] != 0 ) {
-                               $difftoRev = Revision::newFromID( $params['diffto'] );
+                               $difftoRev = Revision::newFromId( $params['diffto'] );
                                if ( !$difftoRev ) {
                                        $this->dieUsageMsg( array( 'nosuchrevid', $params['diffto'] ) );
                                }
index 3b8a514..f373021 100644 (file)
@@ -274,7 +274,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                        $data['favicon'] = wfExpandUrl( $favicon, PROTO_RELATIVE );
                }
 
-               wfRunHooks( 'APIQuerySiteInfoGeneralInfo', array( $this, &$data ) );
+               Hooks::run( 'APIQuerySiteInfoGeneralInfo', array( $this, &$data ) );
 
                return $this->getResult()->addValue( 'query', $property, $data );
        }
@@ -490,7 +490,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                $data['admins'] = intval( SiteStats::numberingroup( 'sysop' ) );
                $data['jobs'] = intval( SiteStats::jobs() );
 
-               wfRunHooks( 'APIQuerySiteInfoStatisticsInfo', array( &$data ) );
+               Hooks::run( 'APIQuerySiteInfoStatisticsInfo', array( &$data ) );
 
                return $this->getResult()->addValue( 'query', $property, $data );
        }
index 279e8e3..e8d7258 100644 (file)
@@ -63,7 +63,7 @@ class ApiQueryTokens extends ApiQueryBase {
                                'rollback' => 'rollback',
                                'userrights' => 'userrights',
                        );
-                       wfRunHooks( 'ApiQueryTokensRegisterTypes', array( &$salts ) );
+                       Hooks::run( 'ApiQueryTokensRegisterTypes', array( &$salts ) );
                        ksort( $salts );
                        wfProfileOut( __METHOD__ );
                }
index db8cc1c..b7f2f9a 100644 (file)
@@ -75,7 +75,7 @@ class ApiQueryUsers extends ApiQueryBase {
                $this->tokenFunctions = array(
                        'userrights' => array( 'ApiQueryUsers', 'getUserrightsToken' ),
                );
-               wfRunHooks( 'APIQueryUsersTokens', array( &$this->tokenFunctions ) );
+               Hooks::run( 'APIQueryUsersTokens', array( &$this->tokenFunctions ) );
 
                return $this->tokenFunctions;
        }
index 91f3266..f28e610 100644 (file)
@@ -99,7 +99,7 @@ class ApiRsd extends ApiBase {
                                )
                        ),
                );
-               wfRunHooks( 'ApiRsdServiceApis', array( &$apis ) );
+               Hooks::run( 'ApiRsdServiceApis', array( &$apis ) );
 
                return $apis;
        }
index 2a60af9..f7290af 100644 (file)
@@ -70,7 +70,7 @@ class ApiTokens extends ApiBase {
                foreach ( $names as $name ) {
                        $types[$name] = array( 'ApiQueryInfo', 'get' . ucfirst( $name ) . 'Token' );
                }
-               wfRunHooks( 'ApiTokensGetTokenTypes', array( &$types ) );
+               Hooks::run( 'ApiTokensGetTokenTypes', array( &$types ) );
                ksort( $types );
                wfProfileOut( __METHOD__ );
 
index 943ae8e..c23e9ff 100644 (file)
@@ -69,7 +69,7 @@ class ApiUndelete extends ApiBase {
                }
 
                if ( $retval[1] ) {
-                       wfRunHooks( 'FileUndeleteComplete',
+                       Hooks::run( 'FileUndeleteComplete',
                                array( $titleObj, $params['fileids'], $this->getUser(), $params['reason'] ) );
                }
 
index 4a501c2..5321dbb 100644 (file)
@@ -23,5 +23,6 @@
        "apihelp-block-param-anononly": "Заблякаваць толькі ананімных удзельнікаў (напрыклад, забараніць ананімныя праўкі з гэтага IP-адрасу).",
        "apihelp-block-param-nocreate": "Забарона стварэньня рахункаў.",
        "apihelp-block-param-autoblock": "Аўтаматычна блякаваць апошні ўжыты IP-адрас, а таксама ўсе наступныя IP-адрасы, зь якіх будуць спробы ўваходу.",
-       "apihelp-block-param-noemail": "Забараняе ўдзельніку дасылаць лісты электроннай пошты празь вікі (трэба мець права «blockemail»)."
+       "apihelp-block-param-noemail": "Забараняе ўдзельніку дасылаць лісты электроннай пошты празь вікі (трэба мець права «blockemail»).",
+       "apihelp-block-param-hidename": "Схаваць імя ўдзельніка з журналу блякаваньняў (патрабуе права «hideuser»)."
 }
index 3c708a7..ff06724 100644 (file)
        "apihelp-block-param-nocreate": "Et Neu-Aanmelde verbeede",
        "apihelp-block-param-autoblock": "Dun automattesch de läzde <i lang=\"en\" xml:lang=\"en\">IP</i>-Adräß schpärre, di dä Metmaacher jehatt hät, un och all di <i lang=\"en\" xml:lang=\"en\">IP</i>-Adräße, vun wo dä versöhk, jet ze ändere.",
        "apihelp-block-param-watchuser": "Donn de Metmaachersigg un de Klaafsigg dohzoh op mig Oppaßleß säze.",
+       "apihelp-compare-description": "Donn de Ongerscheide zwesche zwai Sigge beschtemme.\n\nDo moß derför jeweils en Väsjohn, ene Tettel, odder ener Sigg iehr Kännong aanjävve, för de beide Sigge.",
+       "apihelp-compare-param-fromtitle": "Der Tettel vun dä eezte Sigg zom verjlihsche.",
+       "apihelp-compare-param-fromid": "De Kännong vun dä eezte Sigg zom verjlihsche.",
+       "apihelp-compare-param-fromrev": "De Väsjohn vun dä zwaite Sigg zom verjlihsche.",
+       "apihelp-compare-param-totitle": "Der Tettel vun dä zwaite Sigg zom verjlihsche.",
+       "apihelp-compare-param-toid": "De Kännong vun dä zwaite Sigg zom verjlihsche.",
+       "apihelp-compare-param-torev": "De Väsjohn vun dä zwaite Sigg zom verjlihsche.",
+       "apihelp-compare-example-1": "Fengk de Ongerscheide zwesche dä Väsjohne 1 un 2",
        "apihelp-createaccount-description": "Ene neue Zohjang för ene Metmaacher aanlähje.",
        "apihelp-createaccount-param-name": "Der Nahme för dä Metmaacher.",
        "apihelp-createaccount-param-password": "Et Paßwoot (Weed ävver it jebruc un övverjange, wann <code lang=\"en\" xml:lang=\"en\">$1mailpassword</code> jesaz es)",
+       "apihelp-createaccount-param-realname": "Dämm Medmaacher singe reschtejje Nahme - kann fott blihve.",
        "apihelp-delete-description": "Schmieß en Sigg fott.",
        "apihelp-delete-param-watch": "Donn die Sigg en Ding Oppassliss opnemme.",
        "apihelp-delete-param-unwatch": "Schmiiß di Sigg us Dinge Oppassless erus.",
index 21db93a..450c641 100644 (file)
@@ -4,7 +4,8 @@
                        "Siebrand",
                        "Sjoerddebruin",
                        "Robin0van0der0vliet",
-                       "Mar(c)"
+                       "Mar(c)",
+                       "Valhallasw"
                ]
        },
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [https://www.mediawiki.org/wiki/API:Main_page Documentatie]\n* [https://www.mediawiki.org/wiki/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-maillijst]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API-aankondigingen]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts Bugs & verzoeken]\n</div>\n<strong>Status:</strong> Alle functies die op deze pagina worden weergegeven horen te werken. Aan de API wordt actief gewerkt, en deze kan gewijzigd worden. Abonneer u op  de [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-maillijst mediawiki-api-announce] voor meldingen over aanpassingen.\n\n<strong>Foutieve verzoeken:</strong> als de API foutieve verzoeken ontvangt, wordt er geantwoord met een HTTP-header met de sleutel \"MediaWiki-API-Error\" en daarna worden de waarde van de header en de foutcode op dezelfde waarde ingesteld. Zie https://www.mediawiki.org/wiki/API:Errors_and_warnings voor meer informatie.",
        "apihelp-main-param-maxlag": "De maximale vertraging kan gebruikt worden als MediaWiki is geïnstalleerd op een databasecluster die gebruik maakt van replicatie. Om te voorkomen dat handelingen nog meer databasereplicatievertraging veroorzaken, kan deze parameter er voor zorgen dat de client wacht totdat de replicatievertraging lager is dan de aangegeven waarde. In het geval van buitensporige vertraging, wordt de foutcode \"maxlag\" teruggegeven met een bericht als \"Waiting for $host: $lag seconds lagged\".<br />Zie https://www.mediawiki.org/wiki/Manual:Maxlag_parameter voor mee informatie.",
        "apihelp-main-param-smaxage": "Stelt de header \"s-maxage\" in op het aangegeven aantal seconden. Foutmeldingen komen nooit in de cache.",
        "apihelp-main-param-maxage": "Stelt de header \"max-age\" in op het aangegeven aantal seconden. Foutmeldingen komen nooit in de cache.",
+       "apihelp-main-param-assert": "Controleer of de gebruiker ingelogd is als \"user\" is meegegeven, en of de gebruiker het bot-gebruikersrecht heeft als \"bot\" is meegegeven.",
+       "apihelp-main-param-requestid": "Elke waarde die hier gegeven wordt wordt aan het antwoord toegevoegd. Dit kan gebruikt worden om verzoeken te onderscheiden.",
+       "apihelp-main-param-servedby": "Voeg de hostnaam van de server die de aanvraag heeft afgehandeld toe aan het antwoord.",
+       "apihelp-main-param-curtimestamp": "Voeg de huidige tijd toe aan het antwoord.",
        "apihelp-block-description": "Gebruiker blokkeren.",
        "apihelp-block-param-reason": "Reden voor blokkade.",
        "apihelp-edit-example-edit": "Pagina bewerken",
index 3ce22d4..f262fb3 100644 (file)
@@ -12,6 +12,7 @@
        "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [https://www.mediawiki.org/wiki/API:Main_page/zh 文档]\n* [https://www.mediawiki.org/wiki/API:FAQ/zh 常见问题]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api 邮件列表]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API公告]\n* [https://bugzilla.wikimedia.org/buglist.cgi?component=API&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=bugs.delta_ts 程序错误与功能请求]\n</div>\n<strong>状态信息:</strong> 本页所展示的所有特性都应正常工作,但是API仍在开发当中,将会随时变化。请订阅[https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ mediawiki-api-announce 邮件列表]以便获得更新通知。\n\n<strong>错误请求:</strong> 当API收到错误请求时,HTTP header将会返回一个包含\"MediaWiki-API-Error\"的值,随后header的值与error code将会送回并设置为相同的值。详细信息请参阅 https://www.mediawiki.org/wiki/API:Errors_and_warnings 。",
        "apihelp-main-param-action": "要执行的操作。",
        "apihelp-main-param-format": "输出的格式。",
+       "apihelp-main-param-assert": "如果设置为“user”就验证用户是否登录,或如果设置为“bot”就验证是否有机器人用户权限。",
        "apihelp-main-param-servedby": "包含保存结果请求的主机名。",
        "apihelp-main-param-curtimestamp": "在结果中包括当前时间戳。",
        "apihelp-main-param-origin": "当通过跨域名AJAX请求(CORS)访问API时,设置此作为起始域名。这必须包括在任何pre-flight请求中,并因此必须是请求的URI的一部分(而不是POST正文)。这必须匹配Origin中的一个起点:从头到底,因此它已经设置为像http://zh.wikipedia.org或https://meta.wikimedia.org的东西。如果此参数不匹配Origin: header,就返回403错误响应。如果此参数匹配Origin: header并且起点被白名单,将设置一个Access-Control-Allow-Origin开头。",
@@ -35,7 +36,7 @@
        "apihelp-compare-param-fromid": "要比较的第一个页面 ID。",
        "apihelp-compare-param-fromrev": "要比较的第一个修订版本。",
        "apihelp-compare-param-totitle": "要比较的第二个标题。",
-       "apihelp-compare-param-toid": "è¦\81æ¯\94è¾\83ç\9a\84第ä¸\80个页面 ID。",
+       "apihelp-compare-param-toid": "è¦\81æ¯\94è¾\83ç\9a\84第äº\8c个页面 ID。",
        "apihelp-compare-param-torev": "要比较的第二个修订版本。",
        "apihelp-compare-example-1": "在版本1和2中创建差异",
        "apihelp-createaccount-description": "创建一个新用户账户。",
index ed62bba..753263c 100644 (file)
@@ -255,7 +255,7 @@ class BacklinkCache {
                        return $prefixes[$table];
                } else {
                        $prefix = null;
-                       wfRunHooks( 'BacklinkCacheGetPrefix', array( $table, &$prefix ) );
+                       Hooks::run( 'BacklinkCacheGetPrefix', array( $table, &$prefix ) );
                        if ( $prefix ) {
                                return $prefix;
                        } else {
@@ -303,7 +303,7 @@ class BacklinkCache {
                                break;
                        default:
                                $conds = null;
-                               wfRunHooks( 'BacklinkCacheGetConditions', array( $table, $this->title, &$conds ) );
+                               Hooks::run( 'BacklinkCacheGetConditions', array( $table, $this->title, &$conds ) );
                                if ( !$conds ) {
                                        throw new MWException( "Invalid table \"$table\" in " . __CLASS__ );
                                }
index 58ca2dc..c07032b 100644 (file)
@@ -131,7 +131,7 @@ class HTMLFileCache extends FileCacheBase {
                        return false;
                }
                // Allow extensions to disable caching
-               return wfRunHooks( 'HTMLFileCache::useFileCache', array( $context ) );
+               return Hooks::run( 'HTMLFileCache::useFileCache', array( $context ) );
        }
 
        /**
index c79d008..03162c0 100644 (file)
@@ -945,7 +945,7 @@ class LocalisationCache {
 
                        # Allow extensions an opportunity to adjust the data for this
                        # fallback
-                       wfRunHooks( 'LocalisationCacheRecacheFallback', array( $this, $csCode, &$csData ) );
+                       Hooks::run( 'LocalisationCacheRecacheFallback', array( $this, $csCode, &$csData ) );
 
                        # Merge the data for this fallback into the final array
                        if ( $csCode === $code ) {
@@ -1003,7 +1003,7 @@ class LocalisationCache {
                }
                # Run hooks
                $purgeBlobs = true;
-               wfRunHooks( 'LocalisationCacheRecache', array( $this, $code, &$allData, &$purgeBlobs ) );
+               Hooks::run( 'LocalisationCacheRecache', array( $this, $code, &$allData, &$purgeBlobs ) );
 
                if ( is_null( $allData['namespaceNames'] ) ) {
                        wfProfileOut( __METHOD__ );
index 43e00cd..532236e 100644 (file)
@@ -575,7 +575,7 @@ class MessageCache {
                global $wgContLang;
                MessageBlobStore::getInstance()->updateMessage( $wgContLang->lcfirst( $msg ) );
 
-               wfRunHooks( 'MessageCacheReplace', array( $title, $text ) );
+               Hooks::run( 'MessageCacheReplace', array( $title, $text ) );
 
                wfProfileOut( __METHOD__ );
        }
@@ -736,7 +736,7 @@ class MessageCache {
                        $lckey = $wgContLang->lcfirst( $lckey );
                }
 
-               wfRunHooks( 'MessageCache::get', array( &$lckey ) );
+               Hooks::run( 'MessageCache::get', array( &$lckey ) );
 
                if ( ord( $lckey ) < 128 ) {
                        $uckey = ucfirst( $lckey );
@@ -909,7 +909,7 @@ class MessageCache {
                } else {
                        // XXX: This is not cached in process cache, should it?
                        $message = false;
-                       wfRunHooks( 'MessagesPreLoad', array( $title, &$message ) );
+                       Hooks::run( 'MessagesPreLoad', array( $title, &$message ) );
                        if ( $message !== false ) {
                                return $message;
                        }
index 03d1289..932006d 100644 (file)
@@ -67,7 +67,7 @@ class ChangesList extends ContextSource {
                $user = $context->getUser();
                $sk = $context->getSkin();
                $list = null;
-               if ( wfRunHooks( 'FetchChangesList', array( $user, &$sk, &$list ) ) ) {
+               if ( Hooks::run( 'FetchChangesList', array( $user, &$sk, &$list ) ) ) {
                        $new = $context->getRequest()->getBool( 'enhanced', $user->getOption( 'usenewrc' ) );
 
                        return $new ? new EnhancedChangesList( $context ) : new OldChangesList( $context );
@@ -180,7 +180,7 @@ class ChangesList extends ContextSource {
         * @param ResultWrapper|array $rows
         */
        public function initChangesListRows( $rows ) {
-               wfRunHooks( 'ChangesListInitRows', array( $this, $rows ) );
+               Hooks::run( 'ChangesListInitRows', array( $this, $rows ) );
        }
 
        /**
@@ -364,7 +364,7 @@ class ChangesList extends ContextSource {
                # RTL/LTR marker
                $articlelink .= $this->getLanguage()->getDirMark();
 
-               wfRunHooks( 'ChangesListInsertArticleLink',
+               Hooks::run( 'ChangesListInsertArticleLink',
                        array( &$this, &$articlelink, &$s, &$rc, $unpatrolled, $watched ) );
 
                $s .= " $articlelink";
index c9602cc..5067886 100644 (file)
@@ -56,7 +56,7 @@ class OldChangesList extends ChangesList {
                                $rc->mAttribs['rc_namespace'] . '-' . $rc->mAttribs['rc_title'] );
                }
 
-               if ( !wfRunHooks( 'OldChangesListRecentChangesLine', array( &$this, &$html, $rc, &$classes ) ) ) {
+               if ( !Hooks::run( 'OldChangesListRecentChangesLine', array( &$this, &$html, $rc, &$classes ) ) ) {
                        wfProfileOut( __METHOD__ );
 
                        return false;
index d187c54..c719d8d 100644 (file)
@@ -257,7 +257,7 @@ class RecentChange {
        public function getPerformer() {
                if ( $this->mPerformer === false ) {
                        if ( $this->mAttribs['rc_user'] ) {
-                               $this->mPerformer = User::newFromID( $this->mAttribs['rc_user'] );
+                               $this->mPerformer = User::newFromId( $this->mAttribs['rc_user'] );
                        } else {
                                $this->mPerformer = User::newFromName( $this->mAttribs['rc_user_text'], false );
                        }
@@ -309,7 +309,7 @@ class RecentChange {
                $this->mAttribs['rc_id'] = $dbw->insertId();
 
                # Notify extensions
-               wfRunHooks( 'RecentChange_save', array( &$this ) );
+               Hooks::run( 'RecentChange_save', array( &$this ) );
 
                # Notify external application via UDP
                if ( !$noudp ) {
@@ -321,7 +321,7 @@ class RecentChange {
                        $editor = $this->getPerformer();
                        $title = $this->getTitle();
 
-                       if ( wfRunHooks( 'AbortEmailNotification', array( $editor, $title, $this ) ) ) {
+                       if ( Hooks::run( 'AbortEmailNotification', array( $editor, $title, $this ) ) ) {
                                # @todo FIXME: This would be better as an extension hook
                                $enotif = new EmailNotification();
                                $enotif->notifyOnPageChange( $editor, $title,
@@ -445,7 +445,7 @@ class RecentChange {
                // Automatic patrol needs "autopatrol", ordinary patrol needs "patrol"
                $right = $auto ? 'autopatrol' : 'patrol';
                $errors = array_merge( $errors, $this->getTitle()->getUserPermissionsErrors( $right, $user ) );
-               if ( !wfRunHooks( 'MarkPatrolled', array( $this->getAttribute( 'rc_id' ), &$user, false ) ) ) {
+               if ( !Hooks::run( 'MarkPatrolled', array( $this->getAttribute( 'rc_id' ), &$user, false ) ) ) {
                        $errors[] = array( 'hookaborted' );
                }
                // Users without the 'autopatrol' right can't patrol their
@@ -466,7 +466,7 @@ class RecentChange {
                $this->reallyMarkPatrolled();
                // Log this patrol event
                PatrolLog::record( $this, $auto, $user );
-               wfRunHooks( 'MarkPatrolledComplete', array( $this->getAttribute( 'rc_id' ), &$user, false ) );
+               Hooks::run( 'MarkPatrolledComplete', array( $this->getAttribute( 'rc_id' ), &$user, false ) );
 
                return array();
        }
index cb39fac..816572c 100644 (file)
@@ -446,7 +446,7 @@ abstract class AbstractContent implements Content {
                $lossy = ( $lossy === 'lossy' ); // string flag, convert to boolean for convenience
                $result = false;
 
-               wfRunHooks( 'ConvertContent', array( $this, $toModel, $lossy, &$result ) );
+               Hooks::run( 'ConvertContent', array( $this, $toModel, $lossy, &$result ) );
 
                return $result;
        }
@@ -480,7 +480,7 @@ abstract class AbstractContent implements Content {
 
                $po = new ParserOutput();
 
-               if ( wfRunHooks( 'ContentGetParserOutput',
+               if ( Hooks::run( 'ContentGetParserOutput',
                        array( $this, $title, $revId, $options, $generateHtml, &$po ) ) ) {
 
                        // Save and restore the old value, just in case something is reusing
@@ -491,7 +491,7 @@ abstract class AbstractContent implements Content {
                        $options->setRedirectTarget( $oldRedir );
                }
 
-               wfRunHooks( 'ContentAlterParserOutput', array( $this, $title, $po ) );
+               Hooks::run( 'ContentAlterParserOutput', array( $this, $title, $po ) );
 
                return $po;
        }
index 9aa42dd..8c806c6 100644 (file)
@@ -201,7 +201,7 @@ abstract class ContentHandler {
                $model = MWNamespace::getNamespaceContentModel( $ns );
 
                // Hook can determine default model
-               if ( !wfRunHooks( 'ContentHandlerDefaultModelFor', array( $title, &$model ) ) ) {
+               if ( !Hooks::run( 'ContentHandlerDefaultModelFor', array( $title, &$model ) ) ) {
                        if ( !is_null( $model ) ) {
                                return $model;
                        }
@@ -214,7 +214,7 @@ abstract class ContentHandler {
                }
 
                // Hook can force JS/CSS
-               wfRunHooks( 'TitleIsCssOrJsPage', array( $title, &$isCssOrJsPage ), '1.25' );
+               Hooks::run( 'TitleIsCssOrJsPage', array( $title, &$isCssOrJsPage ), '1.25' );
 
                // Is this a .css subpage of a user page?
                $isJsCssSubpage = NS_USER == $ns
@@ -229,7 +229,7 @@ abstract class ContentHandler {
                $isWikitext = $isWikitext && !$isCssOrJsPage && !$isJsCssSubpage;
 
                // Hook can override $isWikitext
-               wfRunHooks( 'TitleIsWikitextPage', array( $title, &$isWikitext ), '1.25' );
+               Hooks::run( 'TitleIsWikitextPage', array( $title, &$isWikitext ), '1.25' );
 
                if ( !$isWikitext ) {
                        switch ( $ext ) {
@@ -318,7 +318,7 @@ abstract class ContentHandler {
                if ( empty( $wgContentHandlers[$modelId] ) ) {
                        $handler = null;
 
-                       wfRunHooks( 'ContentHandlerForModelID', array( $modelId, &$handler ) );
+                       Hooks::run( 'ContentHandlerForModelID', array( $modelId, &$handler ) );
 
                        if ( $handler === null ) {
                                throw new MWException( "No handler for model '$modelId' registered in \$wgContentHandlers" );
@@ -660,7 +660,7 @@ abstract class ContentHandler {
                        $pageLang = wfGetLangObj( $lang );
                }
 
-               wfRunHooks( 'PageContentLanguage', array( $title, &$pageLang, $wgLang ) );
+               Hooks::run( 'PageContentLanguage', array( $title, &$pageLang, $wgLang ) );
 
                return wfGetLangObj( $pageLang );
        }
@@ -719,7 +719,7 @@ abstract class ContentHandler {
        public function canBeUsedOn( Title $title ) {
                $ok = true;
 
-               wfRunHooks( 'ContentModelCanBeUsedOn', array( $this->getModelID(), $title, &$ok ) );
+               Hooks::run( 'ContentModelCanBeUsedOn', array( $this->getModelID(), $title, &$ok ) );
 
                return $ok;
        }
@@ -1151,7 +1151,7 @@ abstract class ContentHandler {
                }
 
                // call the hook functions
-               $ok = wfRunHooks( $event, $args );
+               $ok = Hooks::run( $event, $args );
 
                // see if the hook changed the text
                foreach ( $contentTexts as $k => $orig ) {
index 9a8ab3a..7593d7c 100644 (file)
@@ -93,7 +93,7 @@ class WikitextContent extends TextContent {
                        # Inserting a new section
                        $subject = $sectionTitle ? wfMessage( 'newsectionheaderdefaultlevel' )
                                        ->rawParams( $sectionTitle )->inContentLanguage()->text() . "\n\n" : '';
-                       if ( wfRunHooks( 'PlaceNewSection', array( $this, $oldtext, $subject, &$text ) ) ) {
+                       if ( Hooks::run( 'PlaceNewSection', array( $this, $oldtext, $subject, &$text ) ) ) {
                                $text = strlen( trim( $oldtext ) ) > 0
                                        ? "{$oldtext}\n\n{$subject}{$text}"
                                        : "{$subject}{$text}";
index d620be9..2a610a3 100644 (file)
@@ -322,7 +322,7 @@ class RequestContext implements IContextSource {
                                $code = $request->getVal( 'uselang', $user->getOption( 'language' ) );
                                $code = self::sanitizeLangCode( $code );
 
-                               wfRunHooks( 'UserGetLanguageObject', array( $user, &$code, $this ) );
+                               Hooks::run( 'UserGetLanguageObject', array( $user, &$code, $this ) );
 
                                if ( $code === $this->getConfig()->get( 'LanguageCode' ) ) {
                                        $this->lang = $wgContLang;
@@ -362,7 +362,7 @@ class RequestContext implements IContextSource {
                        wfProfileIn( __METHOD__ . '-createskin' );
 
                        $skin = null;
-                       wfRunHooks( 'RequestContextCreateSkin', array( $this, &$skin ) );
+                       Hooks::run( 'RequestContextCreateSkin', array( $this, &$skin ) );
                        $factory = SkinFactory::getDefaultInstance();
 
                        // If the hook worked try to set a skin from it
index f031f78..e150206 100644 (file)
@@ -229,7 +229,7 @@ class DatabaseOracle extends DatabaseBase {
                }
                $p['tablePrefix'] = strtoupper( $p['tablePrefix'] );
                parent::__construct( $p );
-               wfRunHooks( 'DatabaseOraclePostInit', array( $this ) );
+               Hooks::run( 'DatabaseOraclePostInit', array( $this ) );
        }
 
        function __destruct() {
index 45d2664..4e5af0b 100644 (file)
@@ -140,16 +140,16 @@ class LinksUpdate extends SqlDataUpdate {
 
                $this->mRecursive = $recursive;
 
-               wfRunHooks( 'LinksUpdateConstructed', array( &$this ) );
+               Hooks::run( 'LinksUpdateConstructed', array( &$this ) );
        }
 
        /**
         * Update link tables with outgoing links from an updated article
         */
        public function doUpdate() {
-               wfRunHooks( 'LinksUpdate', array( &$this ) );
+               Hooks::run( 'LinksUpdate', array( &$this ) );
                $this->doIncrementalUpdate();
-               wfRunHooks( 'LinksUpdateComplete', array( &$this ) );
+               Hooks::run( 'LinksUpdateComplete', array( &$this ) );
        }
 
        protected function doIncrementalUpdate() {
@@ -339,7 +339,7 @@ class LinksUpdate extends SqlDataUpdate {
                }
                if ( count( $insertions ) ) {
                        $this->mDb->insert( $table, $insertions, __METHOD__, 'IGNORE' );
-                       wfRunHooks( 'LinksUpdateAfterInsert', array( $this, $table, $insertions ) );
+                       Hooks::run( 'LinksUpdateAfterInsert', array( $this, $table, $insertions ) );
                }
        }
 
index 5d084af..8808c20 100644 (file)
@@ -80,7 +80,7 @@ class SearchUpdate implements DeferrableUpdate {
 
                wfProfileIn( __METHOD__ );
 
-               $page = WikiPage::newFromId( $this->id, WikiPage::READ_LATEST );
+               $page = WikiPage::newFromID( $this->id, WikiPage::READ_LATEST );
 
                foreach ( SearchEngine::getSearchTypes() as $type ) {
                        $search = SearchEngine::create( $type );
index dd5f3c7..c887193 100644 (file)
@@ -283,7 +283,7 @@ class DifferenceEngine extends ContextSource {
                        $samePage = true;
                        $oldHeader = '';
                } else {
-                       wfRunHooks( 'DiffViewHeader', array( $this, $this->mOldRev, $this->mNewRev ) );
+                       Hooks::run( 'DiffViewHeader', array( $this, $this->mOldRev, $this->mNewRev ) );
 
                        if ( $this->mNewPage->equals( $this->mOldPage ) ) {
                                $out->setPageTitle( $this->msg( 'difference-title', $this->mNewPage->getPrefixedText() ) );
@@ -387,7 +387,7 @@ class DifferenceEngine extends ContextSource {
                $rdel = $this->revisionDeleteLink( $this->mNewRev );
 
                # Allow extensions to define their own revision tools
-               wfRunHooks( 'DiffRevisionTools', array( $this->mNewRev, &$revisionTools, $this->mOldRev ) );
+               Hooks::run( 'DiffRevisionTools', array( $this->mNewRev, &$revisionTools, $this->mOldRev ) );
                $formattedRevisionTools = array();
                // Put each one in parentheses (poor man's button)
                foreach ( $revisionTools as $key => $tool ) {
@@ -555,7 +555,7 @@ class DifferenceEngine extends ContextSource {
                <h2 class='diff-currentversion-title'>{$revHeader}</h2>\n" );
                # Page content may be handled by a hooked call instead...
                # @codingStandardsIgnoreStart Ignoring long lines.
-               if ( wfRunHooks( 'ArticleContentOnDiff', array( $this, $out ) ) ) {
+               if ( Hooks::run( 'ArticleContentOnDiff', array( $this, $out ) ) ) {
                        $this->loadNewText();
                        $out->setRevisionId( $this->mNewid );
                        $out->setRevisionTimestamp( $this->mNewRev->getTimestamp() );
@@ -575,7 +575,7 @@ class DifferenceEngine extends ContextSource {
                                                $out->addParserOutputContent( $po );
                                        }
                                }
-                       } elseif ( !wfRunHooks( 'ArticleContentViewCustom', array( $this->mNewContent, $this->mNewPage, $out ) ) ) {
+                       } elseif ( !Hooks::run( 'ArticleContentViewCustom', array( $this->mNewContent, $this->mNewPage, $out ) ) ) {
                                // Handled by extension
                        } elseif ( !ContentHandler::runLegacyHooks( 'ArticleViewCustom', array( $this->mNewContent, $this->mNewPage, $out ) ) ) {
                                // NOTE: deprecated hook, B/C only
@@ -742,7 +742,7 @@ class DifferenceEngine extends ContextSource {
                $difftext = $this->generateContentDiffBody( $this->mOldContent, $this->mNewContent );
 
                // Save to cache for 7 days
-               if ( !wfRunHooks( 'AbortDiffCache', array( &$this ) ) ) {
+               if ( !Hooks::run( 'AbortDiffCache', array( &$this ) ) ) {
                        wfIncrStats( 'diff_uncacheable' );
                } elseif ( $key !== false && $difftext !== false ) {
                        wfIncrStats( 'diff_cache_miss' );
@@ -1224,7 +1224,7 @@ class DifferenceEngine extends ContextSource {
                        $this->mNewid = 0;
                }
 
-               wfRunHooks(
+               Hooks::run(
                        'NewDifferenceEngine',
                        array( $this->getTitle(), &$this->mOldid, &$this->mNewid, $old, $new )
                );
index ae6b659..58311d3 100644 (file)
@@ -1125,7 +1125,7 @@ abstract class File {
                                $thumb = $this->transformErrorOutput( $thumbPath, $thumbUrl, $transformParams, $flags );
                        }
                        // Give extensions a chance to do something with this thumbnail...
-                       wfRunHooks( 'FileTransformed', array( $this, $thumb, $tmpThumbPath, $thumbPath ) );
+                       Hooks::run( 'FileTransformed', array( $this, $thumb, $tmpThumbPath, $thumbPath ) );
                }
 
                // Purge. Useful in the event of Core -> Squid connection failure or squid
index 9f14669..f1f8af4 100644 (file)
@@ -913,7 +913,7 @@ class LocalFile extends File {
                $files = $this->getThumbnails( $archiveName );
 
                // Purge any custom thumbnail caches
-               wfRunHooks( 'LocalFilePurgeThumbnails', array( $this, $archiveName ) );
+               Hooks::run( 'LocalFilePurgeThumbnails', array( $this, $archiveName ) );
 
                $dir = array_shift( $files );
                $this->purgeThumbList( $dir, $files );
@@ -958,7 +958,7 @@ class LocalFile extends File {
                }
 
                // Purge any custom thumbnail caches
-               wfRunHooks( 'LocalFilePurgeThumbnails', array( $this, false ) );
+               Hooks::run( 'LocalFilePurgeThumbnails', array( $this, false ) );
 
                $dir = array_shift( $files );
                $this->purgeThumbList( $dir, $files );
@@ -1035,7 +1035,7 @@ class LocalFile extends File {
                $opts['ORDER BY'] = "oi_timestamp $order";
                $opts['USE INDEX'] = array( 'oldimage' => 'oi_name_timestamp' );
 
-               wfRunHooks( 'LocalFile::getHistory', array( &$this, &$tables, &$fields,
+               Hooks::run( 'LocalFile::getHistory', array( &$this, &$tables, &$fields,
                        &$conds, &$opts, &$join_conds ) );
 
                $res = $dbr->select( $tables, $fields, $conds, __METHOD__, $opts, $join_conds );
@@ -1423,7 +1423,7 @@ class LocalFile extends File {
                        if ( !is_null( $nullRevision ) ) {
                                $nullRevision->insertOn( $dbw );
 
-                               wfRunHooks( 'NewRevisionFromEditComplete', array( $wikiPage, $nullRevision, $latest, $user ) );
+                               Hooks::run( 'NewRevisionFromEditComplete', array( $wikiPage, $nullRevision, $latest, $user ) );
                                $wikiPage->updateRevisionOn( $dbw, $nullRevision );
                        }
                }
@@ -1484,7 +1484,7 @@ class LocalFile extends File {
 
                # Hooks, hooks, the magic of hooks...
                wfProfileIn( __METHOD__ . '-hooks' );
-               wfRunHooks( 'FileUpload', array( $this, $reupload, $descTitle->exists() ) );
+               Hooks::run( 'FileUpload', array( $this, $reupload, $descTitle->exists() ) );
                wfProfileOut( __METHOD__ . '-hooks' );
 
                # Invalidate cache for all pages using this file
index b0a593d..bb9a903 100644 (file)
@@ -120,7 +120,7 @@ abstract class ImageGalleryBase extends ContextSource {
                                'packed-overlay' => 'PackedOverlayImageGallery',
                        );
                        // Allow extensions to make a new gallery format.
-                       wfRunHooks( 'GalleryGetModes', self::$modeMapping );
+                       Hooks::run( 'GalleryGetModes', self::$modeMapping );
                }
        }
 
index 37f2221..ac61067 100644 (file)
@@ -72,7 +72,7 @@ class TraditionalImageGallery extends ImageGalleryBase {
                                if ( $this->mParser instanceof Parser ) {
                                        # Give extensions a chance to select the file revision for us
                                        $options = array();
-                                       wfRunHooks( 'BeforeParserFetchFileAndTitle',
+                                       Hooks::run( 'BeforeParserFetchFileAndTitle',
                                                array( $this->mParser, $nt, &$options, &$descQuery ) );
                                        # Fetch and register the file (file title may be different via hooks)
                                        list( $img, $nt ) = $this->mParser->fetchFileAndTitle( $nt, $options );
index c34d09e..ea1213c 100644 (file)
@@ -115,7 +115,7 @@ abstract class DatabaseUpdater {
                $this->maintenance->setDB( $db );
                $this->initOldGlobals();
                $this->loadExtensions();
-               wfRunHooks( 'LoadExtensionSchemaUpdates', array( $this ) );
+               Hooks::run( 'LoadExtensionSchemaUpdates', array( $this ) );
        }
 
        /**
index 37a9fcf..02fbb08 100644 (file)
@@ -194,7 +194,7 @@ class Interwiki {
                global $wgMemc, $wgInterwikiExpiry;
 
                $iwData = array();
-               if ( !wfRunHooks( 'InterwikiLoadPrefix', array( $prefix, &$iwData ) ) ) {
+               if ( !Hooks::run( 'InterwikiLoadPrefix', array( $prefix, &$iwData ) ) ) {
                        return Interwiki::loadFromArray( $iwData );
                }
 
index e03cf1c..f7eaec3 100644 (file)
@@ -273,7 +273,7 @@ class LogEventsList extends ContextSource {
                        } else {
                                // Allow extensions to add their own extra inputs
                                $input = '';
-                               wfRunHooks( 'LogEventsListGetExtraInputs', array( $types[0], $this, &$input ) );
+                               Hooks::run( 'LogEventsListGetExtraInputs', array( $types[0], $this, &$input ) );
                                return $input;
                        }
                }
@@ -632,7 +632,7 @@ class LogEventsList extends ContextSource {
                }
 
                /* hook can return false, if we don't want the message to be emitted (Wikia BugId:7093) */
-               if ( wfRunHooks( 'LogEventsListShowLogExtract', array( &$s, $types, $page, $user, $param ) ) ) {
+               if ( Hooks::run( 'LogEventsListShowLogExtract', array( &$s, $types, $page, $user, $param ) ) ) {
                        // $out can be either an OutputPage object or a String-by-reference
                        if ( $out instanceof OutputPage ) {
                                $out->addHTML( $s );
index bbe2f42..464b723 100644 (file)
@@ -812,7 +812,7 @@ class LegacyLogFormatter extends LogFormatter {
 
                $params = $this->entry->getParameters();
 
-               wfRunHooks( 'LogLine', array( $type, $subtype, $title, $params,
+               Hooks::run( 'LogLine', array( $type, $subtype, $title, $params,
                        &$this->comment, &$this->revert, $this->entry->getTimestamp() ) );
 
                return $this->revert;
index 8215403..220c6b1 100644 (file)
@@ -224,7 +224,7 @@ class EmailNotification {
 
                $formattedPageStatus = array( 'deleted', 'created', 'moved', 'restored', 'changed' );
 
-               wfRunHooks( 'UpdateUserMailerFormattedPageStatus', array( &$formattedPageStatus ) );
+               Hooks::run( 'UpdateUserMailerFormattedPageStatus', array( &$formattedPageStatus ) );
                if ( !in_array( $this->pageStatus, $formattedPageStatus ) ) {
                        wfProfileOut( __METHOD__ );
                        throw new MWException( 'Not a valid page status!' );
@@ -251,7 +251,7 @@ class EmailNotification {
                                                && $watchingUser->isEmailConfirmed()
                                                && $watchingUser->getID() != $userTalkId
                                        ) {
-                                               if ( wfRunHooks( 'SendWatchlistEmailNotification', array( $watchingUser, $title, $this ) ) ) {
+                                               if ( Hooks::run( 'SendWatchlistEmailNotification', array( $watchingUser, $title, $this ) ) ) {
                                                        $this->compose( $watchingUser );
                                                }
                                        }
@@ -295,7 +295,7 @@ class EmailNotification {
                        ) {
                                if ( !$targetUser->isEmailConfirmed() ) {
                                        wfDebug( __METHOD__ . ": talk page owner doesn't have validated email\n" );
-                               } elseif ( !wfRunHooks( 'AbortTalkPageEmailNotification', array( $targetUser, $title ) ) ) {
+                               } elseif ( !Hooks::run( 'AbortTalkPageEmailNotification', array( $targetUser, $title ) ) ) {
                                        wfDebug( __METHOD__ . ": talk page update notification is aborted for this user\n" );
                                } else {
                                        wfDebug( __METHOD__ . ": sending talk page update notification\n" );
index b5a57a8..3cabdae 100644 (file)
@@ -191,7 +191,7 @@ class UserMailer {
                $extraParams = $wgAdditionalMailParams;
 
                // Hook to generate custom VERP address for 'Return-Path'
-               wfRunHooks( 'UserMailerChangeReturnPath', array( $to, &$returnPath ) );
+               Hooks::run( 'UserMailerChangeReturnPath', array( $to, &$returnPath ) );
                # Add the envelope sender address using the -f command line option when PHP mail() is used.
                # Will default to the $from->address when the UserMailerChangeReturnPath hook fails and the
                # generated VERP address when the hook runs effectively.
@@ -250,7 +250,7 @@ class UserMailer {
                        $headers['Content-transfer-encoding'] = '8bit';
                }
 
-               $ret = wfRunHooks( 'AlternateUserMailer', array( $headers, $to, $from, $subject, $body ) );
+               $ret = Hooks::run( 'AlternateUserMailer', array( $headers, $to, $from, $subject, $body ) );
                if ( $ret === false ) {
                        // the hook implementation will return false to skip regular mail sending
                        return Status::newGood();
index 07d7618..8cf95dd 100644 (file)
@@ -1614,7 +1614,7 @@ class FormatMetadata extends ContextSource {
                $cachedValue = $wgMemc->get( $cacheKey );
                if (
                        $cachedValue
-                       && wfRunHooks( 'ValidateExtendedMetadataCache', array( $cachedValue['timestamp'], $file ) )
+                       && Hooks::run( 'ValidateExtendedMetadataCache', array( $cachedValue['timestamp'], $file ) )
                ) {
                        $extendedMetadata = $cachedValue['data'];
                } else {
@@ -1717,7 +1717,7 @@ class FormatMetadata extends ContextSource {
        ) {
                wfProfileIn( __METHOD__ );
 
-               wfRunHooks( 'GetExtendedMetadata', array(
+               Hooks::run( 'GetExtendedMetadata', array(
                        &$extendedMetadata,
                        $file,
                        $this->getContext(),
index 64ca011..b88a1b1 100644 (file)
@@ -162,7 +162,7 @@ abstract class MediaHandler {
         */
        static function getMetadataVersion() {
                $version = array( '2' ); // core metadata version
-               wfRunHooks( 'GetMetadataVersion', array( &$version ) );
+               Hooks::run( 'GetMetadataVersion', array( &$version ) );
 
                return implode( ';', $version );
        }
index d9327fb..a22cd1c 100644 (file)
@@ -410,7 +410,7 @@ class ThumbnailImage extends MediaTransformOutput {
                        $attribs['srcset'] = Html::srcSet( $this->responsiveUrls );
                }
 
-               wfRunHooks( 'ThumbnailBeforeProduceHTML', array( $this, &$attribs, &$linkAttribs ) );
+               Hooks::run( 'ThumbnailBeforeProduceHTML', array( $this, &$attribs, &$linkAttribs ) );
 
                return $this->linkWrap( $linkAttribs, Xml::element( 'img', $attribs ) );
        }
index b3ae296..5b9982d 100644 (file)
@@ -64,7 +64,7 @@ abstract class TransformationalImageHandler extends ImageHandler {
                # Check if the file is smaller than the maximum image area for thumbnailing
                # For historical reasons, hook starts with BitmapHandler
                $checkImageAreaHookResult = null;
-               wfRunHooks(
+               Hooks::run(
                        'BitmapHandlerCheckImageArea',
                        array( $image, &$params, &$checkImageAreaHookResult )
                );
@@ -240,7 +240,7 @@ abstract class TransformationalImageHandler extends ImageHandler {
                # Try a hook. Called "Bitmap" for historical reasons.
                /** @var $mto MediaTransformOutput */
                $mto = null;
-               wfRunHooks( 'BitmapHandlerTransform', array( $this, $image, &$scalerParams, &$mto ) );
+               Hooks::run( 'BitmapHandlerTransform', array( $this, $image, &$scalerParams, &$mto ) );
                if ( !is_null( $mto ) ) {
                        wfDebug( __METHOD__ . ": Hook to BitmapHandlerTransform created an mto\n" );
                        $scaler = 'hookaborted';
index cdbd5ab..5b46af1 100644 (file)
@@ -173,7 +173,7 @@ class XMPReader {
 
                $data = $this->results;
 
-               wfRunHooks( 'XMPGetResults', array( &$data ) );
+               Hooks::run( 'XMPGetResults', array( &$data ) );
 
                if ( isset( $data['xmp-special']['AuthorsPosition'] )
                        && is_string( $data['xmp-special']['AuthorsPosition'] )
index 7e47ec1..e0a491c 100644 (file)
@@ -34,7 +34,7 @@ class XMPInfo {
                if ( !self::$ranHooks ) {
                        // This is for if someone makes a custom metadata extension.
                        // For example, a medical wiki might want to decode DICOM xmp properties.
-                       wfRunHooks( 'XMPGetInfo', array( &self::$items ) );
+                       Hooks::run( 'XMPGetInfo', array( &self::$items ) );
                        self::$ranHooks = true; // Only want to do this once.
                }
 
index e3541bd..0318f65 100644 (file)
@@ -120,7 +120,7 @@ class Article implements Page {
                }
 
                $page = null;
-               wfRunHooks( 'ArticleFromTitle', array( &$title, &$page, $context ) );
+               Hooks::run( 'ArticleFromTitle', array( &$title, &$page, $context ) );
                if ( !$page ) {
                        switch ( $title->getNamespace() ) {
                                case NS_FILE:
@@ -428,7 +428,7 @@ class Article implements Page {
                );
                $this->mRevIdFetched = $this->mRevision->getId();
 
-               wfRunHooks( 'ArticleAfterFetchContentObject', array( &$this, &$this->mContentObject ) );
+               Hooks::run( 'ArticleAfterFetchContentObject', array( &$this, &$this->mContentObject ) );
 
                wfProfileOut( __METHOD__ );
 
@@ -602,7 +602,7 @@ class Article implements Page {
                while ( !$outputDone && ++$pass ) {
                        switch ( $pass ) {
                                case 1:
-                                       wfRunHooks( 'ArticleViewHeader', array( &$this, &$outputDone, &$useParserCache ) );
+                                       Hooks::run( 'ArticleViewHeader', array( &$this, &$outputDone, &$useParserCache ) );
                                        break;
                                case 2:
                                        # Early abort if the page doesn't exist
@@ -665,7 +665,7 @@ class Article implements Page {
                                                wfDebug( __METHOD__ . ": showing CSS/JS source\n" );
                                                $this->showCssOrJsPage();
                                                $outputDone = true;
-                                       } elseif ( !wfRunHooks( 'ArticleContentViewCustom',
+                                       } elseif ( !Hooks::run( 'ArticleContentViewCustom',
                                                        array( $this->fetchContentObject(), $this->getTitle(), $outputPage ) ) ) {
 
                                                # Allow extensions do their own custom view for certain pages
@@ -995,7 +995,7 @@ class Article implements Page {
                if ( isset( $this->mRedirectedFrom ) ) {
                        // This is an internally redirected page view.
                        // We'll need a backlink to the source page for navigation.
-                       if ( wfRunHooks( 'ArticleViewRedirect', array( &$this ) ) ) {
+                       if ( Hooks::run( 'ArticleViewRedirect', array( &$this ) ) ) {
                                $redir = Linker::linkKnown(
                                        $this->mRedirectedFrom,
                                        null,
@@ -1073,7 +1073,7 @@ class Article implements Page {
                // Show a footer allowing the user to patrol the shown revision or page if possible
                $patrolFooterShown = $this->showPatrolFooter();
 
-               wfRunHooks( 'ArticleViewFooter', array( $this, $patrolFooterShown ) );
+               Hooks::run( 'ArticleViewFooter', array( $this, $patrolFooterShown ) );
        }
 
        /**
@@ -1244,12 +1244,12 @@ class Article implements Page {
                        }
                }
 
-               wfRunHooks( 'ShowMissingArticle', array( $this ) );
+               Hooks::run( 'ShowMissingArticle', array( $this ) );
 
                // Give extensions a chance to hide their (unrelated) log entries
                $logTypes = array( 'delete', 'move' );
                $conds = array( "log_action != 'revision'" );
-               wfRunHooks( 'Article::MissingArticleConditions', array( &$conds, $logTypes ) );
+               Hooks::run( 'Article::MissingArticleConditions', array( &$conds, $logTypes ) );
 
                # Show delete and move logs
                LogEventsList::showLogExtract( $outputPage, $logTypes, $title, '',
@@ -1270,7 +1270,7 @@ class Article implements Page {
                $outputPage->setIndexPolicy( $policy['index'] );
                $outputPage->setFollowPolicy( $policy['follow'] );
 
-               $hookResult = wfRunHooks( 'BeforeDisplayNoArticleText', array( $this ) );
+               $hookResult = Hooks::run( 'BeforeDisplayNoArticleText', array( $this ) );
 
                if ( !$hookResult ) {
                        return;
@@ -1346,7 +1346,7 @@ class Article implements Page {
         * @param int $oldid Revision ID of this article revision
         */
        public function setOldSubtitle( $oldid = 0 ) {
-               if ( !wfRunHooks( 'DisplayOldSubtitle', array( &$this, &$oldid ) ) ) {
+               if ( !Hooks::run( 'DisplayOldSubtitle', array( &$this, &$oldid ) ) ) {
                        return;
                }
 
@@ -1697,7 +1697,7 @@ class Article implements Page {
                }
                $outputPage->addWikiMsg( 'confirmdeletetext' );
 
-               wfRunHooks( 'ArticleConfirmDelete', array( $this, $outputPage, &$reason ) );
+               Hooks::run( 'ArticleConfirmDelete', array( $this, $outputPage, &$reason ) );
 
                $user = $this->getContext()->getUser();
 
@@ -1808,7 +1808,7 @@ class Article implements Page {
 
                        $outputPage->addWikiMsg( 'deletedtext', wfEscapeWikiText( $deleted ), $loglink );
 
-                       wfRunHooks( 'ArticleDeleteAfterSuccess', array( $this->getTitle(), $outputPage ) );
+                       Hooks::run( 'ArticleDeleteAfterSuccess', array( $this->getTitle(), $outputPage ) );
 
                        $outputPage->returnToMain( false );
                } else {
@@ -1882,7 +1882,7 @@ class Article implements Page {
                                && !$this->mRedirectedFrom && !$this->getTitle()->isRedirect();
                        // Extension may have reason to disable file caching on some pages.
                        if ( $cacheable ) {
-                               $cacheable = wfRunHooks( 'IsFileCacheable', array( &$this ) );
+                               $cacheable = Hooks::run( 'IsFileCacheable', array( &$this ) );
                        }
                }
 
index 9abc6a8..03a5b89 100644 (file)
@@ -61,7 +61,7 @@ class CategoryPage extends Article {
                        return;
                }
 
-               if ( !wfRunHooks( 'CategoryPageView', array( &$this ) ) ) {
+               if ( !Hooks::run( 'CategoryPageView', array( &$this ) ) ) {
                        return;
                }
 
index 348eff1..b9f99c8 100644 (file)
@@ -76,7 +76,7 @@ class ImagePage extends Article {
                $this->fileLoaded = true;
 
                $this->displayImg = $img = false;
-               wfRunHooks( 'ImagePageFindFile', array( $this, &$img, &$this->displayImg ) );
+               Hooks::run( 'ImagePageFindFile', array( $this, &$img, &$this->displayImg ) );
                if ( !$img ) { // not set by hook?
                        $img = wfFindFile( $this->getTitle() );
                        if ( !$img ) {
@@ -196,7 +196,7 @@ class ImagePage extends Article {
 
                # Allow extensions to add something after the image links
                $html = '';
-               wfRunHooks( 'ImagePageAfterImageLinks', array( $this, &$html ) );
+               Hooks::run( 'ImagePageAfterImageLinks', array( $this, &$html ) );
                if ( $html ) {
                        $out->addHTML( $html );
                }
@@ -245,7 +245,7 @@ class ImagePage extends Article {
                        $r[] = '<li><a href="#metadata">' . wfMessage( 'metadata' )->escaped() . '</a></li>';
                }
 
-               wfRunHooks( 'ImagePageShowTOC', array( $this, &$r ) );
+               Hooks::run( 'ImagePageShowTOC', array( $this, &$r ) );
 
                return '<ul id="filetoc">' . implode( "\n", $r ) . '</ul>';
        }
@@ -336,7 +336,7 @@ class ImagePage extends Article {
                        $filename = wfEscapeWikiText( $this->displayImg->getName() );
                        $linktext = $filename;
 
-                       wfRunHooks( 'ImageOpenShowImageInlineBefore', array( &$this, &$out ) );
+                       Hooks::run( 'ImageOpenShowImageInlineBefore', array( &$this, &$out ) );
 
                        if ( $this->displayImg->allowInlineDisplay() ) {
                                # image
@@ -1384,7 +1384,7 @@ class ImageHistoryList extends ContextSource {
                }
 
                $rowClass = null;
-               wfRunHooks( 'ImagePageFileHistoryLine', array( $this, $file, &$row, &$rowClass ) );
+               Hooks::run( 'ImagePageFileHistoryLine', array( $this, $file, &$row, &$rowClass ) );
                $classAttr = $rowClass ? " class='$rowClass'" : '';
 
                return "<tr{$classAttr}>{$row}</tr>\n";
index 75df27c..b9f7eda 100644 (file)
@@ -308,11 +308,11 @@ class WikiPage implements Page, IDBAccessObject {
        protected function pageData( $dbr, $conditions, $options = array() ) {
                $fields = self::selectFields();
 
-               wfRunHooks( 'ArticlePageDataBefore', array( &$this, &$fields ) );
+               Hooks::run( 'ArticlePageDataBefore', array( &$this, &$fields ) );
 
                $row = $dbr->selectRow( 'page', $fields, $conditions, __METHOD__, $options );
 
-               wfRunHooks( 'ArticlePageDataAfter', array( &$this, &$row ) );
+               Hooks::run( 'ArticlePageDataAfter', array( &$this, &$row ) );
 
                return $row;
        }
@@ -1178,7 +1178,7 @@ class WikiPage implements Page, IDBAccessObject {
        public function doPurge() {
                global $wgUseSquid;
 
-               if ( !wfRunHooks( 'ArticlePurge', array( &$this ) ) ) {
+               if ( !Hooks::run( 'ArticlePurge', array( &$this ) ) ) {
                        return false;
                }
 
@@ -1749,7 +1749,7 @@ class WikiPage implements Page, IDBAccessObject {
                $hook_args = array( &$this, &$user, &$content, &$summary,
                                                        $flags & EDIT_MINOR, null, null, &$flags, &$status );
 
-               if ( !wfRunHooks( 'PageContentSave', $hook_args )
+               if ( !Hooks::run( 'PageContentSave', $hook_args )
                        || !ContentHandler::runLegacyHooks( 'ArticleSave', $hook_args ) ) {
 
                        wfDebug( __METHOD__ . ": ArticleSave or ArticleSaveContent hook aborted save!\n" );
@@ -1860,7 +1860,7 @@ class WikiPage implements Page, IDBAccessObject {
                                                return $status;
                                        }
 
-                                       wfRunHooks( 'NewRevisionFromEditComplete', array( $this, $revision, $baseRevId, $user ) );
+                                       Hooks::run( 'NewRevisionFromEditComplete', array( $this, $revision, $baseRevId, $user ) );
                                        // Update recentchanges
                                        if ( !( $flags & EDIT_SUPPRESS_RC ) ) {
                                                // Mark as patrolled if the user can do so
@@ -1965,7 +1965,7 @@ class WikiPage implements Page, IDBAccessObject {
                                // Update the page record with revision data
                                $this->updateRevisionOn( $dbw, $revision, 0 );
 
-                               wfRunHooks( 'NewRevisionFromEditComplete', array( $this, $revision, false, $user ) );
+                               Hooks::run( 'NewRevisionFromEditComplete', array( $this, $revision, false, $user ) );
 
                                // Update recentchanges
                                if ( !( $flags & EDIT_SUPPRESS_RC ) ) {
@@ -1996,7 +1996,7 @@ class WikiPage implements Page, IDBAccessObject {
                                                                $flags & EDIT_MINOR, null, null, &$flags, $revision );
 
                        ContentHandler::runLegacyHooks( 'ArticleInsertComplete', $hook_args );
-                       wfRunHooks( 'PageContentInsertComplete', $hook_args );
+                       Hooks::run( 'PageContentInsertComplete', $hook_args );
                }
 
                // Do updates right now unless deferral was requested
@@ -2011,7 +2011,7 @@ class WikiPage implements Page, IDBAccessObject {
                                                        $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $baseRevId );
 
                ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
-               wfRunHooks( 'PageContentSaveComplete', $hook_args );
+               Hooks::run( 'PageContentSaveComplete', $hook_args );
 
                // Promote user to any groups they meet the criteria for
                $dbw->onTransactionIdle( function () use ( $user ) {
@@ -2105,7 +2105,7 @@ class WikiPage implements Page, IDBAccessObject {
                        : false;
 
                $popts = ParserOptions::newFromUserAndLang( $user, $wgContLang );
-               wfRunHooks( 'ArticlePrepareTextForEdit', array( $this, $popts ) );
+               Hooks::run( 'ArticlePrepareTextForEdit', array( $this, $popts ) );
 
                $edit = (object)array();
                if ( $cachedEdit ) {
@@ -2203,9 +2203,9 @@ class WikiPage implements Page, IDBAccessObject {
                        DataUpdate::runUpdates( $updates );
                }
 
-               wfRunHooks( 'ArticleEditUpdates', array( &$this, &$editInfo, $options['changed'] ) );
+               Hooks::run( 'ArticleEditUpdates', array( &$this, &$editInfo, $options['changed'] ) );
 
-               if ( wfRunHooks( 'ArticleEditUpdatesDeleteFromRecentchanges', array( &$this ) ) ) {
+               if ( Hooks::run( 'ArticleEditUpdatesDeleteFromRecentchanges', array( &$this ) ) ) {
                        if ( 0 == mt_rand( 0, 99 ) ) {
                                // Flush old entries from the `recentchanges` table; we do this on
                                // random requests so as to avoid an increase in writes for no good reason
@@ -2250,7 +2250,7 @@ class WikiPage implements Page, IDBAccessObject {
                                wfDebug( __METHOD__ . ": invalid username\n" );
                        } else {
                                // Allow extensions to prevent user notification when a new message is added to their talk page
-                               if ( wfRunHooks( 'ArticleEditUpdateNewTalk', array( &$this, $recipient ) ) ) {
+                               if ( Hooks::run( 'ArticleEditUpdateNewTalk', array( &$this, $recipient ) ) ) {
                                        if ( User::isIP( $shortTitle ) ) {
                                                // An anonymous user
                                                $recipient->setNewtalk( true, $revision );
@@ -2333,7 +2333,7 @@ class WikiPage implements Page, IDBAccessObject {
                $revision->insertOn( $dbw );
                $this->updateRevisionOn( $dbw, $revision );
 
-               wfRunHooks( 'NewRevisionFromEditComplete', array( $this, $revision, false, $user ) );
+               Hooks::run( 'NewRevisionFromEditComplete', array( $this, $revision, false, $user ) );
 
                wfProfileOut( __METHOD__ );
        }
@@ -2432,7 +2432,7 @@ class WikiPage implements Page, IDBAccessObject {
                $logRelationsField = null;
 
                if ( $id ) { // Protection of existing page
-                       if ( !wfRunHooks( 'ArticleProtect', array( &$this, &$user, $limit, $reason ) ) ) {
+                       if ( !Hooks::run( 'ArticleProtect', array( &$this, &$user, $limit, $reason ) ) ) {
                                return Status::newGood();
                        }
 
@@ -2512,8 +2512,8 @@ class WikiPage implements Page, IDBAccessObject {
                                __METHOD__
                        );
 
-                       wfRunHooks( 'NewRevisionFromEditComplete', array( $this, $nullRevision, $latest, $user ) );
-                       wfRunHooks( 'ArticleProtectComplete', array( &$this, &$user, $limit, $reason ) );
+                       Hooks::run( 'NewRevisionFromEditComplete', array( $this, $nullRevision, $latest, $user ) );
+                       Hooks::run( 'ArticleProtectComplete', array( &$this, &$user, $limit, $reason ) );
                } else { // Protection of non-existing page (also known as "title protection")
                        // Cascade protection is meaningless in this case
                        $cascade = false;
@@ -2775,7 +2775,7 @@ class WikiPage implements Page, IDBAccessObject {
                }
 
                $user = is_null( $user ) ? $wgUser : $user;
-               if ( !wfRunHooks( 'ArticleDelete', array( &$this, &$user, &$reason, &$error, &$status ) ) ) {
+               if ( !Hooks::run( 'ArticleDelete', array( &$this, &$user, &$reason, &$error, &$status ) ) ) {
                        if ( $status->isOK() ) {
                                // Hook aborted but didn't set a fatal status
                                $status->fatal( 'delete-hook-aborted' );
@@ -2891,7 +2891,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                $this->doDeleteUpdates( $id, $content );
 
-               wfRunHooks( 'ArticleDeleteComplete', array( &$this, &$user, $reason, $id, $content, $logEntry ) );
+               Hooks::run( 'ArticleDeleteComplete', array( &$this, &$user, $reason, $id, $content, $logEntry ) );
                $status->value = $logid;
                return $status;
        }
@@ -3133,7 +3133,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                $revId = $status->value['revision']->getId();
 
-               wfRunHooks( 'ArticleRollbackComplete', array( $this, $guser, $target, $current ) );
+               Hooks::run( 'ArticleRollbackComplete', array( $this, $guser, $target, $current ) );
 
                $resultDetails = array(
                        'summary' => $summary,
@@ -3385,12 +3385,12 @@ class WikiPage implements Page, IDBAccessObject {
 
                                foreach ( $added as $catName ) {
                                        $cat = Category::newFromName( $catName );
-                                       wfRunHooks( 'CategoryAfterPageAdded', array( $cat, $that ) );
+                                       Hooks::run( 'CategoryAfterPageAdded', array( $cat, $that ) );
                                }
 
                                foreach ( $deleted as $catName ) {
                                        $cat = Category::newFromName( $catName );
-                                       wfRunHooks( 'CategoryAfterPageRemoved', array( $cat, $that ) );
+                                       Hooks::run( 'CategoryAfterPageRemoved', array( $cat, $that ) );
                                }
                        }
                );
@@ -3543,7 +3543,7 @@ class WikiPage implements Page, IDBAccessObject {
                        $updates = $content->getDeletionUpdates( $this );
                }
 
-               wfRunHooks( 'WikiPageDeletionUpdates', array( $this, $content, &$updates ) );
+               Hooks::run( 'WikiPageDeletionUpdates', array( $this, $content, &$updates ) );
                return $updates;
        }
 }
index 6c15993..0121072 100644 (file)
@@ -378,7 +378,7 @@ class LinkHolderArray {
                }
                if ( count( $linkcolour_ids ) ) {
                        //pass an array of page_ids to an extension
-                       wfRunHooks( 'GetLinkColours', array( $linkcolour_ids, &$colours ) );
+                       Hooks::run( 'GetLinkColours', array( $linkcolour_ids, &$colours ) );
                }
                wfProfileOut( __METHOD__ . '-check' );
 
@@ -615,7 +615,7 @@ class LinkHolderArray {
                                        }
                                }
                        }
-                       wfRunHooks( 'GetLinkColours', array( $linkcolour_ids, &$colours ) );
+                       Hooks::run( 'GetLinkColours', array( $linkcolour_ids, &$colours ) );
 
                        // rebuild the categories in original order (if there are replacements)
                        if ( count( $varCategories ) > 0 ) {
index 7ea57be..91d8a81 100644 (file)
@@ -283,7 +283,7 @@ class Parser {
                        unset( $tmp );
                }
 
-               wfRunHooks( 'ParserCloned', array( $this ) );
+               Hooks::run( 'ParserCloned', array( $this ) );
        }
 
        /**
@@ -301,7 +301,7 @@ class Parser {
                CoreTagHooks::register( $this );
                $this->initialiseVariables();
 
-               wfRunHooks( 'ParserFirstCallInit', array( &$this ) );
+               Hooks::run( 'ParserFirstCallInit', array( &$this ) );
                wfProfileOut( __METHOD__ );
        }
 
@@ -369,7 +369,7 @@ class Parser {
 
                $this->mProfiler = new SectionProfiler();
 
-               wfRunHooks( 'ParserClearState', array( &$this ) );
+               Hooks::run( 'ParserClearState', array( &$this ) );
                wfProfileOut( __METHOD__ );
        }
 
@@ -428,11 +428,11 @@ class Parser {
                        $this->mRevisionSize = null;
                }
 
-               wfRunHooks( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
                # No more strip!
-               wfRunHooks( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
                $text = $this->internalParse( $text );
-               wfRunHooks( 'ParserAfterParse', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserAfterParse', array( &$this, &$text, &$this->mStripState ) );
 
                $text = $this->internalParseHalfParsed( $text, true, $linestart );
 
@@ -498,14 +498,14 @@ class Parser {
                        $this->mOutput->setLimitReportData( 'limitreport-expensivefunctioncount',
                                array( $this->mExpensiveFunctionCount, $this->mOptions->getExpensiveParserFunctionLimit() )
                        );
-                       wfRunHooks( 'ParserLimitReportPrepare', array( $this, $this->mOutput ) );
+                       Hooks::run( 'ParserLimitReportPrepare', array( $this, $this->mOutput ) );
 
                        $limitReport = "NewPP limit report\n";
                        if ( $wgShowHostnames ) {
                                $limitReport .= 'Parsed by ' . wfHostname() . "\n";
                        }
                        foreach ( $this->mOutput->getLimitReportData() as $key => $value ) {
-                               if ( wfRunHooks( 'ParserLimitReportFormat',
+                               if ( Hooks::run( 'ParserLimitReportFormat',
                                        array( $key, &$value, &$limitReport, false, false )
                                ) ) {
                                        $keyMsg = wfMessage( $key )->inLanguage( 'en' )->useDatabase( false );
@@ -523,7 +523,7 @@ class Parser {
                        // Since we're not really outputting HTML, decode the entities and
                        // then re-encode the things that need hiding inside HTML comments.
                        $limitReport = htmlspecialchars_decode( $limitReport );
-                       wfRunHooks( 'ParserLimitReport', array( $this, &$limitReport ) );
+                       Hooks::run( 'ParserLimitReport', array( $this, &$limitReport ) );
 
                        // Sanitize for comment. Note '‐' in the replacement is U+2010,
                        // which looks much like the problematic '-'.
@@ -587,8 +587,8 @@ class Parser {
         */
        public function recursiveTagParse( $text, $frame = false ) {
                wfProfileIn( __METHOD__ );
-               wfRunHooks( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
-               wfRunHooks( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
                $text = $this->internalParse( $text, false, $frame );
                wfProfileOut( __METHOD__ );
                return $text;
@@ -637,8 +637,8 @@ class Parser {
                if ( $revid !== null ) {
                        $this->mRevisionId = $revid;
                }
-               wfRunHooks( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
-               wfRunHooks( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserBeforeStrip', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'ParserAfterStrip', array( &$this, &$text, &$this->mStripState ) );
                $text = $this->replaceVariables( $text, $frame );
                $text = $this->mStripState->unstripBoth( $text );
                wfProfileOut( __METHOD__ );
@@ -1223,7 +1223,7 @@ class Parser {
                $origText = $text;
 
                # Hook to suspend the parser in this state
-               if ( !wfRunHooks( 'ParserBeforeInternalParse', array( &$this, &$text, &$this->mStripState ) ) ) {
+               if ( !Hooks::run( 'ParserBeforeInternalParse', array( &$this, &$text, &$this->mStripState ) ) ) {
                        wfProfileOut( __METHOD__ );
                        return $text;
                }
@@ -1244,14 +1244,14 @@ class Parser {
                        $text = $this->replaceVariables( $text );
                }
 
-               wfRunHooks( 'InternalParseBeforeSanitize', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'InternalParseBeforeSanitize', array( &$this, &$text, &$this->mStripState ) );
                $text = Sanitizer::removeHTMLtags(
                        $text,
                        array( &$this, 'attributeStripCallback' ),
                        false,
                        array_keys( $this->mTransparentTagHooks )
                );
-               wfRunHooks( 'InternalParseBeforeLinks', array( &$this, &$text, &$this->mStripState ) );
+               Hooks::run( 'InternalParseBeforeLinks', array( &$this, &$text, &$this->mStripState ) );
 
                # Tables need to come after variable replacement for things to work
                # properly; putting them before other transformations should keep
@@ -1329,7 +1329,7 @@ class Parser {
                $text = $this->mStripState->unstripNoWiki( $text );
 
                if ( $isMain ) {
-                       wfRunHooks( 'ParserBeforeTidy', array( &$this, &$text ) );
+                       Hooks::run( 'ParserBeforeTidy', array( &$this, &$text ) );
                }
 
                $text = $this->replaceTransparentTags( $text );
@@ -1368,7 +1368,7 @@ class Parser {
                }
 
                if ( $isMain ) {
-                       wfRunHooks( 'ParserAfterTidy', array( &$this, &$text ) );
+                       Hooks::run( 'ParserAfterTidy', array( &$this, &$text ) );
                }
 
                return $text;
@@ -2318,7 +2318,7 @@ class Parser {
                                # Give extensions a chance to select the file revision for us
                                $options = array();
                                $descQuery = false;
-                               wfRunHooks( 'BeforeParserFetchFileAndTitle',
+                               Hooks::run( 'BeforeParserFetchFileAndTitle',
                                        array( $this, $nt, &$options, &$descQuery ) );
                                # Fetch and register the file (file title may be different via hooks)
                                list( $file, $nt ) = $this->fetchFileAndTitle( $nt, $options );
@@ -2945,14 +2945,14 @@ class Parser {
                 * Some of these require message or data lookups and can be
                 * expensive to check many times.
                 */
-               if ( wfRunHooks( 'ParserGetVariableValueVarCache', array( &$this, &$this->mVarCache ) ) ) {
+               if ( Hooks::run( 'ParserGetVariableValueVarCache', array( &$this, &$this->mVarCache ) ) ) {
                        if ( isset( $this->mVarCache[$index] ) ) {
                                return $this->mVarCache[$index];
                        }
                }
 
                $ts = wfTimestamp( TS_UNIX, $this->mOptions->getTimestamp() );
-               wfRunHooks( 'ParserGetVariableValueTs', array( &$this, &$ts ) );
+               Hooks::run( 'ParserGetVariableValueTs', array( &$this, &$ts ) );
 
                $pageLang = $this->getFunctionLang();
 
@@ -3260,7 +3260,7 @@ class Parser {
                                break;
                        default:
                                $ret = null;
-                               wfRunHooks(
+                               Hooks::run(
                                        'ParserGetVariableValueSwitch',
                                        array( &$this, &$this->mVarCache, &$index, &$ret, &$frame )
                                );
@@ -4011,7 +4011,7 @@ class Parser {
                for ( $i = 0; $i < 2 && is_object( $title ); $i++ ) {
                        # Give extensions a chance to select the revision instead
                        $id = false; # Assume current
-                       wfRunHooks( 'BeforeParserFetchTemplateAndtitle',
+                       Hooks::run( 'BeforeParserFetchTemplateAndtitle',
                                array( $parser, $title, &$skip, &$id ) );
 
                        if ( $skip ) {
@@ -4820,7 +4820,7 @@ class Parser {
                         * &$sectionContent : ref to the content of the section
                         * $showEditLinks : boolean describing whether this section has an edit link
                         */
-                       wfRunHooks( 'ParserSectionCreate', array( $this, $i, &$sections[$i], $showEditLink ) );
+                       Hooks::run( 'ParserSectionCreate', array( $this, $i, &$sections[$i], $showEditLink ) );
 
                        $i++;
                }
@@ -5403,7 +5403,7 @@ class Parser {
                }
                $ig->setAdditionalOptions( $params );
 
-               wfRunHooks( 'BeforeParserrenderImageGallery', array( &$this, &$ig ) );
+               Hooks::run( 'BeforeParserrenderImageGallery', array( &$this, &$ig ) );
 
                $lines = StringUtils::explode( "\n", $text );
                foreach ( $lines as $line ) {
@@ -5430,7 +5430,7 @@ class Parser {
                        # file (which potentially could be of a different type and have different handler).
                        $options = array();
                        $descQuery = false;
-                       wfRunHooks( 'BeforeParserFetchFileAndTitle',
+                       Hooks::run( 'BeforeParserFetchFileAndTitle',
                                array( $this, $title, &$options, &$descQuery ) );
                        # Don't register it now, as ImageGallery does that later.
                        $file = $this->fetchFileNoRegister( $title, $options );
@@ -5511,7 +5511,7 @@ class Parser {
                        $ig->add( $title, $label, $alt, $link, $handlerOptions );
                }
                $html = $ig->toHTML();
-               wfRunHooks( 'AfterParserFetchFileAndTitle', array( $this, $ig, &$html ) );
+               Hooks::run( 'AfterParserFetchFileAndTitle', array( $this, $ig, &$html ) );
                wfProfileOut( __METHOD__ );
                return $html;
        }
@@ -5600,7 +5600,7 @@ class Parser {
                # Give extensions a chance to select the file revision for us
                $options = array();
                $descQuery = false;
-               wfRunHooks( 'BeforeParserFetchFileAndTitle',
+               Hooks::run( 'BeforeParserFetchFileAndTitle',
                        array( $this, $title, &$options, &$descQuery ) );
                # Fetch and register the file (file title may be different via hooks)
                list( $file, $title ) = $this->fetchFileAndTitle( $title, $options );
@@ -5764,7 +5764,7 @@ class Parser {
                        $params['frame']['title'] = $this->stripAltText( $caption, $holders );
                }
 
-               wfRunHooks( 'ParserMakeImageParams', array( $title, $file, &$params, $this ) );
+               Hooks::run( 'ParserMakeImageParams', array( $title, $file, &$params, $this ) );
 
                # Linker does the rest
                $time = isset( $options['time'] ) ? $options['time'] : false;
index a61dbf0..7ad85a9 100644 (file)
@@ -811,7 +811,7 @@ class ParserOptions {
 
                // Give a chance for extensions to modify the hash, if they have
                // extra options or other effects on the parser cache.
-               wfRunHooks( 'PageRenderingHash', array( &$confstr, $this->getUser(), &$forOptions ) );
+               Hooks::run( 'PageRenderingHash', array( &$confstr, $this->getUser(), &$forOptions ) );
 
                // Make it a valid memcached key fragment
                $confstr = str_replace( ' ', '_', $confstr );
index 02a8d7e..30be343 100644 (file)
@@ -56,7 +56,7 @@ class IRCColourfulRCFeedFormatter implements RCFeedFormatter {
                                $query .= '&rcid=' . $attribs['rc_id'];
                        }
                        // HACK: We need this hook for WMF's secure server setup
-                       wfRunHooks( 'IRCLineURL', array( &$url, &$query, $rc ) );
+                       Hooks::run( 'IRCLineURL', array( &$url, &$query, $rc ) );
                        $url .= $query;
                }
 
index 14a6f30..933397c 100644 (file)
@@ -247,7 +247,7 @@ class ResourceLoader {
                // Register core modules
                $this->register( include "$IP/resources/Resources.php" );
                // Register extension modules
-               wfRunHooks( 'ResourceLoaderRegisterModules', array( &$this ) );
+               Hooks::run( 'ResourceLoaderRegisterModules', array( &$this ) );
                $this->register( $config->get( 'ResourceModules' ) );
 
                if ( $config->get( 'EnableJavaScriptTest' ) === true ) {
@@ -377,7 +377,7 @@ class ResourceLoader {
                $testModules = array();
                $testModules['qunit'] = array();
                // Get other test suites (e.g. from extensions)
-               wfRunHooks( 'ResourceLoaderTestModules', array( &$testModules, &$this ) );
+               Hooks::run( 'ResourceLoaderTestModules', array( &$testModules, &$this ) );
 
                // Add the testrunner (which configures QUnit) to the dependencies.
                // Since it must be ready before any of the test suites are executed.
index 2eccf81..a0764de 100644 (file)
@@ -106,7 +106,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        'wgResourceLoaderStorageEnabled' => $conf->get( 'ResourceLoaderStorageEnabled' ),
                );
 
-               wfRunHooks( 'ResourceLoaderGetConfigVars', array( &$vars ) );
+               Hooks::run( 'ResourceLoaderGetConfigVars', array( &$vars ) );
 
                $this->configVars[$hash] = $vars;
                return $this->configVars[$hash];
index 733fa97..7315538 100644 (file)
@@ -137,7 +137,7 @@ class RevDelRevisionList extends RevDelList {
        public function doPostCommitUpdates() {
                $this->title->purgeSquid();
                // Extensions that require referencing previous revisions may need this
-               wfRunHooks( 'ArticleRevisionVisibilitySet', array( &$this->title ) );
+               Hooks::run( 'ArticleRevisionVisibilitySet', array( &$this->title ) );
                return Status::newGood();
        }
 }
index c6cbfbe..cd6cf7d 100644 (file)
@@ -137,7 +137,7 @@ class SearchEngine {
        public static function getNearMatch( $searchterm ) {
                $title = self::getNearMatchInternal( $searchterm );
 
-               wfRunHooks( 'SearchGetNearMatchComplete', array( $searchterm, &$title ) );
+               Hooks::run( 'SearchGetNearMatchComplete', array( $searchterm, &$title ) );
                return $title;
        }
 
@@ -170,7 +170,7 @@ class SearchEngine {
                }
 
                $titleResult = null;
-               if ( !wfRunHooks( 'SearchGetNearMatchBefore', array( $allSearchTerms, &$titleResult ) ) ) {
+               if ( !Hooks::run( 'SearchGetNearMatchBefore', array( $allSearchTerms, &$titleResult ) ) ) {
                        return $titleResult;
                }
 
@@ -197,7 +197,7 @@ class SearchEngine {
                                return $title;
                        }
 
-                       if ( !wfRunHooks( 'SearchAfterNoDirectMatch', array( $term, &$title ) ) ) {
+                       if ( !Hooks::run( 'SearchAfterNoDirectMatch', array( $term, &$title ) ) ) {
                                return $title;
                        }
 
@@ -227,7 +227,7 @@ class SearchEngine {
 
                        // Give hooks a chance at better match variants
                        $title = null;
-                       if ( !wfRunHooks( 'SearchGetNearMatch', array( $term, &$title ) ) ) {
+                       if ( !Hooks::run( 'SearchGetNearMatch', array( $term, &$title ) ) ) {
                                return $title;
                        }
                }
@@ -356,7 +356,7 @@ class SearchEngine {
                        }
                }
 
-               wfRunHooks( 'SearchableNamespaces', array( &$arr ) );
+               Hooks::run( 'SearchableNamespaces', array( &$arr ) );
                return $arr;
        }
 
index 2cdf9f4..d384ae9 100644 (file)
@@ -71,7 +71,7 @@ class SearchResult {
                $this->mTitle = $title;
                if ( !is_null( $this->mTitle ) ) {
                        $id = false;
-                       wfRunHooks( 'SearchResultInitFromTitle', array( $title, &$id ) );
+                       Hooks::run( 'SearchResultInitFromTitle', array( $title, &$id ) );
                        $this->mRevision = Revision::newFromTitle(
                                $this->mTitle, $id, Revision::READ_NORMAL );
                        if ( $this->mTitle->getNamespace() === NS_FILE ) {
index 7217000..3cdfca0 100644 (file)
@@ -112,7 +112,7 @@ abstract class BaseTemplate extends QuickTemplate {
                        $toolbox['info']['id'] = 't-info';
                }
 
-               wfRunHooks( 'BaseTemplateToolbox', array( &$this, &$toolbox ) );
+               Hooks::run( 'BaseTemplateToolbox', array( &$this, &$toolbox ) );
                wfProfileOut( __METHOD__ );
                return $toolbox;
        }
@@ -228,7 +228,7 @@ abstract class BaseTemplate extends QuickTemplate {
                        ob_start();
                        // We pass an extra 'true' at the end so extensions using BaseTemplateToolbox
                        // can abort and avoid outputting double toolbox links
-                       wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this, true ) );
+                       Hooks::run( 'SkinTemplateToolboxEnd', array( &$this, true ) );
                        $hookContents = ob_get_contents();
                        ob_end_clean();
                        if ( !trim( $hookContents ) ) {
@@ -285,7 +285,7 @@ abstract class BaseTemplate extends QuickTemplate {
         */
        protected function renderAfterPortlet( $name ) {
                $content = '';
-               wfRunHooks( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) );
+               Hooks::run( 'BaseTemplateAfterPortlet', array( $this, $name, &$content ) );
 
                if ( $content !== '' ) {
                        echo "<div class='after-portlet after-portlet-$name'>$content</div>";
index 5604bc2..ce0c640 100644 (file)
@@ -259,7 +259,7 @@ abstract class Skin extends ContextSource {
                        $titles[] = $title->getTalkPage();
                }
 
-               wfRunHooks( 'SkinPreloadExistence', array( &$titles, $this ) );
+               Hooks::run( 'SkinPreloadExistence', array( &$titles, $this ) );
 
                if ( count( $titles ) ) {
                        $lb = new LinkBatch( $titles );
@@ -587,7 +587,7 @@ abstract class Skin extends ContextSource {
        protected function afterContentHook() {
                $data = '';
 
-               if ( wfRunHooks( 'SkinAfterContent', array( &$data, $this ) ) ) {
+               if ( Hooks::run( 'SkinAfterContent', array( &$data, $this ) ) ) {
                        // adding just some spaces shouldn't toggle the output
                        // of the whole <div/>, so we use trim() here
                        if ( trim( $data ) != '' ) {
@@ -624,7 +624,7 @@ abstract class Skin extends ContextSource {
                // OutputPage::getBottomScripts() which takes a Skin param. This should be cleaned
                // up at some point
                $bottomScriptText = $this->getOutput()->getBottomScripts();
-               wfRunHooks( 'SkinAfterBottomScripts', array( $this, &$bottomScriptText ) );
+               Hooks::run( 'SkinAfterBottomScripts', array( $this, &$bottomScriptText ) );
 
                return $bottomScriptText;
        }
@@ -684,7 +684,7 @@ abstract class Skin extends ContextSource {
                $out = $this->getOutput();
                $subpages = '';
 
-               if ( !wfRunHooks( 'SkinSubPageSubtitle', array( &$subpages, $this, $out ) ) ) {
+               if ( !Hooks::run( 'SkinSubPageSubtitle', array( &$subpages, $this, $out ) ) ) {
                        return $subpages;
                }
 
@@ -793,7 +793,7 @@ abstract class Skin extends ContextSource {
                // @todo Remove deprecated $forContent param from hook handlers and then remove here.
                $forContent = true;
 
-               wfRunHooks(
+               Hooks::run(
                        'SkinCopyrightFooter',
                        array( $this->getTitle(), $type, &$msg, &$link, &$forContent )
                );
@@ -840,7 +840,7 @@ abstract class Skin extends ContextSource {
                $url = htmlspecialchars( "$wgResourceBasePath/resources/assets/poweredby_mediawiki_88x31.png" );
                $text = '<a href="//www.mediawiki.org/"><img src="' . $url
                        . '" height="31" width="88" alt="Powered by MediaWiki" /></a>';
-               wfRunHooks( 'SkinGetPoweredBy', array( &$text, $this ) );
+               Hooks::run( 'SkinGetPoweredBy', array( &$text, $this ) );
                return $text;
        }
 
@@ -1224,7 +1224,7 @@ abstract class Skin extends ContextSource {
                if ( $wgEnableSidebarCache ) {
                        $cachedsidebar = $wgMemc->get( $key );
                        if ( $cachedsidebar ) {
-                               wfRunHooks( 'SidebarBeforeOutput', array( $this, &$cachedsidebar ) );
+                               Hooks::run( 'SidebarBeforeOutput', array( $this, &$cachedsidebar ) );
 
                                wfProfileOut( __METHOD__ );
                                return $cachedsidebar;
@@ -1234,12 +1234,12 @@ abstract class Skin extends ContextSource {
                $bar = array();
                $this->addToSidebar( $bar, 'sidebar' );
 
-               wfRunHooks( 'SkinBuildSidebar', array( $this, &$bar ) );
+               Hooks::run( 'SkinBuildSidebar', array( $this, &$bar ) );
                if ( $wgEnableSidebarCache ) {
                        $wgMemc->set( $key, $bar, $wgSidebarCacheExpiry );
                }
 
-               wfRunHooks( 'SidebarBeforeOutput', array( $this, &$bar ) );
+               Hooks::run( 'SidebarBeforeOutput', array( $this, &$bar ) );
 
                wfProfileOut( __METHOD__ );
                return $bar;
@@ -1379,7 +1379,7 @@ abstract class Skin extends ContextSource {
                $out = $this->getOutput();
 
                // Allow extensions to disable or modify the new messages alert
-               if ( !wfRunHooks( 'GetNewMessagesAlert', array( &$newMessagesAlert, $newtalks, $user, $out ) ) ) {
+               if ( !Hooks::run( 'GetNewMessagesAlert', array( &$newMessagesAlert, $newtalks, $user, $out ) ) ) {
                        return '';
                }
                if ( $newMessagesAlert ) {
@@ -1542,7 +1542,7 @@ abstract class Skin extends ContextSource {
                wfProfileIn( __METHOD__ );
                $siteNotice = '';
 
-               if ( wfRunHooks( 'SiteNoticeBefore', array( &$siteNotice, $this ) ) ) {
+               if ( Hooks::run( 'SiteNoticeBefore', array( &$siteNotice, $this ) ) ) {
                        if ( is_object( $this->getUser() ) && $this->getUser()->isLoggedIn() ) {
                                $siteNotice = $this->getCachedNotice( 'sitenotice' );
                        } else {
@@ -1558,7 +1558,7 @@ abstract class Skin extends ContextSource {
                        }
                }
 
-               wfRunHooks( 'SiteNoticeAfter', array( &$siteNotice, $this ) );
+               Hooks::run( 'SiteNoticeAfter', array( &$siteNotice, $this ) );
                wfProfileOut( __METHOD__ );
                return $siteNotice;
        }
@@ -1602,7 +1602,7 @@ abstract class Skin extends ContextSource {
                        . '<span class="mw-editsection-bracket">]</span>'
                        . '</span>';
 
-               wfRunHooks( 'DoEditSectionLink', array( $this, $nt, $section, $tooltip, &$result, $lang ) );
+               Hooks::run( 'DoEditSectionLink', array( $this, $nt, $section, $tooltip, &$result, $lang ) );
                return $result;
        }
 
index 3a39fee..d393280 100644 (file)
@@ -163,7 +163,7 @@ class SkinTemplate extends Skin {
                                        'lang' => $ilInterwikiCodeBCP47,
                                        'hreflang' => $ilInterwikiCodeBCP47,
                                );
-                               wfRunHooks(
+                               Hooks::run(
                                        'SkinTemplateGetLanguageLink',
                                        array( &$languageLink, $languageLinkTitle, $this->getTitle(), $this->getOutput() )
                                );
@@ -484,7 +484,7 @@ class SkinTemplate extends Skin {
                $tpl->set( 'reporttime', wfReportTime() );
 
                // original version by hansm
-               if ( !wfRunHooks( 'SkinTemplateOutputPageBeforeExec', array( &$this, &$tpl ) ) ) {
+               if ( !Hooks::run( 'SkinTemplateOutputPageBeforeExec', array( &$this, &$tpl ) ) ) {
                        wfDebug( __METHOD__ . ": Hook SkinTemplateOutputPageBeforeExec broke outputPage execution!\n" );
                }
 
@@ -703,7 +703,7 @@ class SkinTemplate extends Skin {
                        $personal_urls['login'] = $login_url;
                }
 
-               wfRunHooks( 'PersonalUrls', array( &$personal_urls, &$title, $this ) );
+               Hooks::run( 'PersonalUrls', array( &$personal_urls, &$title, $this ) );
                wfProfileOut( __METHOD__ );
                return $personal_urls;
        }
@@ -749,7 +749,7 @@ class SkinTemplate extends Skin {
                }
 
                $result = array();
-               if ( !wfRunHooks( 'SkinTemplateTabAction', array( &$this,
+               if ( !Hooks::run( 'SkinTemplateTabAction', array( &$this,
                                $title, $message, $selected, $checkEdit,
                                &$classes, &$query, &$text, &$result ) ) ) {
                        return $result;
@@ -845,7 +845,7 @@ class SkinTemplate extends Skin {
                $userCanRead = $title->quickUserCan( 'read', $user );
 
                $preventActiveTabs = false;
-               wfRunHooks( 'SkinTemplatePreventOtherActiveTabs', array( &$this, &$preventActiveTabs ) );
+               Hooks::run( 'SkinTemplatePreventOtherActiveTabs', array( &$this, &$preventActiveTabs ) );
 
                // Checks if page is some kind of content
                if ( $title->canExist() ) {
@@ -1054,7 +1054,7 @@ class SkinTemplate extends Skin {
                                }
                        }
 
-                       wfRunHooks( 'SkinTemplateNavigation', array( &$this, &$content_navigation ) );
+                       Hooks::run( 'SkinTemplateNavigation', array( &$this, &$content_navigation ) );
 
                        if ( $userCanRead && !$wgDisableLangConversion ) {
                                $pageLang = $title->getPageLanguage();
@@ -1096,12 +1096,12 @@ class SkinTemplate extends Skin {
                                'context' => 'subject'
                        );
 
-                       wfRunHooks( 'SkinTemplateNavigation::SpecialPage',
+                       Hooks::run( 'SkinTemplateNavigation::SpecialPage',
                                array( &$this, &$content_navigation ) );
                }
 
                // Equiv to SkinTemplateContentActions
-               wfRunHooks( 'SkinTemplateNavigation::Universal', array( &$this, &$content_navigation ) );
+               Hooks::run( 'SkinTemplateNavigation::Universal', array( &$this, &$content_navigation ) );
 
                // Setup xml ids and tooltip info
                foreach ( $content_navigation as $section => &$links ) {
@@ -1243,7 +1243,7 @@ class SkinTemplate extends Skin {
                        }
 
                        // Use the copy of revision ID in case this undocumented, shady hook tries to mess with internals
-                       wfRunHooks( 'SkinTemplateBuildNavUrlsNav_urlsAfterPermalink',
+                       Hooks::run( 'SkinTemplateBuildNavUrlsNav_urlsAfterPermalink',
                                array( &$this, &$nav_urls, &$revid, &$revid ) );
                }
 
index 17a651f..3476c26 100644 (file)
@@ -154,7 +154,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        protected function getCustomFilters() {
                if ( $this->customFilters === null ) {
                        $this->customFilters = array();
-                       wfRunHooks( 'ChangesListSpecialPageFilters', array( $this, &$this->customFilters ) );
+                       Hooks::run( 'ChangesListSpecialPageFilters', array( $this, &$this->customFilters ) );
                }
 
                return $this->customFilters;
@@ -310,7 +310,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        }
 
        protected function runMainQueryHook( &$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts ) {
-               return wfRunHooks(
+               return Hooks::run(
                        'ChangesListSpecialPageQuery',
                        array( $this->getName(), &$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts )
                );
index bf86ab2..fd3bc7b 100644 (file)
@@ -106,7 +106,7 @@ abstract class FormSpecialPage extends SpecialPage {
                $this->alterForm( $form );
 
                // Give hooks a chance to alter the form, adding extra fields or text etc
-               wfRunHooks( 'SpecialPageBeforeFormDisplay', array( $this->getName(), &$form ) );
+               Hooks::run( 'SpecialPageBeforeFormDisplay', array( $this->getName(), &$form ) );
 
                return $form;
        }
index f902acf..dd21af4 100644 (file)
@@ -100,7 +100,7 @@ abstract class QueryPage extends SpecialPage {
                                array( 'UnusedtemplatesPage', 'Unusedtemplates' ),
                                array( 'WithoutInterwikiPage', 'Withoutinterwiki' ),
                        );
-                       wfRunHooks( 'wgQueryPages', array( &$qp ) );
+                       Hooks::run( 'wgQueryPages', array( &$qp ) );
                }
 
                return $qp;
index 4226ee0..2e6e55a 100644 (file)
@@ -203,7 +203,7 @@ abstract class RedirectSpecialArticle extends RedirectSpecialPage {
                        'ctype', 'maxage', 'smaxage',
                );
 
-               wfRunHooks( "RedirectSpecialArticleRedirectParams", array( &$redirectParams ) );
+               Hooks::run( "RedirectSpecialArticleRedirectParams", array( &$redirectParams ) );
                $this->mAllowedRedirectParams = $redirectParams;
        }
 }
index 072f87f..759d7cb 100644 (file)
@@ -377,7 +377,7 @@ class SpecialPage {
                 * @param SpecialPage $this
                 * @param string|null $subPage
                 */
-               wfRunHooks( 'SpecialPageBeforeExecute', array( $this, $subPage ) );
+               Hooks::run( 'SpecialPageBeforeExecute', array( $this, $subPage ) );
 
                $this->beforeExecute( $subPage );
                $this->execute( $subPage );
@@ -391,7 +391,7 @@ class SpecialPage {
                 * @param SpecialPage $this
                 * @param string|null $subPage
                 */
-               wfRunHooks( 'SpecialPageAfterExecute', array( $this, $subPage ) );
+               Hooks::run( 'SpecialPageAfterExecute', array( $this, $subPage ) );
        }
 
        /**
index 1531f69..e31ebf6 100644 (file)
@@ -252,7 +252,7 @@ class SpecialPageFactory {
 
                        // Run hooks
                        // This hook can be used to remove undesired built-in special pages
-                       wfRunHooks( 'SpecialPage_initList', array( &self::$list ) );
+                       Hooks::run( 'SpecialPage_initList', array( &self::$list ) );
 
                        wfProfileOut( __METHOD__ );
                }
index a4269d1..144d39b 100644 (file)
@@ -220,7 +220,7 @@ class SpecialBlock extends FormSpecialPage {
                $this->maybeAlterFormDefaults( $a );
 
                // Allow extensions to add more fields
-               wfRunHooks( 'SpecialBlockModifyFormFields', array( $this, &$a ) );
+               Hooks::run( 'SpecialBlockModifyFormFields', array( $this, &$a ) );
 
                return $a;
        }
@@ -317,7 +317,7 @@ class SpecialBlock extends FormSpecialPage {
                $otherBlockMessages = array();
                if ( $this->target !== null ) {
                        # Get other blocks, i.e. from GlobalBlocking or TorBlock extension
-                       wfRunHooks( 'OtherBlockLogLink', array( &$otherBlockMessages, $this->target ) );
+                       Hooks::run( 'OtherBlockLogLink', array( &$otherBlockMessages, $this->target ) );
 
                        if ( count( $otherBlockMessages ) ) {
                                $s = Html::rawElement(
@@ -701,7 +701,7 @@ class SpecialBlock extends FormSpecialPage {
                $block->mHideName = $data['HideUser'];
 
                $reason = array( 'hookaborted' );
-               if ( !wfRunHooks( 'BlockIp', array( &$block, &$performer, &$reason ) ) ) {
+               if ( !Hooks::run( 'BlockIp', array( &$block, &$performer, &$reason ) ) ) {
                        return $reason;
                }
 
@@ -762,7 +762,7 @@ class SpecialBlock extends FormSpecialPage {
                        $logaction = 'block';
                }
 
-               wfRunHooks( 'BlockIpComplete', array( $block, $performer ) );
+               Hooks::run( 'BlockIpComplete', array( $block, $performer ) );
 
                # Set *_deleted fields if requested
                if ( $data['HideUser'] ) {
index 02b2626..da6f4c0 100644 (file)
@@ -170,7 +170,7 @@ class SpecialBlockList extends SpecialPage {
 
                # Check for other blocks, i.e. global/tor blocks
                $otherBlockLink = array();
-               wfRunHooks( 'OtherBlockLogLink', array( &$otherBlockLink, $this->target ) );
+               Hooks::run( 'OtherBlockLogLink', array( &$otherBlockLink, $this->target ) );
 
                $out = $this->getOutput();
 
index d8eec7d..91a148d 100644 (file)
@@ -161,7 +161,7 @@ class SpecialBookSources extends SpecialPage {
 
                # Hook to allow extensions to insert additional HTML,
                # e.g. for API-interacting plugins and so on
-               wfRunHooks( 'BookInformation', array( $this->isbn, $this->getOutput() ) );
+               Hooks::run( 'BookInformation', array( $this->isbn, $this->getOutput() ) );
 
                # Check for a local page such as Project:Book_sources and use that if available
                $page = $this->msg( 'booksources' )->inContentLanguage()->text();
index 12bbd2a..e09c8ac 100644 (file)
@@ -183,7 +183,7 @@ class SpecialChangeEmail extends FormSpecialPage {
                        return $status;
                }
 
-               wfRunHooks( 'PrefsEmailAudit', array( $user, $oldaddr, $newaddr ) );
+               Hooks::run( 'PrefsEmailAudit', array( $user, $oldaddr, $newaddr ) );
 
                $user->saveSettings();
 
index 24664ed..168095f 100644 (file)
@@ -118,7 +118,7 @@ class SpecialChangePassword extends FormSpecialPage {
                }
 
                $extraFields = array();
-               wfRunHooks( 'ChangePasswordForm', array( &$extraFields ) );
+               Hooks::run( 'ChangePasswordForm', array( &$extraFields ) );
                foreach ( $extraFields as $extra ) {
                        list( $name, $label, $type, $default ) = $extra;
                        $fields[$name] = array(
@@ -248,7 +248,7 @@ class SpecialChangePassword extends FormSpecialPage {
                }
 
                if ( $newpass !== $retype ) {
-                       wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'badretype' ) );
+                       Hooks::run( 'PrefsPasswordAudit', array( $user, $newpass, 'badretype' ) );
                        throw new PasswordError( $this->msg( 'badretype' )->text() );
                }
 
@@ -264,7 +264,7 @@ class SpecialChangePassword extends FormSpecialPage {
 
                // @todo Make these separate messages, since the message is written for both cases
                if ( !$user->checkTemporaryPassword( $oldpass ) && !$user->checkPassword( $oldpass ) ) {
-                       wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'wrongpassword' ) );
+                       Hooks::run( 'PrefsPasswordAudit', array( $user, $newpass, 'wrongpassword' ) );
                        throw new PasswordError( $this->msg( 'resetpass-wrong-oldpass' )->text() );
                }
 
@@ -276,8 +276,8 @@ class SpecialChangePassword extends FormSpecialPage {
                // Do AbortChangePassword after checking mOldpass, so we don't leak information
                // by possibly aborting a new password before verifying the old password.
                $abortMsg = 'resetpass-abort-generic';
-               if ( !wfRunHooks( 'AbortChangePassword', array( $user, $oldpass, $newpass, &$abortMsg ) ) ) {
-                       wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'abortreset' ) );
+               if ( !Hooks::run( 'AbortChangePassword', array( $user, $oldpass, $newpass, &$abortMsg ) ) ) {
+                       Hooks::run( 'PrefsPasswordAudit', array( $user, $newpass, 'abortreset' ) );
                        throw new PasswordError( $this->msg( $abortMsg )->text() );
                }
 
@@ -288,9 +288,9 @@ class SpecialChangePassword extends FormSpecialPage {
 
                try {
                        $user->setPassword( $newpass );
-                       wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'success' ) );
+                       Hooks::run( 'PrefsPasswordAudit', array( $user, $newpass, 'success' ) );
                } catch ( PasswordError $e ) {
-                       wfRunHooks( 'PrefsPasswordAudit', array( $user, $newpass, 'error' ) );
+                       Hooks::run( 'PrefsPasswordAudit', array( $user, $newpass, 'error' ) );
                        throw new PasswordError( $e->getMessage() );
                }
 
index 583778f..7cc5425 100644 (file)
@@ -176,7 +176,7 @@ class SpecialContributions extends IncludableSpecialPage {
                // Add RSS/atom links
                $this->addFeedLinks( $feedParams );
 
-               if ( wfRunHooks( 'SpecialContributionsBeforeMainOutput', array( $id, $userObj, $this ) ) ) {
+               if ( Hooks::run( 'SpecialContributionsBeforeMainOutput', array( $id, $userObj, $this ) ) ) {
                        if ( !$this->including() ) {
                                $out->addHTML( $this->getForm() );
                        }
@@ -386,7 +386,7 @@ class SpecialContributions extends IncludableSpecialPage {
                        );
                }
 
-               wfRunHooks( 'ContributionsToolLinks', array( $id, $userpage, &$tools ) );
+               Hooks::run( 'ContributionsToolLinks', array( $id, $userpage, &$tools ) );
 
                return $tools;
        }
@@ -747,7 +747,7 @@ class ContribsPager extends ReverseChronologicalPager {
                $data = array( $this->mDb->select(
                        $tables, $fields, $conds, $fname, $options, $join_conds
                ) );
-               wfRunHooks(
+               Hooks::run(
                        'ContribsPager::reallyDoQuery',
                        array( &$data, $pager, $offset, $limit, $descending )
                );
@@ -824,7 +824,7 @@ class ContribsPager extends ReverseChronologicalPager {
                        $this->tagFilter
                );
 
-               wfRunHooks( 'ContribsPager::getQueryInfo', array( &$this, &$queryInfo ) );
+               Hooks::run( 'ContribsPager::getQueryInfo', array( &$this, &$queryInfo ) );
 
                return $queryInfo;
        }
@@ -1109,7 +1109,7 @@ class ContribsPager extends ReverseChronologicalPager {
                }
 
                // Let extensions add data
-               wfRunHooks( 'ContributionsLineEnding', array( $this, &$ret, $row, &$classes ) );
+               Hooks::run( 'ContributionsLineEnding', array( $this, &$ret, $row, &$classes ) );
 
                if ( $classes === array() && $ret === '' ) {
                        wfDebug( "Dropping Special:Contribution row that could not be formatted\n" );
index 29c3fd4..7e5d13c 100644 (file)
@@ -466,7 +466,7 @@ class DeletedContributionsPage extends SpecialPage {
                                );
                        }
 
-                       wfRunHooks( 'ContributionsToolLinks', array( $id, $nt, &$tools ) );
+                       Hooks::run( 'ContributionsToolLinks', array( $id, $nt, &$tools ) );
 
                        $links = $this->getLanguage()->pipeList( $tools );
 
index cb97420..e42db8c 100644 (file)
@@ -513,7 +513,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                                );
 
                                $page = WikiPage::factory( $title );
-                               wfRunHooks( 'UnwatchArticleComplete', array( $this->getUser(), &$page ) );
+                               Hooks::run( 'UnwatchArticleComplete', array( $this->getUser(), &$page ) );
                        }
                }
        }
@@ -551,7 +551,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                // Allow subscribers to manipulate the list of watched pages (or use it
                // to preload lots of details at once)
                $watchlistInfo = $this->getWatchlistInfo();
-               wfRunHooks(
+               Hooks::run(
                        'WatchlistEditorBeforeFormRender',
                        array( &$watchlistInfo )
                );
@@ -645,7 +645,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                        );
                }
 
-               wfRunHooks(
+               Hooks::run(
                        'WatchlistEditorBuildRemoveLine',
                        array( &$tools, $title, $title->isRedirect(), $this->getSkin(), &$link )
                );
index 20532a9..c55fa94 100644 (file)
@@ -160,7 +160,7 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                $form->setWrapperLegendMsg( 'email-legend' );
                $form->loadData();
 
-               if ( !wfRunHooks( 'EmailUserForm', array( &$form ) ) ) {
+               if ( !Hooks::run( 'EmailUserForm', array( &$form ) ) ) {
                        return;
                }
 
@@ -243,8 +243,8 @@ class SpecialEmailUser extends UnlistedSpecialPage {
 
                $hookErr = false;
 
-               wfRunHooks( 'UserCanSendEmail', array( &$user, &$hookErr ) );
-               wfRunHooks( 'EmailUserPermissionsErrors', array( $user, $editToken, &$hookErr ) );
+               Hooks::run( 'UserCanSendEmail', array( &$user, &$hookErr ) );
+               Hooks::run( 'EmailUserPermissionsErrors', array( $user, $editToken, &$hookErr ) );
 
                if ( $hookErr ) {
                        return $hookErr;
@@ -324,7 +324,7 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                        $from->name, $to->name )->inContentLanguage()->text();
 
                $error = '';
-               if ( !wfRunHooks( 'EmailUser', array( &$to, &$from, &$subject, &$text, &$error ) ) ) {
+               if ( !Hooks::run( 'EmailUser', array( &$to, &$from, &$subject, &$text, &$error ) ) ) {
                        return $error;
                }
 
@@ -367,12 +367,12 @@ class SpecialEmailUser extends UnlistedSpecialPage {
                        if ( $data['CCMe'] && $to != $from ) {
                                $cc_subject = $context->msg( 'emailccsubject' )->rawParams(
                                        $target->getName(), $subject )->text();
-                               wfRunHooks( 'EmailUserCC', array( &$from, &$from, &$cc_subject, &$text ) );
+                               Hooks::run( 'EmailUserCC', array( &$from, &$from, &$cc_subject, &$text ) );
                                $ccStatus = UserMailer::send( $from, $from, $cc_subject, $text );
                                $status->merge( $ccStatus );
                        }
 
-                       wfRunHooks( 'EmailUserComplete', array( $to, $from, $subject, $text ) );
+                       Hooks::run( 'EmailUserComplete', array( $to, $from, $subject, $text ) );
 
                        return $status;
                }
index 0831c20..da2df2d 100644 (file)
@@ -579,7 +579,7 @@ class ImportReporter extends ContextSource {
                                $page = WikiPage::factory( $title );
                                # Update page record
                                $page->updateRevisionOn( $dbw, $nullRevision );
-                               wfRunHooks(
+                               Hooks::run(
                                        'NewRevisionFromEditComplete',
                                        array( $page, $nullRevision, $latest, $this->getUser() )
                                );
index fa20994..68c5346 100644 (file)
@@ -150,7 +150,7 @@ class UsersPager extends AlphabeticPager {
                        'conds' => $conds
                );
 
-               wfRunHooks( 'SpecialListusersQueryInfo', array( $this, &$query ) );
+               Hooks::run( 'SpecialListusersQueryInfo', array( $this, &$query ) );
 
                return $query;
        }
@@ -211,7 +211,7 @@ class UsersPager extends AlphabeticPager {
                        ' ' . $this->msg( 'listusers-blocked', $userName )->escaped() :
                        '';
 
-               wfRunHooks( 'SpecialListusersFormatRow', array( &$item, $row ) );
+               Hooks::run( 'SpecialListusersFormatRow', array( &$item, $row ) );
 
                return Html::rawElement( 'li', array(), "{$item}{$edits}{$created}{$blocked}" );
        }
@@ -284,12 +284,12 @@ class UsersPager extends AlphabeticPager {
                );
                $out .= '<br />';
 
-               wfRunHooks( 'SpecialListusersHeaderForm', array( $this, &$out ) );
+               Hooks::run( 'SpecialListusersHeaderForm', array( $this, &$out ) );
 
                # Submit button and form bottom
                $out .= Html::hidden( 'limit', $this->mLimit );
                $out .= Xml::submitButton( $this->msg( 'allpagessubmit' )->text() );
-               wfRunHooks( 'SpecialListusersHeader', array( $this, &$out ) );
+               Hooks::run( 'SpecialListusersHeader', array( $this, &$out ) );
                $out .= Xml::closeElement( 'fieldset' ) .
                        Xml::closeElement( 'form' );
 
@@ -322,7 +322,7 @@ class UsersPager extends AlphabeticPager {
                if ( $this->requestedUser != '' ) {
                        $query['username'] = $this->requestedUser;
                }
-               wfRunHooks( 'SpecialListusersDefaultQuery', array( $this, &$query ) );
+               Hooks::run( 'SpecialListusersDefaultQuery', array( $this, &$query ) );
 
                return $query;
        }
index 04c2fe9..923283e 100644 (file)
@@ -97,13 +97,13 @@ class SpecialLog extends SpecialPage {
                        }
                } else {
                        // Allow extensions to add relations to their search types
-                       wfRunHooks( 'SpecialLogAddLogSearchRelations', array( $opts->getValue( 'type' ), $this->getRequest(), &$qc ) );
+                       Hooks::run( 'SpecialLogAddLogSearchRelations', array( $opts->getValue( 'type' ), $this->getRequest(), &$qc ) );
                }
 
                # Some log types are only for a 'User:' title but we might have been given
                # only the username instead of the full title 'User:username'. This part try
                # to lookup for a user by that name and eventually fix user input. See bug 1697.
-               wfRunHooks( 'GetLogTypesOnUser', array( &$this->typeOnUser ) );
+               Hooks::run( 'GetLogTypesOnUser', array( &$this->typeOnUser ) );
                if ( in_array( $opts->getValue( 'type' ), $this->typeOnUser ) ) {
                        # ok we have a type of log which expect a user title.
                        $target = Title::newFromText( $opts->getValue( 'page' ) );
index f533234..c072491 100644 (file)
@@ -72,7 +72,7 @@ class LonelyPagesPage extends PageQueryPage {
                );
 
                // Allow extensions to modify the query
-               wfRunHooks( 'LonelyPagesQuery', array( &$tables, &$conds, &$joinConds ) );
+               Hooks::run( 'LonelyPagesQuery', array( &$tables, &$conds, &$joinConds ) );
 
                return array(
                        'tables' => $tables,
index c71ef76..07a18b0 100644 (file)
@@ -485,7 +485,7 @@ class SpecialMergeHistory extends SpecialPage {
                        $targetTitle->getPrefixedText(), $destTitle->getPrefixedText() )->numParams(
                        $count )->text() );
 
-               wfRunHooks( 'ArticleMergeComplete', array( $targetTitle, $destTitle ) );
+               Hooks::run( 'ArticleMergeComplete', array( $targetTitle, $destTitle ) );
 
                return true;
        }
index 4cbf584..2a7e435 100644 (file)
@@ -604,7 +604,7 @@ class MovePageForm extends UnlistedSpecialPage {
                        $newLink )->params( $oldText, $newText )->parseAsBlock() );
                $out->addWikiMsg( $msgName );
 
-               wfRunHooks( 'SpecialMovepageAfterMove', array( &$this, &$ot, &$nt ) );
+               Hooks::run( 'SpecialMovepageAfterMove', array( &$this, &$ot, &$nt ) );
 
                # Now we move extra pages we've been asked to move: subpages and talk
                # pages.  First, if the old page or the new page is a talk page, we
index b3b3d48..aa16dbc 100644 (file)
@@ -56,7 +56,7 @@ class SpecialNewpages extends IncludableSpecialPage {
                $opts->add( 'invert', false );
 
                $this->customFilters = array();
-               wfRunHooks( 'SpecialNewPagesFilters', array( $this, &$this->customFilters ) );
+               Hooks::run( 'SpecialNewPagesFilters', array( $this, &$this->customFilters ) );
                foreach ( $this->customFilters as $key => $params ) {
                        $opts->add( $key, $params['default'] );
                }
@@ -548,7 +548,7 @@ class NewPagesPager extends ReverseChronologicalPager {
                );
                $join_conds = array( 'page' => array( 'INNER JOIN', 'page_id=rc_cur_id' ) );
 
-               wfRunHooks( 'SpecialNewpagesConditions',
+               Hooks::run( 'SpecialNewpagesConditions',
                        array( &$this, $this->opts, &$conds, &$tables, &$fields, &$join_conds ) );
 
                $options = array();
index 2acf23c..52c2460 100644 (file)
@@ -93,7 +93,7 @@ class SpecialPageLanguage extends FormSpecialPage {
        public function alterForm( HTMLForm $form ) {
                $form->setDisplayFormat( 'vform' );
                $form->setWrapperLegend( false );
-               wfRunHooks( 'LanguageSelector', array( $this->getOutput(), 'mw-languageselector' ) );
+               Hooks::run( 'LanguageSelector', array( $this->getOutput(), 'mw-languageselector' ) );
        }
 
        /**
index 3061c85..6ee3290 100644 (file)
@@ -195,7 +195,7 @@ class SpecialPasswordReset extends FormSpecialPage {
 
                // Check for hooks (captcha etc), and allow them to modify the users list
                $error = array();
-               if ( !wfRunHooks( 'SpecialPasswordResetOnSubmit', array( &$users, $data, &$error ) ) ) {
+               if ( !Hooks::run( 'SpecialPasswordResetOnSubmit', array( &$users, $data, &$error ) ) ) {
                        return array( $error );
                }
 
@@ -246,7 +246,7 @@ class SpecialPasswordReset extends FormSpecialPage {
                        return array( 'badipaddress' );
                }
                $caller = $this->getUser();
-               wfRunHooks( 'User::mailPasswordInternal', array( &$caller, &$ip, &$firstUser ) );
+               Hooks::run( 'User::mailPasswordInternal', array( &$caller, &$ip, &$firstUser ) );
                $username = $caller->getName();
                $msg = IP::isValid( $username )
                        ? 'passwordreset-emailtext-ip'
index 6d8f59b..73a88b9 100644 (file)
@@ -106,7 +106,7 @@ class RandomPage extends SpecialPage {
                $randstr = wfRandom();
                $title = null;
 
-               if ( !wfRunHooks(
+               if ( !Hooks::run(
                        'SpecialRandomGetRandomTitle',
                        array( &$randstr, &$this->isRedir, &$this->namespaces, &$this->extra, &$title )
                ) ) {
index 58b51b3..efb870b 100644 (file)
@@ -95,7 +95,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
        protected function getCustomFilters() {
                if ( $this->customFilters === null ) {
                        $this->customFilters = parent::getCustomFilters();
-                       wfRunHooks( 'SpecialRecentChangesFilters', array( $this, &$this->customFilters ), '1.23' );
+                       Hooks::run( 'SpecialRecentChangesFilters', array( $this, &$this->customFilters ), '1.23' );
                }
 
                return $this->customFilters;
@@ -254,7 +254,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
 
        protected function runMainQueryHook( &$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts ) {
                return parent::runMainQueryHook( $tables, $fields, $conds, $query_options, $join_conds, $opts )
-                       && wfRunHooks(
+                       && Hooks::run(
                                'SpecialRecentChangesQuery',
                                array( &$conds, &$tables, &$join_conds, $opts, &$query_options, &$fields ),
                                '1.23'
@@ -475,7 +475,7 @@ class SpecialRecentChanges extends ChangesListSpecialPage {
 
                // Don't fire the hook for subclasses. (Or should we?)
                if ( $this->getName() === 'Recentchanges' ) {
-                       wfRunHooks( 'SpecialRecentChangesPanel', array( &$extraOpts, $opts ) );
+                       Hooks::run( 'SpecialRecentChangesPanel', array( &$extraOpts, $opts ) );
                }
 
                return $extraOpts;
index 4add742..ba2b9a5 100644 (file)
@@ -44,7 +44,7 @@ class SpecialResetTokens extends FormSpecialPage {
                        $tokens = array(
                                array( 'preference' => 'watchlisttoken', 'label-message' => 'resettokens-watchlist-token' ),
                        );
-                       wfRunHooks( 'SpecialResetTokensTokens', array( &$tokens ) );
+                       Hooks::run( 'SpecialResetTokensTokens', array( &$tokens ) );
 
                        $hiddenPrefs = $this->getConfig()->get( 'HiddenPrefs' );
                        $tokens = array_filter( $tokens, function ( $tok ) use ( $hiddenPrefs ) {
index 448b802..1923d44 100644 (file)
@@ -196,7 +196,7 @@ class SpecialSearch extends SpecialPage {
                # No match, generate an edit URL
                $title = Title::newFromText( $term );
                if ( !is_null( $title ) ) {
-                       wfRunHooks( 'SpecialSearchNogomatch', array( &$title ) );
+                       Hooks::run( 'SpecialSearchNogomatch', array( &$title ) );
                }
                $this->showResults( $term );
        }
@@ -214,7 +214,7 @@ class SpecialSearch extends SpecialPage {
                $search->prefix = $this->mPrefix;
                $term = $search->transformSearchTerm( $term );
 
-               wfRunHooks( 'SpecialSearchSetupEngine', array( $this, $this->profile, $search ) );
+               Hooks::run( 'SpecialSearchSetupEngine', array( $this, $this->profile, $search ) );
 
                $this->setupPage( $term );
 
@@ -293,7 +293,7 @@ class SpecialSearch extends SpecialPage {
                                . $this->msg( 'search-suggest' )->rawParams( $suggestLink )->text() . '</div>';
                }
 
-               if ( !wfRunHooks( 'SpecialSearchResultsPrepend', array( $this, $out, $term ) ) ) {
+               if ( !Hooks::run( 'SpecialSearchResultsPrepend', array( $this, $out, $term ) ) ) {
                        # Hook requested termination
                        return;
                }
@@ -361,7 +361,7 @@ class SpecialSearch extends SpecialPage {
                                );
                        }
                }
-               wfRunHooks( 'SpecialSearchResults', array( $term, &$titleMatches, &$textMatches ) );
+               Hooks::run( 'SpecialSearchResults', array( $term, &$titleMatches, &$textMatches ) );
 
                $out->parserOptions()->setEditSection( false );
                if ( $titleMatches ) {
@@ -444,7 +444,7 @@ class SpecialSearch extends SpecialPage {
                        wfEscapeWikiText( $title->getPrefixedText() ),
                        Message::numParam( $num )
                );
-               wfRunHooks( 'SpecialSearchCreateLink', array( $title, &$params ) );
+               Hooks::run( 'SpecialSearchCreateLink', array( $title, &$params ) );
 
                // Extensions using the hook might still return an empty $messageName
                if ( $messageName ) {
@@ -595,7 +595,7 @@ class SpecialSearch extends SpecialPage {
 
                $link_t = clone $title;
 
-               wfRunHooks( 'ShowSearchHitTitle',
+               Hooks::run( 'ShowSearchHitTitle',
                        array( &$link_t, &$titleSnippet, $result, $terms, $this ) );
 
                $link = Linker::linkKnown(
@@ -713,7 +713,7 @@ class SpecialSearch extends SpecialPage {
                $html = null;
 
                $score = '';
-               if ( wfRunHooks( 'ShowSearchHit', array(
+               if ( Hooks::run( 'ShowSearchHit', array(
                        $this, $result, $terms,
                        &$link, &$redirect, &$section, &$extract,
                        &$score, &$size, &$date, &$related,
@@ -907,7 +907,7 @@ class SpecialSearch extends SpecialPage {
 
                $showSections = array( 'namespaceTables' => $namespaceTables );
 
-               wfRunHooks( 'SpecialSearchPowerBox', array( &$showSections, $term, $opts ) );
+               Hooks::run( 'SpecialSearchPowerBox', array( &$showSections, $term, $opts ) );
 
                $hidden = '';
                foreach ( $opts as $key => $value ) {
@@ -978,7 +978,7 @@ class SpecialSearch extends SpecialPage {
                        )
                );
 
-               wfRunHooks( 'SpecialSearchProfiles', array( &$profiles ) );
+               Hooks::run( 'SpecialSearchProfiles', array( &$profiles ) );
 
                foreach ( $profiles as &$data ) {
                        if ( !is_array( $data['namespaces'] ) ) {
@@ -1044,7 +1044,7 @@ class SpecialSearch extends SpecialPage {
                        $out .= $this->powerSearchBox( $term, $opts );
                } else {
                        $form = '';
-                       wfRunHooks( 'SpecialSearchProfileForm', array( $this, &$form, $this->profile, $term, $opts ) );
+                       Hooks::run( 'SpecialSearchProfileForm', array( $this, &$form, $this->profile, $term, $opts ) );
                        $out .= $form;
                }
 
index 1bbc2f3..4429022 100644 (file)
@@ -78,7 +78,7 @@ class SpecialStatistics extends SpecialPage {
 
                # Statistic - other
                $extraStats = array();
-               if ( wfRunHooks( 'SpecialStatsAddExtra', array( &$extraStats ) ) ) {
+               if ( Hooks::run( 'SpecialStatsAddExtra', array( &$extraStats ) ) ) {
                        $text .= $this->getOtherStats( $extraStats );
                }
 
index bcf83c8..2ea1b12 100644 (file)
@@ -421,7 +421,7 @@ class PageArchive {
                $logEntry->setTarget( $this->title );
                $logEntry->setComment( $reason );
 
-               wfRunHooks( 'ArticleUndeleteLogEntry', array( $this, &$logEntry, $user ) );
+               Hooks::run( 'ArticleUndeleteLogEntry', array( $this, &$logEntry, $user ) );
 
                $logid = $logEntry->insert();
                $logEntry->publish( $logid );
@@ -605,7 +605,7 @@ class PageArchive {
                        $revision->insertOn( $dbw );
                        $restored++;
 
-                       wfRunHooks( 'ArticleRevisionUndeleted', array( &$this->title, $revision, $row->ar_page_id ) );
+                       Hooks::run( 'ArticleRevisionUndeleted', array( &$this->title, $revision, $row->ar_page_id ) );
                }
                # Now that it's safely stored, take it out of the archive
                $dbw->delete( 'archive',
@@ -631,7 +631,7 @@ class PageArchive {
                        );
                }
 
-               wfRunHooks( 'ArticleUndelete', array( &$this->title, $created, $comment, $oldPageId ) );
+               Hooks::run( 'ArticleUndelete', array( &$this->title, $created, $comment, $oldPageId ) );
 
                if ( $this->title->getNamespace() == NS_FILE ) {
                        $update = new HTMLCacheUpdate( $this->title, 'imagelinks' );
@@ -908,7 +908,7 @@ class SpecialUndelete extends SpecialPage {
                }
 
                $archive = new PageArchive( $this->mTargetObj, $this->getConfig() );
-               if ( !wfRunHooks( 'UndeleteForm::showRevision', array( &$archive, $this->mTargetObj ) ) ) {
+               if ( !Hooks::run( 'UndeleteForm::showRevision', array( &$archive, $this->mTargetObj ) ) ) {
                        return;
                }
                $rev = $archive->getRevision( $timestamp );
@@ -992,7 +992,7 @@ class SpecialUndelete extends SpecialPage {
                $out->addHTML( $this->msg( 'undelete-revision' )->rawParams( $link )->params(
                        $time )->rawParams( $userLink )->params( $d, $t )->parse() . '</div>' );
 
-               if ( !wfRunHooks( 'UndeleteShowRevision', array( $this->mTargetObj, $rev ) ) ) {
+               if ( !Hooks::run( 'UndeleteShowRevision', array( $this->mTargetObj, $rev ) ) ) {
                        return;
                }
 
@@ -1215,7 +1215,7 @@ class SpecialUndelete extends SpecialPage {
                );
 
                $archive = new PageArchive( $this->mTargetObj, $this->getConfig() );
-               wfRunHooks( 'UndeleteForm::showHistory', array( &$archive, $this->mTargetObj ) );
+               Hooks::run( 'UndeleteForm::showHistory', array( &$archive, $this->mTargetObj ) );
                /*
                $text = $archive->getLastRevisionText();
                if( is_null( $text ) ) {
@@ -1640,7 +1640,7 @@ class SpecialUndelete extends SpecialPage {
 
                $out = $this->getOutput();
                $archive = new PageArchive( $this->mTargetObj, $this->getConfig() );
-               wfRunHooks( 'UndeleteForm::undelete', array( &$archive, $this->mTargetObj ) );
+               Hooks::run( 'UndeleteForm::undelete', array( &$archive, $this->mTargetObj ) );
                $ok = $archive->undelete(
                        $this->mTargetTimestamp,
                        $this->mComment,
@@ -1651,7 +1651,7 @@ class SpecialUndelete extends SpecialPage {
 
                if ( is_array( $ok ) ) {
                        if ( $ok[1] ) { // Undeleted file count
-                               wfRunHooks( 'FileUndeleteComplete', array(
+                               Hooks::run( 'FileUndeleteComplete', array(
                                        $this->mTargetObj, $this->mFileVersions,
                                        $this->getUser(), $this->mComment ) );
                        }
index ccc5dea..ff0ccc1 100644 (file)
@@ -186,7 +186,7 @@ class SpecialUpload extends SpecialPage {
                        $this->processUpload();
                } else {
                        # Backwards compatibility hook
-                       if ( !wfRunHooks( 'UploadForm:initial', array( &$this ) ) ) {
+                       if ( !Hooks::run( 'UploadForm:initial', array( &$this ) ) ) {
                                wfDebug( "Hook 'UploadForm:initial' broke output of the upload form\n" );
 
                                return;
@@ -414,7 +414,7 @@ class SpecialUpload extends SpecialPage {
                        return;
                }
 
-               if ( !wfRunHooks( 'UploadForm:BeforeProcessing', array( &$this ) ) ) {
+               if ( !Hooks::run( 'UploadForm:BeforeProcessing', array( &$this ) ) ) {
                        wfDebug( "Hook 'UploadForm:BeforeProcessing' broke processing the file.\n" );
                        // This code path is deprecated. If you want to break upload processing
                        // do so by hooking into the appropriate hooks in UploadBase::verifyUpload
@@ -474,7 +474,7 @@ class SpecialUpload extends SpecialPage {
 
                // Success, redirect to description page
                $this->mUploadSuccessful = true;
-               wfRunHooks( 'SpecialUploadComplete', array( &$this ) );
+               Hooks::run( 'SpecialUploadComplete', array( &$this ) );
                $this->getOutput()->redirect( $this->mLocalFile->getTitle()->getFullURL() );
        }
 
@@ -795,7 +795,7 @@ class UploadForm extends HTMLForm {
                        + $this->getDescriptionSection()
                        + $this->getOptionsSection();
 
-               wfRunHooks( 'UploadFormInitDescriptor', array( &$descriptor ) );
+               Hooks::run( 'UploadFormInitDescriptor', array( &$descriptor ) );
                parent::__construct( $descriptor, $context, 'upload' );
 
                # Add a link to edit MediaWik:Licenses
@@ -907,7 +907,7 @@ class UploadForm extends HTMLForm {
                                'checked' => $selectedSourceType == 'url',
                        );
                }
-               wfRunHooks( 'UploadFormSourceDescriptors', array( &$descriptor, &$radio, $selectedSourceType ) );
+               Hooks::run( 'UploadFormSourceDescriptors', array( &$descriptor, &$radio, $selectedSourceType ) );
 
                $descriptor['Extensions'] = array(
                        'type' => 'info',
index 83b9089..b7c7868 100644 (file)
@@ -122,7 +122,7 @@ class LoginForm extends SpecialPage {
                static $messages = null;
                if ( !$messages ) {
                        $messages = self::$validErrorMessages;
-                       wfRunHooks( 'LoginFormValidErrorMessages', array( &$messages ) );
+                       Hooks::run( 'LoginFormValidErrorMessages', array( &$messages ) );
                }
 
                return $messages;
@@ -352,7 +352,7 @@ class LoginForm extends SpecialPage {
                $u->saveSettings();
                $result = $this->mailPasswordInternal( $u, false, 'createaccount-title', 'createaccount-text' );
 
-               wfRunHooks( 'AddNewAccount', array( $u, true ) );
+               Hooks::run( 'AddNewAccount', array( $u, true ) );
                $u->addNewUserLogEntry( 'byemail', $this->mReason );
 
                $out = $this->getOutput();
@@ -427,7 +427,7 @@ class LoginForm extends SpecialPage {
                        // which is needed or the personal links will be
                        // wrong.
                        $this->getContext()->setUser( $u );
-                       wfRunHooks( 'AddNewAccount', array( $u, false ) );
+                       Hooks::run( 'AddNewAccount', array( $u, false ) );
                        $u->addNewUserLogEntry( 'create' );
                        if ( $this->hasSessionCookie() ) {
                                $this->successfulCreation();
@@ -439,7 +439,7 @@ class LoginForm extends SpecialPage {
                        $out->setPageTitle( $this->msg( 'accountcreated' ) );
                        $out->addWikiMsg( 'accountcreatedtext', $u->getName() );
                        $out->addReturnTo( $this->getPageTitle() );
-                       wfRunHooks( 'AddNewAccount', array( $u, false ) );
+                       Hooks::run( 'AddNewAccount', array( $u, false ) );
                        $u->addNewUserLogEntry( 'create2', $this->mReason );
                }
 
@@ -573,7 +573,7 @@ class LoginForm extends SpecialPage {
 
                $abortError = '';
                $abortStatus = null;
-               if ( !wfRunHooks( 'AbortNewAccount', array( $u, &$abortError, &$abortStatus ) ) ) {
+               if ( !Hooks::run( 'AbortNewAccount', array( $u, &$abortError, &$abortStatus ) ) ) {
                        // Hook point to add extra creation throttles and blocks
                        wfDebug( "LoginForm::addNewAccountInternal: a hook blocked creation\n" );
                        if ( $abortStatus === null ) {
@@ -593,7 +593,7 @@ class LoginForm extends SpecialPage {
                }
 
                // Hook point to check for exempt from account creation throttle
-               if ( !wfRunHooks( 'ExemptFromAccountCreationThrottle', array( $ip ) ) ) {
+               if ( !Hooks::run( 'ExemptFromAccountCreationThrottle', array( $ip ) ) ) {
                        wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook " .
                                "allowed account creation w/o throttle\n" );
                } else {
@@ -716,7 +716,7 @@ class LoginForm extends SpecialPage {
 
                // Give extensions a way to indicate the username has been updated,
                // rather than telling the user the account doesn't exist.
-               if ( !wfRunHooks( 'LoginUserMigrated', array( $u, &$msg ) ) ) {
+               if ( !Hooks::run( 'LoginUserMigrated', array( $u, &$msg ) ) ) {
                        $this->mAbortLoginErrorMsg = $msg;
                        return self::USER_MIGRATED;
                }
@@ -740,7 +740,7 @@ class LoginForm extends SpecialPage {
                // Give general extensions, such as a captcha, a chance to abort logins
                $abort = self::ABORTED;
                $msg = null;
-               if ( !wfRunHooks( 'AbortLogin', array( $u, $this->mPassword, &$abort, &$msg ) ) ) {
+               if ( !Hooks::run( 'AbortLogin', array( $u, $this->mPassword, &$abort, &$msg ) ) ) {
                        $this->mAbortLoginErrorMsg = $msg;
 
                        return $abort;
@@ -801,12 +801,12 @@ class LoginForm extends SpecialPage {
 
                        if ( $isAutoCreated ) {
                                // Must be run after $wgUser is set, for correct new user log
-                               wfRunHooks( 'AuthPluginAutoCreate', array( $u ) );
+                               Hooks::run( 'AuthPluginAutoCreate', array( $u ) );
                        }
 
                        $retval = self::SUCCESS;
                }
-               wfRunHooks( 'LoginAuthenticateAudit', array( $u, $this->mPassword, $retval ) );
+               Hooks::run( 'LoginAuthenticateAudit', array( $u, $this->mPassword, $retval ) );
 
                return $retval;
        }
@@ -887,7 +887,7 @@ class LoginForm extends SpecialPage {
                }
 
                $abortError = '';
-               if ( !wfRunHooks( 'AbortAutoAccount', array( $user, &$abortError ) ) ) {
+               if ( !Hooks::run( 'AbortAutoAccount', array( $user, &$abortError ) ) ) {
                        // Hook point to add extra creation throttles and blocks
                        wfDebug( "LoginForm::attemptAutoCreate: a hook blocked creation: $abortError\n" );
                        $this->mAbortLoginErrorMsg = $abortError;
@@ -1040,7 +1040,7 @@ class LoginForm extends SpecialPage {
         */
        protected function resetLoginForm( Message $msg ) {
                // Allow hooks to explain this password reset in more detail
-               wfRunHooks( 'LoginPasswordResetMessage', array( &$msg, $this->mUsername ) );
+               Hooks::run( 'LoginPasswordResetMessage', array( &$msg, $this->mUsername ) );
                $reset = new SpecialChangePassword();
                $derivative = new DerivativeContext( $this->getContext() );
                $derivative->setTitle( $reset->getPageTitle() );
@@ -1073,7 +1073,7 @@ class LoginForm extends SpecialPage {
                }
 
                $currentUser = $this->getUser();
-               wfRunHooks( 'User::mailPasswordInternal', array( &$currentUser, &$ip, &$u ) );
+               Hooks::run( 'User::mailPasswordInternal', array( &$currentUser, &$ip, &$u ) );
 
                $np = $u->randomPassword();
                $u->setNewpassword( $np, $throttle );
@@ -1104,7 +1104,7 @@ class LoginForm extends SpecialPage {
                # Run any hooks; display injected HTML if any, else redirect
                $currentUser = $this->getUser();
                $injected_html = '';
-               wfRunHooks( 'UserLoginComplete', array( &$currentUser, &$injected_html ) );
+               Hooks::run( 'UserLoginComplete', array( &$currentUser, &$injected_html ) );
 
                if ( $injected_html !== '' ) {
                        $this->displaySuccessfulAction( 'success', $this->msg( 'loginsuccesstitle' ),
@@ -1126,14 +1126,14 @@ class LoginForm extends SpecialPage {
                $injected_html = '';
                $welcome_creation_msg = 'welcomecreation-msg';
 
-               wfRunHooks( 'UserLoginComplete', array( &$currentUser, &$injected_html ) );
+               Hooks::run( 'UserLoginComplete', array( &$currentUser, &$injected_html ) );
 
                /**
                 * Let any extensions change what message is shown.
                 * @see https://www.mediawiki.org/wiki/Manual:Hooks/BeforeWelcomeCreation
                 * @since 1.18
                 */
-               wfRunHooks( 'BeforeWelcomeCreation', array( &$welcome_creation_msg, &$injected_html ) );
+               Hooks::run( 'BeforeWelcomeCreation', array( &$welcome_creation_msg, &$injected_html ) );
 
                $this->displaySuccessfulAction(
                        'signup',
@@ -1243,7 +1243,7 @@ class LoginForm extends SpecialPage {
                }
 
                // Allow modification of redirect behavior
-               wfRunHooks( 'PostLoginRedirect', array( &$returnTo, &$returnToQuery, &$type ) );
+               Hooks::run( 'PostLoginRedirect', array( &$returnTo, &$returnToQuery, &$type ) );
 
                $returnToTitle = Title::newFromText( $returnTo );
                if ( !$returnToTitle ) {
@@ -1447,9 +1447,9 @@ class LoginForm extends SpecialPage {
                // Give authentication and captcha plugins a chance to modify the form
                $wgAuth->modifyUITemplate( $template, $this->mType );
                if ( $this->mType == 'signup' ) {
-                       wfRunHooks( 'UserCreateForm', array( &$template ) );
+                       Hooks::run( 'UserCreateForm', array( &$template ) );
                } else {
-                       wfRunHooks( 'UserLoginForm', array( &$template ) );
+                       Hooks::run( 'UserLoginForm', array( &$template ) );
                }
 
                $out->disallowUserJs(); // just in case...
index d65ac85..080dc11 100644 (file)
@@ -56,7 +56,7 @@ class SpecialUserlogout extends UnlistedSpecialPage {
 
                // Hook.
                $injected_html = '';
-               wfRunHooks( 'UserLogoutComplete', array( &$user, &$injected_html, $oldName ) );
+               Hooks::run( 'UserLogoutComplete', array( &$user, &$injected_html, $oldName ) );
                $out->addHTML( $injected_html );
 
                $out->returnToMain();
index 6ca57aa..3e9313c 100644 (file)
@@ -267,7 +267,7 @@ class UserrightsPage extends SpecialPage {
 
                wfDebug( 'oldGroups: ' . print_r( $oldGroups, true ) . "\n" );
                wfDebug( 'newGroups: ' . print_r( $newGroups, true ) . "\n" );
-               wfRunHooks( 'UserRights', array( &$user, $add, $remove ) );
+               Hooks::run( 'UserRights', array( &$user, $add, $remove ) );
 
                if ( $newGroups != $oldGroups ) {
                        $this->addLogEntry( $user, $oldGroups, $newGroups, $reason );
index 34f434f..ee9e2ad 100644 (file)
@@ -220,7 +220,7 @@ class SpecialVersion extends SpecialPage {
                $software[$dbr->getSoftwareLink()] = $dbr->getServerInfo();
 
                // Allow a hook to add/remove items.
-               wfRunHooks( 'SoftwareInfo', array( &$software ) );
+               Hooks::run( 'SoftwareInfo', array( &$software ) );
 
                $out = Xml::element(
                                'h2',
@@ -341,7 +341,7 @@ class SpecialVersion extends SpecialPage {
        private static function getwgVersionLinked() {
                global $wgVersion;
                $versionUrl = "";
-               if ( wfRunHooks( 'SpecialVersionVersionUrl', array( $wgVersion, &$versionUrl ) ) ) {
+               if ( Hooks::run( 'SpecialVersionVersionUrl', array( $wgVersion, &$versionUrl ) ) ) {
                        $versionParts = array();
                        preg_match( "/^(\d+\.\d+)/", $wgVersion, $versionParts );
                        $versionUrl = "https://www.mediawiki.org/wiki/MediaWiki_{$versionParts[1]}";
@@ -402,7 +402,7 @@ class SpecialVersion extends SpecialPage {
                                'other' => wfMessage( 'version-other' )->text(),
                        );
 
-                       wfRunHooks( 'ExtensionTypes', array( &self::$extensionTypes ) );
+                       Hooks::run( 'ExtensionTypes', array( &self::$extensionTypes ) );
                }
 
                return self::$extensionTypes;
index 38f1808..cad2348 100644 (file)
@@ -86,7 +86,7 @@ class WantedPagesPage extends WantedQueryPage {
                        )
                );
                // Replacement for the WantedPages::getSQL hook
-               wfRunHooks( 'WantedPages::getQueryInfo', array( &$this, &$query ) );
+               Hooks::run( 'WantedPages::getQueryInfo', array( &$this, &$query ) );
 
                return $query;
        }
index a7c2052..ca3386c 100644 (file)
@@ -123,7 +123,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
        protected function getCustomFilters() {
                if ( $this->customFilters === null ) {
                        $this->customFilters = parent::getCustomFilters();
-                       wfRunHooks( 'SpecialWatchlistFilters', array( $this, &$this->customFilters ), '1.23' );
+                       Hooks::run( 'SpecialWatchlistFilters', array( $this, &$this->customFilters ), '1.23' );
                }
 
                return $this->customFilters;
@@ -201,7 +201,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                } else {
                        # Top log Ids for a page are not stored
                        $nonRevisionTypes = array( RC_LOG );
-                       wfRunHooks( 'SpecialWatchlistGetNonRevisionTypes', array( &$nonRevisionTypes ) );
+                       Hooks::run( 'SpecialWatchlistGetNonRevisionTypes', array( &$nonRevisionTypes ) );
                        if ( $nonRevisionTypes ) {
                                $conds[] = $dbr->makeList(
                                        array(
@@ -286,7 +286,7 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                &$join_conds, $opts
        ) {
                return parent::runMainQueryHook( $tables, $fields, $conds, $query_options, $join_conds, $opts )
-                       && wfRunHooks(
+                       && Hooks::run(
                                'SpecialWatchlistQuery',
                                array( &$conds, &$tables, &$join_conds, &$fields, $opts ),
                                '1.23'
index e373cff..11ec363 100644 (file)
@@ -335,7 +335,7 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        $props[] = $msgcache['isimage'];
                }
 
-               wfRunHooks( 'WhatLinksHereProps', array( $row, $nt, $target, &$props ) );
+               Hooks::run( 'WhatLinksHereProps', array( $row, $nt, $target, &$props ) );
 
                if ( count( $props ) ) {
                        $propsText = $this->msg( 'parentheses' )
index a278652..4c96dc8 100644 (file)
@@ -150,7 +150,7 @@ abstract class UploadBase {
 
                // Give hooks the chance to handle this request
                $className = null;
-               wfRunHooks( 'UploadCreateFromRequest', array( $type, &$className ) );
+               Hooks::run( 'UploadCreateFromRequest', array( $type, &$className ) );
                if ( is_null( $className ) ) {
                        $className = 'UploadFrom' . $type;
                        wfDebug( __METHOD__ . ": class name: $className\n" );
@@ -335,7 +335,7 @@ abstract class UploadBase {
                }
 
                $error = '';
-               if ( !wfRunHooks( 'UploadVerification',
+               if ( !Hooks::run( 'UploadVerification',
                        array( $this->mDestName, $this->mTempPath, &$error ) )
                ) {
                        wfProfileOut( __METHOD__ );
@@ -469,7 +469,7 @@ abstract class UploadBase {
                        }
                }
 
-               wfRunHooks( 'UploadVerifyFile', array( $this, $mime, &$status ) );
+               Hooks::run( 'UploadVerifyFile', array( $this, $mime, &$status ) );
                if ( $status !== true ) {
                        wfProfileOut( __METHOD__ );
 
@@ -755,7 +755,7 @@ abstract class UploadBase {
                                        WatchedItem::IGNORE_USER_RIGHTS
                                );
                        }
-                       wfRunHooks( 'UploadComplete', array( &$this ) );
+                       Hooks::run( 'UploadComplete', array( &$this ) );
 
                        $this->postProcessUpload();
                }
index b605640..14a6da6 100644 (file)
@@ -118,7 +118,7 @@ class UploadFromUrl extends UploadBase {
        public static function isAllowedUrl( $url ) {
                if ( !isset( self::$allowedUrls[$url] ) ) {
                        $allowed = true;
-                       wfRunHooks( 'IsUploadAllowedFromUrl', array( $url, &$allowed ) );
+                       Hooks::run( 'IsUploadAllowedFromUrl', array( $url, &$allowed ) );
                        self::$allowedUrls[$url] = $allowed;
                }
 
index 77f9cd1..55a8994 100644 (file)
@@ -717,7 +717,7 @@ class IP {
         */
        public static function isTrustedProxy( $ip ) {
                $trusted = self::isConfiguredProxy( $ip );
-               wfRunHooks( 'IsTrustedProxy', array( &$ip, &$trusted ) );
+               Hooks::run( 'IsTrustedProxy', array( &$ip, &$trusted ) );
                return $trusted;
        }
 
index fb04255..9e3abb3 100644 (file)
@@ -500,7 +500,7 @@ class Language {
                        # Re-order by namespace ID number...
                        ksort( $this->namespaceNames );
 
-                       wfRunHooks( 'LanguageGetNamespaces', array( &$this->namespaceNames ) );
+                       Hooks::run( 'LanguageGetNamespaces', array( &$this->namespaceNames ) );
                }
 
                return $this->namespaceNames;
@@ -898,7 +898,7 @@ class Language {
 
                if ( $inLanguage ) {
                        # TODO: also include when $inLanguage is null, when this code is more efficient
-                       wfRunHooks( 'LanguageGetTranslatedLanguageNames', array( &$names, $inLanguage ) );
+                       Hooks::run( 'LanguageGetTranslatedLanguageNames', array( &$names, $inLanguage ) );
                }
 
                $mwNames = $wgExtraLanguageNames + $coreLanguageNames;
@@ -3162,7 +3162,7 @@ class Language {
                }
                $this->mMagicHookDone = true;
                wfProfileIn( 'LanguageGetMagic' );
-               wfRunHooks( 'LanguageGetMagic', array( &$this->mMagicExtensions, $this->getCode() ) );
+               Hooks::run( 'LanguageGetMagic', array( &$this->mMagicExtensions, $this->getCode() ) );
                wfProfileOut( 'LanguageGetMagic' );
        }
 
@@ -3218,7 +3218,7 @@ class Language {
                        // Initialise array
                        $this->mExtendedSpecialPageAliases =
                                self::$dataCache->getItem( $this->mCode, 'specialPageAliases' );
-                       wfRunHooks( 'LanguageGetSpecialPageAliases',
+                       Hooks::run( 'LanguageGetSpecialPageAliases',
                                array( &$this->mExtendedSpecialPageAliases, $this->getCode() ) );
                }
 
@@ -4261,7 +4261,7 @@ class Language {
        public static function getMessagesFileName( $code ) {
                global $IP;
                $file = self::getFileName( "$IP/languages/messages/Messages", $code, '.php' );
-               wfRunHooks( 'Language::getMessagesFileName', array( $code, &$file ) );
+               Hooks::run( 'Language::getMessagesFileName', array( $code, &$file ) );
                return $file;
        }
 
index 4407ee3..7df6b42 100644 (file)
@@ -53,7 +53,7 @@
        "tog-shownumberswatching": "Zobrazovat počet sledujících uživatelů",
        "tog-oldsig": "Stávající podpis:",
        "tog-fancysig": "Používat v podpisu wikitext (bez automatického odkazu)",
-       "tog-uselivepreview": "Používat rychlý náhled (experimentální)",
+       "tog-uselivepreview": "Používat rychlý náhled",
        "tog-forceeditsummary": "Upozornit, když nevyplním shrnutí editace",
        "tog-watchlisthideown": "Na seznamu sledovaných stránek skrýt moje editace",
        "tog-watchlisthidebots": "Na seznamu sledovaných stránek skrýt editace botů",
        "anoneditwarning": "'''Varování:''' Nejste přihlášen(a). Pokud uložíte jakoukoli editaci, bude vaše IP adresa zveřejněna v historii této stránky. Pokud se <strong>[$1 přihlásíte]</strong> nebo si <strong>[$2 vytvoříte účet]</strong>, budou vaše editace připsány vašemu uživatelskému jménu a získáte i další výhody.",
        "anonpreviewwarning": "''Nejste přihlášen(a). Uložením zveřejníte svou IP adresu v historii této stránky.''",
        "missingsummary": "'''Připomenutí:''' Nezadali jste shrnutí editace. Pokud ještě jednou kliknete na Uložit změny, bude vaše editace zapsána bez shrnutí.",
+       "selfredirect": "<strong>Upozornění:</strong> Vytváříte přesměrování na týž článek. Pokud ještě jednou kliknete na „{{int:savearticle}}“, bude přesměrování vytvořeno.",
        "missingcommenttext": "Zadejte komentář",
        "missingcommentheader": "'''Připomenutí:''' Nezadali jste předmět/nadpis pro tento komentář.\nPokud ještě jednou kliknete na „{{int:savearticle}}“, bude vaše editace zapsána i bez toho.",
        "summary-preview": "Náhled shrnutí:",
        "log-name-pagelang": "Kniha změn jazyků",
        "log-description-pagelang": "Toto je protokol změn jazyků stránek.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|změnil|změnila}} jazyk stránky $3 z $4 na $5.",
-       "default-skin-not-found": "Jejda! Výchozí vzhled vaší wiki, definovaný ve <code dir=\"ltr\">$wgDefaultSkin</code> jako <code>$1</code>, není dostupný.\n\nVaše instalace zřejmě obsahuje následující vzhledy. Informace o tom, jak je povolit a vybrat výchozí, najdete na stránce [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_configuration/cs Manual:Skin configuration].\n\n$2\n\n; Pokud jste právě nainstalovali MediaWiki:\n: Zřejmě jste instalovali z gitu nebo nějakým jiným způsobem přímo ze zdrojového kódu. Tak to má fungovat. Zkuste nainstalovat některé vzhledy ze [https://www.mediawiki.org/wiki/Category:All_skins seznamu vzhledů na mediawiki.org] buď:\n:* Můžete si stáhnout [https://www.mediawiki.org/wiki/Download/cs instalace v tarballu], která zahrnuje několik vzhledů a rozšíření, a vykopírovat si z ní adresář <code dir=\"ltr\">skins/</code>, nebo\n:* Nebo si můžete gitem naklonovat jeden z repozitářů <code>mediawiki/skins/*</code> do adresáře <code>skins/</code> ve vaší instalaci MediaWiki.\n: Pokud jste vývojářem MediaWiki, nemělo by to nijak narušit váš gitový repozitář.\n\n; Pokud jste právě aktualizovali MediaWiki:\n: MediaWiki 1.24 a novější již automaticky nepovolují nainstalované vzhledy (vizte [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_autodiscovery/cs Manual:Skin autodiscovery]). Pro povolení všech právě nainstalovaných vzhledů vlepte následující řádky do <code>LocalSettings.php</code>:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Pokud jste právě upravili <code>LocalSettings.php</code>:\n: Překontrolujte případné překlepy v názvech vzhledů.",
-       "default-skin-not-found-no-skins": "Jejda! Výchozí vzhled vaší wiki, definovaný ve <code dir=\"ltr\">$wgDefaultSkin</code> jako <code>$1</code>, není dostupný.\n\nNemáte nainstalovány žádné vzhledy.\n\n; Pokud jste právě nainstalovali nebo aktualizovali MediaWiki:\n: Zřejmě jste instalovali z gitu nebo nějakým jiným způsobem přímo ze zdrojového kódu. Tak to má fungovat. MediaWiki 1.24 a novější již v hlavním repozitáři neobsahují žádné vzhledy. Zkuste nainstalovat některé vzhledy ze [https://www.mediawiki.org/wiki/Category:All_skins seznamu vzhledů na mediawiki.org] buď:\n:* Můžete si stáhnout [https://www.mediawiki.org/wiki/Download/cs instalace v tarballu], která zahrnuje několik vzhledů a rozšíření, a vykopírovat si z ní adresář <code>skins/</code>, nebo\n:* Nebo si můžete gitem naklonovat jeden z repozitářů <code>mediawiki/skins/*</code> do adresáře <code dir=\"ltr\">skins/</code> ve vaší instalaci MediaWiki.\n: Pokud jste vývojářem MediaWiki, nemělo by to nijak narušit váš gitový repozitář. Informace o tom, jak povolit vzhledy a vybrat výchozí, najdete na stránce [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_configuration/cs Manual:Skin configuration].",
+       "default-skin-not-found": "Jejda! Výchozí vzhled vaší wiki, definovaný ve <code dir=\"ltr\">$wgDefaultSkin</code> jako <code>$1</code>, není dostupný.\n\nVaše instalace zřejmě obsahuje následující vzhledy. Informace o tom, jak je povolit a vybrat výchozí, najdete na stránce [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_configuration/cs Manual:Skin configuration].\n\n$2\n\n; Pokud jste právě nainstalovali MediaWiki:\n: Zřejmě jste instalovali z gitu nebo nějakým jiným způsobem přímo ze zdrojového kódu. Tak to má fungovat. Zkuste nainstalovat některé vzhledy ze [https://www.mediawiki.org/wiki/Category:All_skins seznamu vzhledů na mediawiki.org] buď:\n:* Můžete si stáhnout [https://www.mediawiki.org/wiki/Download/cs instalaci v tarballu], která zahrnuje několik vzhledů a rozšíření, a vykopírovat si z ní adresář <code dir=\"ltr\">skins/</code>.\n:* Nebo si můžete stáhnout tarbally jednotlivých vzhledů z [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* Nebo si můžete gitem naklonovat jeden z repozitářů <code>mediawiki/skins/*</code> do adresáře <code>skins/</code> ve vaší instalaci MediaWiki.\n: Pokud jste vývojářem MediaWiki, nemělo by to nijak narušit váš gitový repozitář.\n\n; Pokud jste právě aktualizovali MediaWiki:\n: MediaWiki 1.24 a novější již automaticky nepovolují nainstalované vzhledy (vizte [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_autodiscovery/cs Manual:Skin autodiscovery]). Pro povolení všech právě nainstalovaných vzhledů vlepte následující řádky do <code>LocalSettings.php</code>:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Pokud jste právě upravili <code>LocalSettings.php</code>:\n: Překontrolujte případné překlepy v názvech vzhledů.",
+       "default-skin-not-found-no-skins": "Jejda! Výchozí vzhled vaší wiki, definovaný ve <code dir=\"ltr\">$wgDefaultSkin</code> jako <code>$1</code>, není dostupný.\n\nNemáte nainstalovány žádné vzhledy.\n\n; Pokud jste právě nainstalovali nebo aktualizovali MediaWiki:\n: Zřejmě jste instalovali z gitu nebo nějakým jiným způsobem přímo ze zdrojového kódu. Tak to má fungovat. MediaWiki 1.24 a novější již v hlavním repozitáři neobsahují žádné vzhledy. Zkuste nainstalovat některé vzhledy ze [https://www.mediawiki.org/wiki/Category:All_skins seznamu vzhledů na mediawiki.org] buď:\n:* Můžete si stáhnout [https://www.mediawiki.org/wiki/Download/cs instalaci v tarballu], která zahrnuje několik vzhledů a rozšíření, a vykopírovat si z ní adresář <code>skins/</code>.\n:* Nebo si můžete stáhnout tarbally jednotlivých vzhledů z [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* Nebo si můžete gitem naklonovat jeden z repozitářů <code>mediawiki/skins/*</code> do adresáře <code dir=\"ltr\">skins/</code> ve vaší instalaci MediaWiki.\n: Pokud jste vývojářem MediaWiki, nemělo by to nijak narušit váš gitový repozitář. Informace o tom, jak povolit vzhledy a vybrat výchozí, najdete na stránce [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_configuration/cs Manual:Skin configuration].",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (povolený)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''zakázaný''')",
        "mediastatistics": "Statistika souborů",
index 3a09b82..cf58229 100644 (file)
        "anoneditwarning": "<strong>Attention :</strong> Vous n’êtes pas connecté. Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous <strong>[$1 vous connectez]</strong> ou <strong>[$2 créez un compte]</strong>, vos modifications seront attribuées à votre nom d’utilisateur, entre autres avantages.",
        "anonpreviewwarning": "''Vous n’êtes pas identifié(e). Sauvegarder enregistrera votre adresse IP dans l’historique des modifications de la page.''",
        "missingsummary": "'''Rappel :''' vous n'avez pas encore fourni le résumé de votre modification.\nSi vous cliquez de nouveau sur le bouton « {{int:savearticle}} », la publication sera faite sans nouvel avertissement.",
+       "selfredirect": "<strong>Attention :</strong> Vous êtes en train de créer une redirection vers le même article.\nSi vous cliquez de nouveau sur « {{int:savearticle}} », la redirection sera créée.",
        "missingcommenttext": "Veuillez entrer un commentaire ci-dessous.",
        "missingcommentheader": "'''Rappel :''' vous n'avez pas fourni de sujet ou de titre à ce commentaire.\nSi vous cliquez de nouveau sur « {{int:Savearticle}} », votre modification sera enregistrée sans titre.",
        "summary-preview": "Aperçu du résumé :",
index f29b156..2b8772a 100644 (file)
        "viewyourtext": "Možete vidjeti i kopirati tekst '''vaših uređivanja''' na ovoj stranici:",
        "protectedinterface": "Ova stranica je zaštićena od izmjena jer sadrži tekst MediaWiki softvera.\nAKo želite prevesti neprevedenu poruku ili popraviti prijevod neke druge poruke za sve MediaWiki wikije, posjetite [//translatewiki.net/  translatewiki.net], projekt za lokalizaciju MediaWiki softvera.",
        "editinginterface": "'''Upozorenje:''' Uređujete stranicu koja se rabi za prikaz teksta u sučelju softvera. Promjene učinjene na ovoj stranici će se odraziti na izgled korisničkog sučelja kod drugih suradnika. Za prijevod, razmotrite uporabu [//translatewiki.net/wiki/Main_Page?setlang=hr translatewiki.net], projekta lokalizacije MedijeWiki.",
+       "translateinterface": "Za dodavanje ili promjenu prijevoda za sve wikije koristite [//translatewiki.net/ translatewiki.net], projekt za lokalizaciju MediaWikija.",
        "cascadeprotected": "Ova je stranica zaključana za uređivanja jer je uključena u {{PLURAL:$1|slijedeću stranicu|slijedeće stranice}}, koje su zaštićene \"prenosivom zaštitom\":\n$2",
        "namespaceprotected": "Ne možete uređivati stranice u imenskom prostoru '''$1'''.",
        "customcssprotected": "Ne možete uređivati ovu CSS stranicu zato što ona sadrži osobne postavke drugog suradnika.",
        "pageinfo-category-pages": "Broj stranica",
        "pageinfo-category-subcats": "Broj podkategorija",
        "pageinfo-category-files": "Broj datoteka",
-       "markaspatrolleddiff": "Označi za pregledano",
+       "markaspatrolleddiff": "Označi pregledanim",
        "markaspatrolledtext": "Označi ovaj članak pregledanim",
        "markedaspatrolled": "Pregledano",
        "markedaspatrolledtext": "Odabrana promjena [[:$1]] označena je pregledanom.",
index 6fdd349..b7481e9 100644 (file)
@@ -55,7 +55,7 @@
        "tog-shownumberswatching": "ശ്രദ്ധിക്കുന്ന ഉപയോക്താക്കളുടെ എണ്ണം കാണിക്കുക",
        "tog-oldsig": "നിലവിലുള്ള ഒപ്പ്:",
        "tog-fancysig": "ഒപ്പ് ഒരു വിക്കി എഴുത്തായി പരിഗണിക്കുക (കണ്ണി സ്വയം ചേർക്കേണ്ടതില്ല)",
-       "tog-uselivepreview": "തത്സമയ പ്രിവ്യൂ ഉപയോഗപ്പെടുത്തുക (പരീക്ഷണാടിസ്ഥാനം)",
+       "tog-uselivepreview": "തത്സമയ പ്രിവ്യൂ ഉപയോഗപ്പെടുത്തുക",
        "tog-forceeditsummary": "തിരുത്തുകളുടെ ചുരുക്കം നൽകിയില്ലെങ്കിൽ എന്നെ ഓർമ്മിപ്പിക്കുക",
        "tog-watchlisthideown": "ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് എന്റെ തിരുത്തുകൾ മറയ്ക്കുക",
        "tog-watchlisthidebots": "ഞാൻ ശ്രദ്ധിക്കുന്ന താളുകളുടെ പട്ടികയിൽനിന്ന് യന്ത്രങ്ങൾ വരുത്തിയ തിരുത്തുകൾ മറയ്ക്കുക",
        "anoneditwarning": "<strong>മുന്നറിയിപ്പ്:</strong> താങ്കൾ ലോഗിൻ ചെയ്തിട്ടില്ല. താങ്കൾ തിരുത്തുകളെന്തെങ്കിലും ചെയ്യുകയാണെങ്കിൽ താങ്കളുടെ ഐ.പി. വിലാസം എല്ലാവർക്കും ലഭ്യമായിരിക്കും. താങ്കൾ <strong>[$1 ലോഗിൻ ചെയ്യുകയോ]</strong>  <strong>[$2 അംഗത്വമെടുക്കുകയോ]</strong> ചെയ്യുന്നതുവഴി മറ്റ് ഗുണങ്ങളോടൊപ്പം താങ്കളുടെ തിരുത്തുകൾ ഉപയോക്തൃനാമത്തിലാവും അറിയപ്പെടുക.",
        "anonpreviewwarning": "''താങ്കൾ ലോഗിൻ ചെയ്തിട്ടില്ല. സേവ് ചെയ്യുമ്പോൾ താളിന്റെ തിരുത്തൽ ചരിത്രത്തിൽ താങ്കളുടെ ഐ.പി. വിലാസം ചേർത്തു സൂക്ഷിക്കപ്പെടും.''",
        "missingsummary": "'''ഓർമ്മക്കുറിപ്പ്:''' താങ്കൾ തിരുത്തലിന്റെ ചുരുക്കരൂപം നൽകിയിട്ടില്ല. ''സേവ് ചെയ്യുക'' ബട്ടൺ ഒരുവട്ടം കൂടി അമർത്തിയാൽ താങ്കൾ വരുത്തിയ മാറ്റം കാത്തുസൂക്ഷിക്കുന്നതാണ്.",
+       "selfredirect": "<strong>മുന്നറിയിപ്പ്:</strong> അതേ ലേഖനത്തിലേക്കുള്ള തിരിച്ചുവിടലാണ് താങ്കൾ സൃഷ്ടിക്കുന്നത്.\nവീണ്ടും \"{{int:savearticle}}\" അമർത്തിയാൽ, തിരിച്ചുവിടൽ സൃഷ്ടിക്കപ്പെടുന്നതാണ്.",
        "missingcommenttext": "താങ്കളുടെ അഭിപ്രായം ദയവായി താഴെ രേഖപ്പെടുത്തുക.",
        "missingcommentheader": "'''ഓർമ്മക്കുറിപ്പ്:''' ഈ കുറിപ്പിന് താങ്കൾ വിഷയം/തലക്കെട്ട് നൽകിയിട്ടില്ല. ''{{int:savearticle}}'' എന്ന ബട്ടൺ ഒരുവട്ടം കൂടി അമർത്തിയാൽ വിഷയം/തലക്കെട്ട് ഇല്ലാതെ തന്നെ കാത്തുസൂക്ഷിക്കുന്നതാവും.",
        "summary-preview": "ചുരുക്കരൂപം എങ്ങനെയുണ്ടെന്നു കാണുക:",
index bc5d8c5..a965ded 100644 (file)
        "anoneditwarning": "<strong>Opozorilo:</strong> Niste prijavljeni. Vaš IP-naslov bo javno viden, če naredite kakršno koli urejanje. Če se <strong>[$1 prijavite]</strong> ali <strong>[$2 ustvarite račun]</strong>, bodo vaša urejanja pripisana vašemu uporabniškemu imenu skupaj z drugimi prednostmi.",
        "anonpreviewwarning": "Niste prijavljeni. Ob spremembi strani se bo vaš IP-naslov zapisal v zgodovini urejanja te strani.",
        "missingsummary": "'''Opozorilo:''' Niste napisali povzetka urejanja. Ob ponovnem kliku gumba ''Shrani'' se bo vaše urejanje shranilo brez njega.",
+       "selfredirect": "<strong>Opozorilo:</strong> Ustvarjate preusmeritev na isti članek.\nČe ponovno kliknete »{{int:savearticle}}«, bomo preusmeritev ustvarili.",
        "missingcommenttext": "Prosimo, vpišite v spodnje polje komentar.",
        "missingcommentheader": "'''Opozorilo:''' Niste vnesli zadeve/naslova za ta komentar.\nČe boste ponovno kliknili »{{int:savearticle}}«, bo vaše urejanje shranjeno brez le-tega.",
        "summary-preview": "Predogled povzetka",
index 88defd0..87b513c 100644 (file)
@@ -48,7 +48,7 @@
        "tog-shownumberswatching": "แสดงจำนวนผู้ใช้ที่เฝ้าดู",
        "tog-oldsig": "ลายเซ็นที่ใช้อยู่:",
        "tog-fancysig": "ถือลายเซ็นเป็นข้อความวิกิ (โดยไม่มีลิงก์อัตโนมัติ)",
-       "tog-uselivepreview": "à¹\83à¸\8aà¹\89à¸\95ัวอยà¹\88าà¸\87à¸\97ัà¸\99à¸\97ี (à¸\97à¸\94ลอà¸\87)",
+       "tog-uselivepreview": "à¹\83à¸\8aà¹\89à¸\81ารà¹\81สà¸\94à¸\87à¸\95ัวอยà¹\88าà¸\87à¹\81à¸\9aà¸\9aสà¸\94",
        "tog-forceeditsummary": "เตือนเมื่อช่องคำอธิบายอย่างย่อว่าง",
        "tog-watchlisthideown": "ซ่อนการแก้ไขของฉันจากรายการเฝ้าดู",
        "tog-watchlisthidebots": "ซ่อนการแก้ไขของบอตจากรายการเฝ้าดู",
        "anoneditwarning": "<strong>คำเตือน:</strong> คุณมิได้ล็อกอิน สาธารณะจะเห็นเลขที่อยู่ไอพีของคุณหากคุณแก้ไข หากคุณ<strong>[$1 ล็อกอิน]</strong>หรือ<strong>[$2 สร้างบัญชี]</strong> การแก้ไขของคุณจะถือว่าเป็นของชื่อผู้ใช้ของคุณ ร่วมกับประโยชน์อื่น",
        "anonpreviewwarning": "<em>คุณมิได้ล็อกอิน การบันทึกจะเก็บเลขที่อยู่ไอพีของคุณในประวัติการแก้ไขของหน้านี้</em>",
        "missingsummary": "<strong>อย่าลืม:</strong> คุณยังไม่ได้ให้คำอธิบายการแก้ไข \nถ้าคุณคลิก \"{{int:savearticle}}\" อีก จะบันทึกการแก้ไขของคุณโดยไม่มีคำอธิบายการแก้ไข",
+       "selfredirect": "<strong>คำเตือน:</strong> คุณกำลังสร้างการเปลี่ยนทางไปบทความเดียวกัน หากคุณคลิก \"{{int:savearticle}}\" อีกครั้ง จะสร้างการเปลี่ยนทาง",
        "missingcommenttext": "กรุณากรอกความเห็นด้านล่าง",
        "missingcommentheader": "<strong>อย่าลืม:</strong> คุณยังไม่ได้ใส่หัวข้อ/พาดหัวสำหรับความเห็นนี้ \nถ้าคุณคลิก \"{{int:savearticle}}\" อีก จะบันทึกการแก้ไขของคุณโดยไม่มีหัวข้อ/พาดหัว",
        "summary-preview": "ตัวอย่างคำอธิบาย:",
index 13f4b01..dfb378b 100644 (file)
        "anoneditwarning": "<strong>警告:</strong>您没有登录。您做出任何编辑后您的IP地址会公开可见。如果您<strong>[$1 登陆]</strong>或<strong>[$2 注册]</strong>一个账户,您的编辑将归属于您的用户名,以及有其他好处。",
        "anonpreviewwarning": "<em>你没有登录。保存会记录你的IP地址于该页面的编辑历史中。</em>",
        "missingsummary": "'''提示:'''你没有提供编辑摘要。如果你再次点击“{{int:savearticle}}”,你的编辑将不带编辑摘要保存。",
+       "selfredirect": "<strong>警告:</strong>您正在创建重定向到同一条目的重定向。\n如果您再次点击“{{int:savearticle}}”,重定向将被创建。",
        "missingcommenttext": "请在下面输入评论。",
        "missingcommentheader": "'''提示:''' 您还没有为此评论提供一个标题。如果您再次点击“{{int:savearticle}}”,您的编辑将不带标题保存。",
        "summary-preview": "摘要预览:",
        "confirm-purge-top": "要清除此页面的缓存吗?",
        "confirm-purge-bottom": "清除页面数据会清除缓存并强制显示最近的版本。",
        "confirm-watch-button": "确定",
-       "confirm-watch-top": "将此页添加到您的监视吗?",
+       "confirm-watch-top": "å°\86此页添å\8a å\88°æ\82¨ç\9a\84ç\9b\91è§\86å\88\97表å\90\97ï¼\9f",
        "confirm-unwatch-button": "确定",
        "confirm-unwatch-top": "从监视列表中删除此页吗?",
        "semicolon-separator": ";",
        "api-error-stashnosuchfilekey": "您试图在藏匿处访问的文件密钥不存在。",
        "api-error-timeout": "服务器没有在预期内响应。",
        "api-error-unclassified": "出现未知错误。",
-       "api-error-unknown-code": "未知错误:$1",
+       "api-error-unknown-code": "未知错误:“$1”。",
        "api-error-unknown-error": "内部错误:尝试上传文件时出错。",
        "api-error-unknown-warning": "未知的警告:“$1”。",
        "api-error-unknownerror": "未知错误:$1。",
index 93e0ea5..692f367 100644 (file)
        "generic-pool-error": "抱歉,太多使用者正嘗試檢視此資源,伺服器超出負荷。\n請稍候片刻再嘗試。",
        "pool-timeout": "正在等待取消鎖定",
        "pool-queuefull": "程序序列已滿",
-       "pool-errorunknown": "未知錯誤",
+       "pool-errorunknown": "不明錯誤",
        "pool-servererror": "無法使用程序計數服務 ($1)。",
        "aboutsite": "關於 {{SITENAME}}",
        "aboutpage": "Project:About",
index 1d558d2..3fda23a 100644 (file)
@@ -1184,7 +1184,7 @@ abstract class Maintenance {
         * We default as considering stdin a tty (for nice readline methods)
         * but treating stout as not a tty to avoid color codes
         *
-        * @param int $fd File descriptor
+        * @param mixed $fd File descriptor
         * @return bool
         */
        public static function posix_isatty( $fd ) {
index 910f56b..45cc339 100644 (file)
@@ -471,7 +471,7 @@ class RecompressTracked {
         * @param int $pageId
         */
        function doPage( $pageId ) {
-               $title = Title::newFromId( $pageId );
+               $title = Title::newFromID( $pageId );
                if ( $title ) {
                        $titleText = $title->getPrefixedText();
                } else {