From: jenkins-bot Date: Mon, 18 Jun 2018 18:07:33 +0000 (+0000) Subject: Merge "docs/hooks.txt: fix incorrect description of UploadForm:* hooks" X-Git-Tag: 1.34.0-rc.0~5024 X-Git-Url: https://git.cyclocoop.org/%20%27.%28%24debut%20%20%20%24par_page%29.%27?a=commitdiff_plain;h=e9ed100496b388a31ac2af0deabcc9754984d09d;hp=-c;p=lhc%2Fweb%2Fwiklou.git Merge "docs/hooks.txt: fix incorrect description of UploadForm:* hooks" --- e9ed100496b388a31ac2af0deabcc9754984d09d diff --combined docs/hooks.txt index d9b2c3e26e,e7f04bcc4d..b452b94ff3 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@@ -74,10 -74,10 +74,10 @@@ Using a hook-running strategy, we can a stuff in our mainline code. Using hooks, the function becomes: function showAnArticle( $article ) { - if ( Hooks::run( 'ArticleShow', array( &$article ) ) ) { + if ( Hooks::run( 'ArticleShow', [ &$article ] ) ) { # code to actually show the article goes here - Hooks::run( 'ArticleShowComplete', array( &$article ) ); + Hooks::run( 'ArticleShowComplete', [ &$article ] ); } } @@@ -137,13 -137,13 +137,13 @@@ Hooks are registered by adding them to event. All the following are valid ways to define hooks: $wgHooks['EventName'][] = 'someFunction'; # function, no data - $wgHooks['EventName'][] = array( 'someFunction', $someData ); - $wgHooks['EventName'][] = array( 'someFunction' ); # weird, but OK + $wgHooks['EventName'][] = [ 'someFunction', $someData ]; + $wgHooks['EventName'][] = [ 'someFunction' ]; # weird, but OK $wgHooks['EventName'][] = $object; # object only - $wgHooks['EventName'][] = array( $object, 'someMethod' ); - $wgHooks['EventName'][] = array( $object, 'someMethod', $someData ); - $wgHooks['EventName'][] = array( $object ); # weird but OK + $wgHooks['EventName'][] = [ $object, 'someMethod' ]; + $wgHooks['EventName'][] = [ $object, 'someMethod', $someData ]; + $wgHooks['EventName'][] = [ $object ]; # weird but OK When an event occurs, the function (or object method) will be called with the optional data provided as well as event-specific parameters. The above examples @@@ -168,8 -168,8 +168,8 @@@ different: 'onArticleSave', 'onUserLogi The extra data is useful if we want to use the same function or object for different purposes. For example: - $wgHooks['PageContentSaveComplete'][] = array( 'ircNotify', 'TimStarling' ); - $wgHooks['PageContentSaveComplete'][] = array( 'ircNotify', 'brion' ); + $wgHooks['PageContentSaveComplete'][] = [ 'ircNotify', 'TimStarling' ]; + $wgHooks['PageContentSaveComplete'][] = [ 'ircNotify', 'brion' ]; This code would result in ircNotify being run twice when an article is saved: once for 'TimStarling', and once for 'brion'. @@@ -187,7 -187,7 +187,7 @@@ The last result would be for cases wher functionality. For example, if you wanted to authenticate users to a custom system (LDAP, another PHP program, whatever), you could do: - $wgHooks['UserLogin'][] = array( 'ldapLogin', $ldapServer ); + $wgHooks['UserLogin'][] = [ 'ldapLogin', $ldapServer ]; function ldapLogin( $username, $password ) { # log user into LDAP @@@ -232,7 -232,7 +232,7 @@@ wfRunHooks must be used, which was depr Note that hook parameters are passed in an array; this is a necessary inconvenience to make it possible to pass reference values (that can be changed) into the hook code. Also note that earlier versions of wfRunHooks took a -variable number of arguments; the array() calling protocol came about after +variable number of arguments; the array calling protocol came about after MediaWiki 1.4rc1. ==Events and parameters== @@@ -240,8 -240,8 +240,8 @@@ This is a list of known events and parameters; please add to it if you're going to add events to the MediaWiki code. -'AbortAutoAccount': DEPRECATED! Create a PreAuthenticationProvider instead. -Return false to cancel automated local account creation, where normally +'AbortAutoAccount': DEPRECATED since 1.27! Create a PreAuthenticationProvider +instead. Return false to cancel automated local account creation, where normally authentication against an external auth plugin would be creating a local account. $user: the User object about to be created (read-only, incomplete) @@@ -259,7 -259,7 +259,7 @@@ $editor: The User who made the change $title: The Title of the page that was edited. $rc: The current RecentChange object. -'AbortLogin': DEPRECATED! Create a PreAuthenticationProvider instead. +'AbortLogin': DEPRECATED since 1.27! Create a PreAuthenticationProvider instead. Return false to cancel account login. $user: the User object being authenticated against $password: the password being submitted, not yet checked for validity @@@ -269,8 -269,8 +269,8 @@@ &$msg: the message identifier for abort reason (new in 1.18, not available before 1.18) -'AbortNewAccount': DEPRECATED! Create a PreAuthenticationProvider instead. -Return false to cancel explicit account creation. +'AbortNewAccount': DEPRECATED since 1.27! Create a PreAuthenticationProvider +instead. Return false to cancel explicit account creation. $user: the User object about to be created (read-only, incomplete) &$msg: out parameter: HTML to display on abort &$status: out parameter: Status object to return, replaces the older $msg param @@@ -294,14 -294,14 +294,14 @@@ $name: name of the actio &$fields: HTMLForm descriptor array $article: Article object -'AddNewAccount': DEPRECATED! Use LocalUserCreated. +'AddNewAccount': DEPRECATED since 1.27! Use LocalUserCreated. After a user account is created. $user: the User object that was created. (Parameter added in 1.7) $byEmail: true when account was created "by email" (added in 1.12) -'AfterBuildFeedLinks': Executed in OutputPage.php after all feed links (atom, rss,...) -are created. Can be used to omit specific feeds from being outputted. You must not use -this hook to add feeds, use OutputPage::addFeedLink() instead. +'AfterBuildFeedLinks': Executed in OutputPage.php after all feed links (atom, +rss,...) are created. Can be used to omit specific feeds from being outputted. +You must not use this hook to add feeds, use OutputPage::addFeedLink() instead. &$feedLinks: Array of created feed links 'AfterFinalPageOutput': Nearly at the end of OutputPage::output() but @@@ -372,7 -372,7 +372,7 @@@ from ApiBase::addDeprecation() &$msgs: Message[] Messages to include in the help. Multiple messages will be joined with spaces. -'APIEditBeforeSave': DEPRECATED! Use EditFilterMergedContent instead. +'APIEditBeforeSave': DEPRECATED since 1.28! Use EditFilterMergedContent instead. Before saving a page with api.php?action=edit, after processing request parameters. Return false to let the request fail, returning an error message or an tag if $resultArr was filled. @@@ -409,8 -409,8 +409,8 @@@ $format: API format code for $text &$params: Array of parameters $flags: int zero or OR-ed flags like ApiBase::GET_VALUES_FOR_HELP -'APIGetDescription': DEPRECATED! Use APIGetDescriptionMessages instead. -Use this hook to modify a module's description. +'APIGetDescription': DEPRECATED since 1.25! Use APIGetDescriptionMessages +instead. Use this hook to modify a module's description. &$module: ApiBase Module object &$desc: String description, or array of description strings @@@ -418,8 -418,8 +418,8 @@@ $module: ApiBase Module object &$msg: Array of Message objects -'APIGetParamDescription': DEPRECATED! Use APIGetParamDescriptionMessages -instead. +'APIGetParamDescription': DEPRECATED since 1.25! Use +APIGetParamDescriptionMessages instead. Use this hook to modify a module's parameter descriptions. &$module: ApiBase Module object &$desc: Array of parameter descriptions @@@ -488,8 -488,8 +488,8 @@@ documentation $module: ApiQueryBase module in question $result: ResultWrapper|bool returned from the IDatabase::select() &$hookData: array that was passed to the 'ApiQueryBaseBeforeQuery' hook and - will be passed to the 'ApiQueryBaseProcessRow' hook, intended for inter-hook - communication. + will be passed to the 'ApiQueryBaseProcessRow' hook, intended for inter-hook + communication. 'ApiQueryBaseBeforeQuery': Called for (some) API query modules before a database query is made. WARNING: It would be very easy to misuse this hook and @@@ -504,7 -504,7 +504,7 @@@ $module: ApiQueryBase module in questio &$query_options: array of options for the database request &$join_conds: join conditions for the tables &$hookData: array that will be passed to the 'ApiQueryBaseAfterQuery' and - 'ApiQueryBaseProcessRow' hooks, intended for inter-hook communication. + 'ApiQueryBaseProcessRow' hooks, intended for inter-hook communication. 'ApiQueryBaseProcessRow': Called for (some) API query modules as each row of the database result is processed. Return false to stop processing the result @@@ -514,26 -514,26 +514,26 @@@ $module: ApiQueryBase module in questio $row: stdClass Database result row &$data: array to be included in the ApiResult. &$hookData: array that was be passed to the 'ApiQueryBaseBeforeQuery' and - 'ApiQueryBaseAfterQuery' hooks, intended for inter-hook communication. + 'ApiQueryBaseAfterQuery' hooks, intended for inter-hook communication. 'APIQueryGeneratorAfterExecute': After calling the executeGenerator() method of an action=query submodule. Use this to extend core API modules. &$module: Module object &$resultPageSet: ApiPageSet object -'APIQueryInfoTokens': DEPRECATED! Use ApiQueryTokensRegisterTypes instead. -Use this hook to add custom tokens to prop=info. Every token has an action, -which will be used in the intoken parameter and in the output +'APIQueryInfoTokens': DEPRECATED since 1.24! Use ApiQueryTokensRegisterTypes +instead. Use this hook to add custom tokens to prop=info. Every token has an +action, which will be used in the intoken parameter and in the output (actiontoken="..."), and a callback function which should return the token, or false if the user isn't allowed to obtain it. The prototype of the callback function is func($pageid, $title), where $pageid is the page ID of the page the token is requested for and $title is the associated Title object. In the hook, just add your callback to the $tokenFunctions array and return true (returning false makes no sense). -&$tokenFunctions: array(action => callback) +&$tokenFunctions: [ action => callback ] -'APIQueryRecentChangesTokens': DEPRECATED! Use ApiQueryTokensRegisterTypes -instead. +'APIQueryRecentChangesTokens': DEPRECATED since 1.24! Use +ApiQueryTokensRegisterTypes instead. Use this hook to add custom tokens to list=recentchanges. Every token has an action, which will be used in the rctoken parameter and in the output (actiontoken="..."), and a callback function which should return the token, or @@@ -543,10 -543,9 +543,10 @@@ page associated to the revision the tok associated Title object and $rc the associated RecentChange object. In the hook, just add your callback to the $tokenFunctions array and return true (returning false makes no sense). -&$tokenFunctions: array(action => callback) +&$tokenFunctions: [ action => callback ] -'APIQueryRevisionsTokens': DEPRECATED! Use ApiQueryTokensRegisterTypes instead. +'APIQueryRevisionsTokens': DEPRECATED since 1.24! Use +ApiQueryTokensRegisterTypes instead. Use this hook to add custom tokens to prop=revisions. Every token has an action, which will be used in the rvtoken parameter and in the output (actiontoken="..."), and a callback function which should return the token, or @@@ -556,7 -555,7 +556,7 @@@ page associated to the revision the tok associated Title object and $rev the associated Revision object. In the hook, just add your callback to the $tokenFunctions array and return true (returning false makes no sense). -&$tokenFunctions: array(action => callback) +&$tokenFunctions: [ action => callback ] 'APIQuerySiteInfoGeneralInfo': Use this hook to add extra information to the sites general information. @@@ -570,11 -569,10 +570,11 @@@ sites statistics information 'ApiQueryTokensRegisterTypes': Use this hook to add additional token types to action=query&meta=tokens. Note that most modules will probably be able to use the 'csrf' token instead of creating their own token types. -&$salts: array( type => salt to pass to User::getEditToken() or array of salt - and key to pass to Session::getToken() ) +&$salts: [ type => salt to pass to User::getEditToken(), or array of salt + and key to pass to Session::getToken() ] -'APIQueryUsersTokens': DEPRECATED! Use ApiQueryTokensRegisterTypes instead. +'APIQueryUsersTokens': DEPRECATED since 1.24! Use ApiQueryTokensRegisterTypes +instead. Use this hook to add custom token to list=users. Every token has an action, which will be used in the ustoken parameter and in the output (actiontoken="..."), and a callback function which should return the token, or @@@ -582,7 -580,7 +582,7 @@@ false if the user isn't allowed to obta function is func($user) where $user is the User object. In the hook, just add your callback to the $tokenFunctions array and return true (returning false makes no sense). -&$tokenFunctions: array(action => callback) +&$tokenFunctions: [ action => callback ] 'ApiQueryWatchlistExtractOutputData': Extract row data for ApiQueryWatchlist. $module: ApiQueryWatchlist instance @@@ -602,7 -600,7 +602,7 @@@ key for the array that represents the s key-value-pair identified by the apiLink key is required. &$apis: array of services -'ApiTokensGetTokenTypes': DEPRECATED! Use ApiQueryTokensRegisterTypes instead. +'ApiTokensGetTokenTypes': DEPRECATED since 1.24! Use ApiQueryTokensRegisterTypes instead. Use this hook to extend action=tokens with new token types. &$tokenTypes: supported token types in format 'type' => callback function used to retrieve this type of tokens. @@@ -780,8 -778,7 +780,8 @@@ redirect was followed from a set of AuthenticationRequest classes into a form descriptor; hooks can tweak the array to change how login etc. forms should look. $requests: array of AuthenticationRequests the fields are created from -$fieldInfo: field information array (union of all AuthenticationRequest::getFieldInfo() responses). +$fieldInfo: field information array (union of all + AuthenticationRequest::getFieldInfo() responses). &$formDescriptor: HTMLForm descriptor. The special key 'weight' can be set to change the order of the fields. $action: one of the AuthManager::ACTION_* constants. @@@ -789,21 -786,20 +789,21 @@@ 'AuthManagerLoginAuthenticateAudit': A login attempt either succeeded or failed for a reason other than misconfiguration or session loss. No return data is accepted; this hook is for auditing only. -$response: The MediaWiki\Auth\AuthenticationResponse in either a PASS or FAIL state. +$response: The MediaWiki\Auth\AuthenticationResponse in either a PASS or FAIL + state. $user: The User object being authenticated against, or null if authentication failed before getting that far. $username: A guess at the user name being authenticated, or null if we can't even determine that. -'AuthPluginAutoCreate': DEPRECATED! Use the 'LocalUserCreated' hook instead. -Called when creating a local account for an user logged in from an external -authentication method. +'AuthPluginAutoCreate': DEPRECATED since 1.27! Use the 'LocalUserCreated' hook +instead. Called when creating a local account for an user logged in from an +external authentication method. $user: User object created locally -'AuthPluginSetup': DEPRECATED! Extensions should be updated to use AuthManager. -Update or replace authentication plugin object ($wgAuth). Gives a chance for an -extension to set it programmatically to a variable class. +'AuthPluginSetup': DEPRECATED since 1.27! Extensions should be updated to use +AuthManager. Update or replace authentication plugin object ($wgAuth). Gives a +chance for an extension to set it programmatically to a variable class. &$auth: the $wgAuth object, probably a stub 'AutopromoteCondition': Check autopromote condition for user. @@@ -976,9 -972,9 +976,9 @@@ No return data is accepted; this hook i $req: AuthenticationRequest object describing the change (and target user) $status: StatusValue with the result of the action -'ChangePasswordForm': DEPRECATED! Use AuthChangeFormFields or security levels. -For extensions that need to add a field to the ChangePassword form via the -Preferences form. +'ChangePasswordForm': DEPRECATED since 1.27! Use AuthChangeFormFields or +security levels. For extensions that need to add a field to the ChangePassword +form via the Preferences form. &$extraFields: An array of arrays that hold fields like would be passed to the pretty function. @@@ -995,8 -991,8 +995,8 @@@ $rows: The data that will be rendered. $unpatrolled: Whether or not we are showing unpatrolled changes. $watched: Whether or not the change is watched by the user. -'ChangesListSpecialPageFilters': DEPRECATED! Use 'ChangesListSpecialPageStructuredFilters' -instead. +'ChangesListSpecialPageFilters': DEPRECATED since 1.29! Use +'ChangesListSpecialPageStructuredFilters' instead. Called after building form options on pages inheriting from ChangesListSpecialPage (in core: RecentChanges, RecentChangesLinked and Watchlist). @@@ -1079,9 -1075,8 +1079,9 @@@ $rc_id: recentchanges table i $rev_id: revision table id $log_id: logging table id $params: tag params -$rc: RecentChange being tagged when the tagging accompanies the action or null -$user: User who performed the tagging when the tagging is subsequent to the action or null +$rc: RecentChange being tagged when the tagging accompanies the action, or null +$user: User who performed the tagging when the tagging is subsequent to the + action, or null 'ChangeTagsAllowedAdd': Called when checking if a user can add tags to a change. &$allowedTags: List of all the tags the user is allowed to add. Any tags the @@@ -1191,16 -1186,16 +1191,16 @@@ $lossy: boolean indicating whether lo converted Content object. Note that $result->getContentModel() must return $toModel. -'ContentSecurityPolicyDefaultSource': Modify the allowed CSP load sources. This affects all -directives except for the script directive. If you want to add a script -source, see ContentSecurityPolicyScriptSource hook. +'ContentSecurityPolicyDefaultSource': Modify the allowed CSP load sources. This +affects all directives except for the script directive. If you want to add a +script source, see ContentSecurityPolicyScriptSource hook. &$defaultSrc: Array of Content-Security-Policy allowed sources $policyConfig: Current configuration for the Content-Security-Policy header -$mode: ContentSecurityPolicy::REPORT_ONLY_MODE or ContentSecurityPolicy::FULL_MODE - depending on type of header +$mode: ContentSecurityPolicy::REPORT_ONLY_MODE or + ContentSecurityPolicy::FULL_MODE depending on type of header -'ContentSecurityPolicyDirectives': Modify the content security policy directives. -Use this only if ContentSecurityPolicyDefaultSource and +'ContentSecurityPolicyDirectives': Modify the content security policy +directives. Use this only if ContentSecurityPolicyDefaultSource and ContentSecurityPolicyScriptSource do not meet your needs. &$directives: Array of CSP directives $policyConfig: Current configuration for the CSP header @@@ -1213,8 -1208,8 +1213,8 @@@ want non-script sources to be loaded fr whatever you add. &$scriptSrc: Array of CSP directives $policyConfig: Current configuration for the CSP header -$mode: ContentSecurityPolicy::REPORT_ONLY_MODE or ContentSecurityPolicy::FULL_MODE - depending on type of header +$mode: ContentSecurityPolicy::REPORT_ONLY_MODE or + ContentSecurityPolicy::FULL_MODE depending on type of header 'CustomEditor': When invoking the page editor Return true to allow the normal editor to be used, or false if implementing @@@ -1245,15 -1240,12 +1245,15 @@@ $row: the DB row for this lin Currently only data attributes reserved to MediaWiki are allowed (see Sanitizer::isReservedDataAttribute). -'DeleteUnknownPreferences': Called by the cleanupPreferences.php maintenance script to build a WHERE clause with which -to delete preferences that are not known about. This hook is used by extensions that have dynamically-named preferences -that should not be deleted in the usual cleanup process. For example, the Gadgets extension creates preferences prefixed -with 'gadget-', and so anything with that prefix is excluded from the deletion. -&where: An array that will be passed as the $cond parameter to IDatabase::select() to determine what will be deleted - from the user_properties table. +'DeleteUnknownPreferences': Called by the cleanupPreferences.php maintenance +script to build a WHERE clause with which to delete preferences that are not +known about. This hook is used by extensions that have dynamically-named +preferences that should not be deleted in the usual cleanup process. For +example, the Gadgets extension creates preferences prefixed with 'gadget-', and +so anything with that prefix is excluded from the deletion. +&where: An array that will be passed as the $cond parameter to + IDatabase::select() to determine what will be deleted from the user_properties + table. $db: The IDatabase object, useful for accessing $db->buildLike() etc. 'DifferenceEngineAfterLoadNewText': called in DifferenceEngine::loadNewText() @@@ -1268,88 -1260,82 +1268,88 @@@ checking if the variable's value is nul This hook can be used to inject content into said class member variable. $differenceEngine: DifferenceEngine object -'DifferenceEngineMarkPatrolledLink': Allows extensions to change the "mark as patrolled" link -which is shown both on the diff header as well as on the bottom of a page, usually -wrapped in a span element which has class="patrollink". +'DifferenceEngineMarkPatrolledLink': Allows extensions to change the "mark as +patrolled" link which is shown both on the diff header as well as on the bottom +of a page, usually wrapped in a span element which has class="patrollink". $differenceEngine: DifferenceEngine object &$markAsPatrolledLink: The "mark as patrolled" link HTML (string) $rcid: Recent change ID (rc_id) for this change (int) -'DifferenceEngineMarkPatrolledRCID': Allows extensions to possibly change the rcid parameter. -For example the rcid might be set to zero due to the user being the same as the -performer of the change but an extension might still want to show it under certain -conditions. +'DifferenceEngineMarkPatrolledRCID': Allows extensions to possibly change the +rcid parameter. For example the rcid might be set to zero due to the user being +the same as the performer of the change but an extension might still want to +show it under certain conditions. &$rcid: rc_id (int) of the change or 0 $differenceEngine: DifferenceEngine object $change: RecentChange object $user: User object representing the current user -'DifferenceEngineNewHeader': Allows extensions to change the $newHeader variable, which -contains information about the new revision, such as the revision's author, whether -the revision was marked as a minor edit or not, etc. +'DifferenceEngineNewHeader': Allows extensions to change the $newHeader +variable, which contains information about the new revision, such as the +revision's author, whether the revision was marked as a minor edit or not, etc. $differenceEngine: DifferenceEngine object &$newHeader: The string containing the various #mw-diff-otitle[1-5] divs, which -include things like revision author info, revision comment, RevisionDelete link and more + include things like revision author info, revision comment, RevisionDelete + link and more $formattedRevisionTools: Array containing revision tools, some of which may have -been injected with the DiffRevisionTools hook -$nextlink: String containing the link to the next revision (if any); also included in $newHeader -$rollback: Rollback link (string) to roll this revision back to the previous one, if any + been injected with the DiffRevisionTools hook +$nextlink: String containing the link to the next revision (if any); also + included in $newHeader +$rollback: Rollback link (string) to roll this revision back to the previous + one, if any $newminor: String indicating if the new revision was marked as a minor edit $diffOnly: Boolean parameter passed to DifferenceEngine#showDiffPage, indicating -whether we should show just the diff; passed in as a query string parameter to the -various URLs constructed here (i.e. $nextlink) + whether we should show just the diff; passed in as a query string parameter to + the various URLs constructed here (i.e. $nextlink) $rdel: RevisionDelete link for the new revision, if the current user is allowed -to use the RevisionDelete feature + to use the RevisionDelete feature $unhide: Boolean parameter indicating whether to show RevisionDeleted revisions -'DifferenceEngineOldHeader': Allows extensions to change the $oldHeader variable, which -contains information about the old revision, such as the revision's author, whether -the revision was marked as a minor edit or not, etc. +'DifferenceEngineOldHeader': Allows extensions to change the $oldHeader +variable, which contains information about the old revision, such as the +revision's author, whether the revision was marked as a minor edit or not, etc. $differenceEngine: DifferenceEngine object &$oldHeader: The string containing the various #mw-diff-otitle[1-5] divs, which -include things like revision author info, revision comment, RevisionDelete link and more -$prevlink: String containing the link to the previous revision (if any); also included in $oldHeader + include things like revision author info, revision comment, RevisionDelete + link and more +$prevlink: String containing the link to the previous revision (if any); also + included in $oldHeader $oldminor: String indicating if the old revision was marked as a minor edit $diffOnly: Boolean parameter passed to DifferenceEngine#showDiffPage, indicating -whether we should show just the diff; passed in as a query string parameter to the -various URLs constructed here (i.e. $prevlink) + whether we should show just the diff; passed in as a query string parameter to + the various URLs constructed here (i.e. $prevlink) $ldel: RevisionDelete link for the old revision, if the current user is allowed -to use the RevisionDelete feature + to use the RevisionDelete feature $unhide: Boolean parameter indicating whether to show RevisionDeleted revisions -'DifferenceEngineOldHeaderNoOldRev': Change the $oldHeader variable in cases when -there is no old revision +'DifferenceEngineOldHeaderNoOldRev': Change the $oldHeader variable in cases +when there is no old revision &$oldHeader: empty string by default -'DifferenceEngineRenderRevisionAddParserOutput': Allows extensions to change the parser output. -Return false to not add parser output via OutputPage's addParserOutput method. +'DifferenceEngineRenderRevisionAddParserOutput': Allows extensions to change the +parser output. Return false to not add parser output via OutputPage's +addParserOutput method. $differenceEngine: DifferenceEngine object $out: OutputPage object $parserOutput: ParserOutput object $wikiPage: WikiPage object -'DifferenceEngineRenderRevisionShowFinalPatrolLink': An extension can hook into this hook -point and return false to not show the final "mark as patrolled" link on the bottom -of a page. +'DifferenceEngineRenderRevisionShowFinalPatrolLink': An extension can hook into +this hook point and return false to not show the final "mark as patrolled" link +on the bottom of a page. This hook has no arguments. 'DifferenceEngineShowDiff': Allows extensions to affect the diff text which eventually gets sent to the OutputPage object. $differenceEngine: DifferenceEngine object -'DifferenceEngineShowEmptyOldContent': Allows extensions to change the diff table -body (without header) in cases when there is no old revision or the old and new -revisions are identical. +'DifferenceEngineShowEmptyOldContent': Allows extensions to change the diff +table body (without header) in cases when there is no old revision or the old +and new revisions are identical. $differenceEngine: DifferenceEngine object -'DifferenceEngineShowDiffPage': Add additional output via the available OutputPage -object into the diff view +'DifferenceEngineShowDiffPage': Add additional output via the available +OutputPage object into the diff view $out: OutputPage object 'DifferenceEngineShowDiffPageMaybeShowMissingRevision': called in @@@ -1375,7 -1361,7 +1375,7 @@@ an articl &$article: article (object) being viewed &$oldid: oldid (int) being viewed -'DoEditSectionLink': DEPRECATED! Use SkinEditSectionLinks instead. +'DoEditSectionLink': DEPRECATED since 1.25! Use SkinEditSectionLinks instead. Override the HTML generated for section edit links $skin: Skin object rendering the UI $title: Title object for the title being linked to (may not be the same as @@@ -1395,6 -1381,7 +1395,6 @@@ $section: Section being edite &$error: Error message to return $summary: Edit summary for page - 'EditFilterMergedContent': Post-section-merge edit filter. This may be triggered by the EditPage or any other facility that modifies page content. Use the $status object to indicate whether the edit should be allowed, @@@ -1402,7 -1389,7 +1402,7 @@@ and to provide a reason for disallowin true to continue. Returning true if $status->isOK() returns false means "don't save but continue user 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. + 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. @@@ -1430,9 -1417,9 +1430,9 @@@ $resultDetails: Result details arra 'EditPage::importFormData': allow extensions to read additional data posted in the form +Return value is ignored (should always return true) $editpage: EditPage instance $request: Webrequest -return value is ignored (should always return true) 'EditPage::showEditForm:fields': allows injection of form field into edit form Return value is ignored (should always return true) @@@ -1474,11 -1461,18 +1474,11 @@@ textarea in the edit form &$buttons: Array of edit buttons "Save", "Preview", "Live", and "Diff" &$tabindex: HTML tabindex of the last edit check/button -'EditPageBeforeEditChecks': DEPRECATED! Use 'EditPageGetCheckboxesDefinition' instead, -or 'EditPage::showStandardInputs:options' if you don't actually care about checkboxes -and just want to add some HTML to the page. -Allows modifying the edit checks below the textarea in the edit form. -&$editpage: The current EditPage object -&$checks: Array of the HTML for edit checks like "watch this page"/"minor edit" -&$tabindex: HTML tabindex of the last edit check/button - 'EditPageBeforeEditToolbar': Allows modifying the edit toolbar above the textarea in the edit form. +Hook subscribers can return false to avoid the default toolbar code being +loaded. &$toolbar: The toolbar HTML -Hook subscribers can return false to avoid the default toolbar code being loaded. 'EditPageCopyrightWarning': Allow for site and per-namespace customization of contribution/copyright notice. @@@ -1489,8 -1483,8 +1489,8 @@@ $title: title of page being edite 'EditPageGetCheckboxesDefinition': Allows modifying the edit checkboxes below the textarea in the edit form. $editpage: The current EditPage object -&$checkboxes: Array of checkbox definitions. See EditPage::getCheckboxesDefinition() -for the format. +&$checkboxes: Array of checkbox definitions. See + EditPage::getCheckboxesDefinition() for the format. 'EditPageGetDiffContent': Allow modifying the wikitext that will be used in "Show changes". Note that it is preferable to implement diff handling for @@@ -1526,8 -1520,7 +1526,8 @@@ true to allow those checks to occur, an &$from: MailAddress object of sending user &$subject: subject of the mail &$text: text of the mail -&$error: Out-param for an error. Should be set to a Status object or boolean false. +&$error: Out-param for an error. Should be set to a Status object or boolean + false. 'EmailUserCC': Before sending the copy of the email to the author. &$to: MailAddress object of receiving user @@@ -1562,8 -1555,7 +1562,8 @@@ $block: The RecentChanges objects in th a grouped recent change inner line in EnhancedChangesList. Hook subscribers can return false to omit this line from recentchanges. $changesList: EnhancedChangesList object -&$data: An array with all the components that will be joined in order to create the line +&$data: An array with all the components that will be joined in order to create + the line $block: An array of RecentChange objects in that block $rc: The RecentChange object for this line &$classes: An array of classes to change @@@ -1574,8 -1566,7 +1574,8 @@@ 'EnhancedChangesListModifyBlockLineData': to alter data used to build a non-grouped recent change line in EnhancedChangesList. $changesList: EnhancedChangesList object -&$data: An array with all the components that will be joined in order to create the line +&$data: An array with all the components that will be joined in order to create + the line $rc: The RecentChange object for this line 'ExemptFromAccountCreationThrottle': Exemption from the account creation @@@ -1681,10 -1672,10 +1681,10 @@@ underscore) magic words. Called by Magi 'GetExtendedMetadata': Get extended file metadata for the API &$combinedMeta: Array of the form: - 'MetadataPropName' => array( + 'MetadataPropName' => [ value' => prop value, 'source' => 'name of hook' - ). + ]. $file: File object of file in question $context: RequestContext (including language to use) $single: Only extract the current language; if false, the prop value should @@@ -1782,7 -1773,7 +1782,7 @@@ $lang: Language that will be used to re 'getUserPermissionsErrors': Add a permissions error when permissions errors are checked for. Use instead of userCan for most cases. Return false if the user can't do it, and populate $result with the reason in the form of -array( messagename, param1, param2, ... ) or a MessageSpecifier instance (you +[ messagename, param1, param2, ... ] or a MessageSpecifier instance (you might want to use ApiMessage to provide machine-readable details for the API). For consistency, error messages should be plain text with no special coloring, bolding, etc. to show that @@@ -1796,12 -1787,12 +1796,12 @@@ $action: Action being checke 'getUserPermissionsErrorsExpensive': Equal to getUserPermissionsErrors, but is called only if expensive checks are enabled. Add a permissions error when permissions errors are checked for. Return false if the user can't do it, and -populate $result with the reason in the form of array( messagename, param1, -param2, ... ) or a MessageSpecifier instance (you might want to use ApiMessage -to provide machine-readable details for the API). For consistency, error -messages should be plain text with no -special coloring, bolding, etc. to show that they're errors; presenting them -properly to the user as errors is done by the caller. +populate $result with the reason in the form of [ messagename, param1, param2, +... ] or a MessageSpecifier instance (you might want to use ApiMessage to +provide machine-readable details for the API). For consistency, error messages +should be plain text with no special coloring, bolding, etc. to show that +they're errors; presenting them properly to the user as errors is done by the +caller. &$title: Title object being checked against &$user: Current user object $action: Action being checked @@@ -1835,9 -1826,6 +1835,9 @@@ just modify a few things using call-by- includes/Linker.php for Linker::makeImageLink &$time: Timestamp of file in 'YYYYMMDDHHIISS' string form, or false for current &$res: Final HTML output, used if you return false +$parser: Parser instance +&$query: Query params for desc URL +&$widthOption: Used by the parser to remember the user preference thumbnailsize 'ImageOpenShowImageInlineBefore': Call potential extension just before showing the image on an image page. @@@ -1898,9 -1886,9 +1898,9 @@@ $revisionInfo: Array of revision inform Return false to stop further processing of the tag $reader: XMLReader object -'ImportHandleUnknownUser': When a user doesn't exist locally, this hook is called -to give extensions an opportunity to auto-create it. If the auto-creation is -successful, return false. +'ImportHandleUnknownUser': When a user doesn't exist locally, this hook is +called to give extensions an opportunity to auto-create it. If the auto-creation +is successful, return false. $name: User name 'ImportHandleUploadXMLTag': When parsing a XML tag in a file upload. @@@ -1984,7 -1972,7 +1984,7 @@@ $user: User the password is being valid $code: The language code or the language we're looking for a messages file for &$file: The messages file path, you can override this to change the location. -'LanguageGetMagic': DEPRECATED! Use $magicWords in a file listed in +'LanguageGetMagic': DEPRECATED since 1.16! Use $magicWords in a file listed in $wgExtensionMessagesFiles instead. Use this to define synonyms of magic words depending of the language &$magicExtensions: associative array of magic words synonyms @@@ -2019,11 -2007,11 +2019,11 @@@ $title: The page's Title $out: The output page. $cssClassName: CSS class name of the language selector. -'LinkBegin': DEPRECATED! Use HtmlPageLinkRendererBegin instead. -Used when generating internal and interwiki links in -Linker::link(), before processing starts. Return false to skip default -processing and return $ret. See documentation for Linker::link() for details on -the expected meanings of parameters. +'LinkBegin': DEPRECATED since 1.28! Use HtmlPageLinkRendererBegin instead. +Used when generating internal and interwiki links in Linker::link(), before +processing starts. Return false to skip default processing and return $ret. See +documentation for Linker::link() for details on the expected meanings of +parameters. $skin: the Skin object $target: the Title that the link is pointing to &$html: the contents that the tag should have (raw HTML); null means @@@ -2037,7 -2025,7 +2037,7 @@@ &$options: array of options. Can include 'known', 'broken', 'noclasses'. &$ret: the value to return if your hook returns false. -'LinkEnd': DEPRECATED! Use HtmlPageLinkRendererEnd hook instead +'LinkEnd': DEPRECATED since 1.28! Use HtmlPageLinkRendererEnd hook instead Used when generating internal and interwiki links in Linker::link(), just before the function returns a value. If you return true, an element with HTML attributes $attribs and contents $html will be returned. If you @@@ -2219,11 -2207,11 +2219,11 @@@ in LoginForm::$validErrorMessages) &$messages: Already added messages (inclusive messages from LoginForm::$validErrorMessages) -'LoginUserMigrated': DEPRECATED! Create a PreAuthenticationProvider instead. -Called during login to allow extensions the opportunity to inform a user that -their username doesn't exist for a specific reason, instead of letting the -login form give the generic error message that the account does not exist. For -example, when the account has been renamed or deleted. +'LoginUserMigrated': DEPRECATED since 1.27! Create a PreAuthenticationProvider +instead. Called during login to allow extensions the opportunity to inform a +user that their username doesn't exist for a specific reason, instead of letting +the login form give the generic error message that the account does not exist. +For example, when the account has been renamed or deleted. $user: the User object being authenticated against. &$msg: the message identifier for abort reason, or an array to pass a message key and parameters. @@@ -2277,18 -2265,6 +2277,18 @@@ $wcOnlySysopsCanPatrol: config setting sysop to patrol the edit. $auto: true if the edit is being marked as patrolled automatically +'ApiMaxLagInfo': When lag information is being requested via API. Use this to +override lag information. Generally a hook function should only replace +$lagInfo if the new $lagInfo['lag'] is greater than the current $lagInfo['lag']. +&$lagInfo: Maximum lag information array. Fields in the array are: + 'lag' is the number of seconds of lag. + 'host' is the host name on which the lag exists. + 'type' is an indication of the type of lag, + e.g. "db" for database replication lag or "jobqueue" for job queue size + converted to pseudo-seconds. + It is possible to add more fields and they will be returned to the user in + the API response. + 'MediaWikiPerformAction': Override MediaWiki::performAction(). Use this to do something completely different, after the basic globals have been set up, but before ordinary actions take place. @@@ -2383,8 -2359,8 +2383,8 @@@ $new: the ?new= param value from the ur 'NewPagesLineEnding': Called before a NewPages line is finished. $page: the SpecialNewPages object &$ret: the HTML line -$row: the database row for this page (the recentchanges record and a few extras - see - NewPagesPager::getQueryInfo) +$row: the database row for this page (the recentchanges record and a few extras + - see NewPagesPager::getQueryInfo) &$classes: the classes to add to the surrounding
  • &$attribs: associative array of other HTML attributes for the
  • element. Currently only data attributes reserved to MediaWiki are allowed @@@ -2623,7 -2599,7 +2623,7 @@@ cache or return false to not use it &$parser: Parser object &$varCache: variable cache (array) -'ParserLimitReport': DEPRECATED! Use ParserLimitReportPrepare and +'ParserLimitReport': DEPRECATED since 1.22! Use ParserLimitReportPrepare and ParserLimitReportFormat instead. Called at the end of Parser:parse() when the parser will include comments about size of the text parsed. @@@ -2660,8 -2636,7 +2660,8 @@@ change the default value for an option be invalid. To avoid bugs, you'll need to handle that somehow (e.g. with the RejectParserCacheValue hook) because MediaWiki won't do it for you. &$defaults: Set the default value for your option here. -&$inCacheKey: To fragment the parser cache on your option, set a truthy value here. +&$inCacheKey: To fragment the parser cache on your option, set a truthy value + here. &$lazyLoad: To lazy-initialize your option, set it null in $defaults and set a callable here. The callable is passed the ParserOptions object and the option name. @@@ -2691,8 -2666,7 +2691,8 @@@ run. Use when page save hooks require t that tests continue to run properly. &$tables: array of table names -'ParserOutputStashForEdit': Called when an edit stash parse finishes, before the output is cached. +'ParserOutputStashForEdit': Called when an edit stash parse finishes, before the +output is cached. $page: the WikiPage of the candidate edit $content: the Content object of the candidate edit $output: the ParserOutput result of the candidate edit @@@ -2754,8 -2728,7 +2754,8 @@@ $key: the section nam &$legend: the legend text. Defaults to wfMessage( "prefs-$key" )->text() but may be overridden -'PrefixSearchBackend': DEPRECATED! Override SearchEngine::completionSearchBackend instead. +'PrefixSearchBackend': DEPRECATED since 1.27! Override +SearchEngine::completionSearchBackend instead. Override the title prefix search used for OpenSearch and AJAX search suggestions. Put results into &$results outparam and return false. $ns: array of int namespace keys to search in @@@ -2851,7 -2824,7 +2851,7 @@@ $context: ResourceLoaderContext|nul ResourceLoaderStartUpModule::getConfigSettings(). Use this to export static configuration variables to JavaScript. Things that depend on the current page or request state must be added through MakeGlobalVariablesScript instead. -&$vars: array( variable name => value ) +&$vars: [ variable name => value ] 'ResourceLoaderJqueryMsgModuleMagicWords': Called in ResourceLoaderJqueryMsgModule to allow adding magic words for jQueryMsg. @@@ -2870,10 -2843,10 +2870,10 @@@ called after the addition of 'qunit' an &$testModules: array of JavaScript testing modules. The 'qunit' framework, included in core, is fed using tests/qunit/QUnitTestResources.php. To add a new qunit module named 'myext.tests': - $testModules['qunit']['myext.tests'] = array( + $testModules['qunit']['myext.tests'] = [ 'script' => 'extension/myext/tests.js', 'dependencies' => - ); + ]; For QUnit framework, the mediawiki.tests.qunit.testrunner dependency will be added to any module. &$ResourceLoader: object @@@ -2881,8 -2854,8 +2881,8 @@@ 'RevisionRecordInserted': Called after a revision is inserted into the database. $revisionRecord: the RevisionRecord that has just been inserted. -'RevisionInsertComplete': DEPRECATED! Use RevisionRecordInserted hook instead. -Called after a revision is inserted into the database. +'RevisionInsertComplete': DEPRECATED since 1.31! Use RevisionRecordInserted hook +instead. Called after a revision is inserted into the database. $revision: the Revision $data: DEPRECATED! Always null! $flags: DEPRECATED! Always null! @@@ -2930,12 -2903,10 +2930,12 @@@ $engine: SearchEngine for which the ind 'SearchResultsAugment': Allows extension to add its code to the list of search result augmentors. -&$setAugmentors: List of whole-set augmentor objects, must implement ResultSetAugmentor -&$rowAugmentors: List of per-row augmentor objects, must implement ResultAugmentor. -Note that lists should be in the format name => object and the names in both lists should -be distinct. +&$setAugmentors: List of whole-set augmentor objects, must implement + ResultSetAugmentor. +&$rowAugmentors: List of per-row augmentor objects, must implement + ResultAugmentor. +Note that lists should be in the format name => object and the names in both + lists should be distinct. 'SecondaryDataUpdates': Allows modification of the list of DataUpdates to perform when page content is modified. Currently called by @@@ -3018,13 -2989,11 +3018,13 @@@ $terms: Search terms, for highlightin 'ShowSearchHitTitle': Customise display of search hit title/link. &$title: Title to link to -&$titleSnippet: Label for the link representing the search result. Typically the article title. +&$titleSnippet: Label for the link representing the search result. Typically the + article title. $result: The SearchResult object $terms: String of the search terms entered $specialSearch: The SpecialSearch object -&$query: Array of query string parameters for the link representing the search result. +&$query: Array of query string parameters for the link representing the search + result. &$attributes: Array of title link attributes, can be modified by extension. 'SidebarBeforeOutput': Allows to edit sidebar just before it is output by skins. @@@ -3202,7 -3171,7 +3202,7 @@@ $pager: The UsersPager instanc 'SpecialListusersFormatRow': Called right before the end of UsersPager::formatRow(). -&$item: HTML to be returned. Will be wrapped in
  • after the hook finishes +&$item: HTML to be returned. Will be wrapped in an
  • after the hook finishes $row: Database row object 'SpecialListusersHeader': Called after adding the submit button in @@@ -3279,8 -3248,8 +3279,8 @@@ use this to change some selection crite &$title: If the hook returns false, a Title object to use instead of the result from the normal query -'SpecialRecentChangesFilters': DEPRECATED! Use ChangesListSpecialPageStructuredFilters -instead. +'SpecialRecentChangesFilters': DEPRECATED since 1.23! Use +ChangesListSpecialPageStructuredFilters instead. Called after building form options at RecentChanges. $special: the special page object &$filters: associative array of filter definitions. The keys are the HTML @@@ -3292,8 -3261,8 +3292,8 @@@ SpecialRecentChanges &$extraOpts: array of added items, to which can be added $opts: FormOptions for this request -'SpecialRecentChangesQuery': DEPRECATED! Use ChangesListSpecialPageStructuredFilters -or ChangesListSpecialPageQuery instead. +'SpecialRecentChangesQuery': DEPRECATED since 1.23! Use +ChangesListSpecialPageStructuredFilters or ChangesListSpecialPageQuery instead. Called when building SQL query for SpecialRecentChanges and SpecialRecentChangesLinked. &$conds: array of WHERE conditionals for query @@@ -3306,10 -3275,10 +3306,10 @@@ $opts: FormOptions for this reques 'SpecialResetTokensTokens': Called when building token list for SpecialResetTokens. &$tokens: array of token information arrays in the format of - array( + [ 'preference' => '', 'label-message' => '', - ) + ] 'SpecialSearchCreateLink': Called when making the message to create a page or go to the existing page. @@@ -3322,8 -3291,7 +3322,8 @@@ $url does a standard redirect to $title specified URL. $term: The string the user searched for $title: The title the 'go' feature has decided to forward the user to -&$url: Initially null, hook subscribers can set this to specify the final url to redirect to +&$url: Initially null, hook subscribers can set this to specify the final url to + redirect to 'SpecialSearchNogomatch': Called when the 'Go' feature is triggered (generally from autocomplete search other than the main bar on Special:Search) and the @@@ -3381,14 -3349,11 +3381,14 @@@ $engine: the search engin message key to use in the name column, $context: IContextSource object -'SpecialTrackingCategories::preprocess': Called after LinkBatch on Special:TrackingCategories +'SpecialTrackingCategories::preprocess': Called after LinkBatch on +Special:TrackingCategories $specialPage: The SpecialTrackingCategories object -$trackingCategories: Array of data from Special:TrackingCategories with msg and cats +$trackingCategories: Array of data from Special:TrackingCategories with msg and + cats -'SpecialTrackingCategories::generateCatLink': Called for each cat link on Special:TrackingCategories +'SpecialTrackingCategories::generateCatLink': Called for each cat link on +Special:TrackingCategories $specialPage: The SpecialTrackingCategories object $catTitle: The Title object of the linked category &$html: The Result html @@@ -3401,8 -3366,8 +3401,8 @@@ Special:Upload $wgVersion: Current $wgVersion for you to use &$versionUrl: Raw url to link to (eg: release notes) -'SpecialWatchlistFilters': DEPRECATED! Use ChangesListSpecialPageStructuredFilters -instead. +'SpecialWatchlistFilters': DEPRECATED since 1.23! Use +ChangesListSpecialPageStructuredFilters instead. Called after building form options at Watchlist. $special: the special page object &$filters: associative array of filter definitions. The keys are the HTML @@@ -3414,8 -3379,8 +3414,8 @@@ SpecialWatchlist. Allows extensions to inserted to rc_type so they can be returned as part of the watchlist. &$nonRevisionTypes: array of values in the rc_type field of recentchanges table -'SpecialWatchlistQuery': DEPRECATED! Use ChangesListSpecialPageStructuredFilters -or ChangesListSpecialPageQuery instead. +'SpecialWatchlistQuery': DEPRECATED since 1.23! Use +ChangesListSpecialPageStructuredFilters or ChangesListSpecialPageQuery instead. Called when building sql query for SpecialWatchlist. &$conds: array of WHERE conditionals for query &$tables: array of tables to be queried @@@ -3478,8 -3443,7 +3478,8 @@@ $old: old titl $nt: new title $user: user who does the move -'TitleMoveStarting': Before moving an article (title), but just after the atomic DB section starts. +'TitleMoveStarting': Before moving an article (title), but just after the atomic +DB section starts. $old: old title $nt: new title $user: user who does the move @@@ -3552,8 -3516,8 +3552,8 @@@ $title: Title object of the page that w $title: title object related to the revision $rev: revision (object) that will be viewed -'UnitTestsAfterDatabaseSetup': Called right after MediaWiki's test infrastructure -has finished creating/duplicating core tables for unit tests. +'UnitTestsAfterDatabaseSetup': Called right after MediaWiki's test +infrastructure has finished creating/duplicating core tables for unit tests. $database: Database in question $prefix: Table prefix to be used in unit tests @@@ -3565,7 -3529,7 +3565,7 @@@ Since 1.24: Paths pointing to a directo test case files matching the suffix "Test.php". &$paths: list of test cases and directories to search. -'UnknownAction': DEPRECATED! To add an action in an extension, +'UnknownAction': DEPRECATED since 1.19! To add an action in an extension, create a subclass of Action, and add a new key to $wgActions. An unknown "action" has occurred (useful for defining your own actions). $action: action name @@@ -3592,11 -3556,11 +3592,11 @@@ $type: (string) the requested upload ty &$className: the class name of the Upload instance to be created 'UploadForm:BeforeProcessing': At the beginning of processUpload(). Lets you - poke at member variables like $mUploadDescription before the file is saved. Do - not use this hook to break upload processing. This will return the user to a - blank form with no error message; use UploadVerification and UploadVerifyFile - instead. - &$form: UploadForm object + poke at member variables like $mUploadDescription before the file is saved. + Do not use this hook to break upload processing. + This will return the user to a blank form with no error message; + use UploadVerifyUpload or UploadVerifyFile instead. + &$upload: SpecialUpload object 'UploadForm:getInitialPageText': After the initial page text for file uploads is generated, to allow it to be altered. @@@ -3607,7 -3571,7 +3607,7 @@@ $config: Config objec 'UploadForm:initial': Before the upload form is generated. You might set the member-variables $uploadFormTextTop and $uploadFormTextAfterSummary to inject text (HTML) either before or after the editform. - &$form: UploadForm object + &$upload: SpecialUpload object 'UploadFormInitDescriptor': After the descriptor for the upload form as been assembled. @@@ -3626,12 -3590,12 +3626,12 @@@ being uploaded, use UploadVerifyFile o $upload: (object) An instance of UploadBase, with all info about the upload $user: (object) An instance of User, the user uploading this file $props: (array) File properties, as returned by FSFile::getPropsFromPath() -&$error: output: If the file stashing should be prevented, set this to the reason - in the form of array( messagename, param1, param2, ... ) or a MessageSpecifier - instance (you might want to use ApiMessage to provide machine-readable details - for the API). +&$error: output: If the file stashing should be prevented, set this to the + reason in the form of [ messagename, param1, param2, ... ] or a + MessageSpecifier instance (you might want to use ApiMessage to provide machine + -readable details for the API). -'UploadVerification': DEPRECATED! Use UploadVerifyFile instead. +'UploadVerification': DEPRECATED since 1.28! Use UploadVerifyFile instead. Additional chances to reject an uploaded file. $saveName: (string) destination file name $tempName: (string) filesystem path to the temporary file for checks @@@ -3644,10 -3608,10 +3644,10 @@@ in most cases over UploadVerification $upload: (object) an instance of UploadBase, with all info about the upload $mime: (string) The uploaded file's MIME type, as detected by MediaWiki. Handlers will typically only apply for specific MIME types. -&$error: (object) output: true if the file is valid. Otherwise, set this to the reason - in the form of array( messagename, param1, param2, ... ) or a MessageSpecifier - instance (you might want to use ApiMessage to provide machine-readable details - for the API). +&$error: (object) output: true if the file is valid. Otherwise, set this to the + reason in the form of [ messagename, param1, param2, ... ] or a + MessageSpecifier instance (you might want to use ApiMessage to provide machine + -readable details for the API). 'UploadVerifyUpload': Upload verification, based on both file properties like MIME type (same as UploadVerifyFile) and the information entered by the user @@@ -3658,7 -3622,7 +3658,7 @@@ $props: (array) File properties, as ret $comment: (string) Upload log comment (also used as edit summary) $pageText: (string) File description page text (only used for new uploads) &$error: output: If the file upload should be prevented, set this to the reason - in the form of array( messagename, param1, param2, ... ) or a MessageSpecifier + in the form of [ messagename, param1, param2, ... ] or a MessageSpecifier instance (you might want to use ApiMessage to provide machine-readable details for the API). @@@ -3701,8 -3665,8 +3701,8 @@@ messages!" message, return false to no &$user: User (object) that will clear the message $oldid: ID of the talk page revision being viewed (0 means the most recent one) -'UserCreateForm': DEPRECATED! Create an AuthenticationProvider instead. -Manipulate the login form. +'UserCreateForm': DEPRECATED since 1.27! Create an AuthenticationProvider +instead. Manipulate the login form. &$template: SimpleTemplate instance for the form 'UserEffectiveGroups': Called in User::getEffectiveGroups(). @@@ -3729,7 -3693,7 +3729,7 @@@ $user: User objec &$timestamp: timestamp, change this to override local email authentication timestamp -'UserGetImplicitGroups': DEPRECATED! +'UserGetImplicitGroups': DEPRECATED since 1.25! Called in User::getImplicitGroups(). &$groups: List of implicit (automatically-assigned) groups @@@ -3795,8 -3759,7 +3795,8 @@@ $name: user nam $user: user object &$s: database query object -'UserLoadFromSession': DEPRECATED! Create a MediaWiki\Session\SessionProvider instead. +'UserLoadFromSession': DEPRECATED since 1.27! Create a +MediaWiki\Session\SessionProvider instead. Called to authenticate users on external/environmental means; occurs before session is loaded. $user: user object being loaded @@@ -3811,17 -3774,16 +3811,17 @@@ $user: User objec 'UserLoggedIn': Called after a user is logged in $user: User object for the logged-in user -'UserLoginComplete': Show custom content after a user has logged in via the web interface. -For functionality that needs to run after any login (API or web) use UserLoggedIn. +'UserLoginComplete': Show custom content after a user has logged in via the Web +interface. For functionality that needs to run after any login (API or web) use +UserLoggedIn. &$user: the user object that was created on login &$inject_html: Any HTML to inject after the "logged in" message. -$direct: (bool) The hook is called directly after a successful login. This will only happen once - per login. A UserLoginComplete call with direct=false can happen when the user visits the login - page while already logged in. +$direct: (bool) The hook is called directly after a successful login. This will + only happen once per login. A UserLoginComplete call with direct=false can + happen when the user visits the login page while already logged in. -'UserLoginForm': DEPRECATED! Create an AuthenticationProvider instead. -Manipulate the login form. +'UserLoginForm': DEPRECATED since 1.27! Create an AuthenticationProvider +instead. Manipulate the login form. &$template: QuickTemplate instance for the form 'UserLogout': Before a user logs out. @@@ -3839,26 -3801,21 +3839,26 @@@ $to: Array of MailAddress objects for t 'UserMailerSplitTo': Called in UserMailer::send() to give extensions a chance to split up an email with multiple the To: field into separate emails. -&$to: array of MailAddress objects; unset the ones which should be mailed separately +&$to: array of MailAddress objects; unset the ones which should be mailed +separately -'UserMailerTransformContent': Called in UserMailer::send() to change email contents. -Extensions can block sending the email by returning false and setting $error. +'UserMailerTransformContent': Called in UserMailer::send() to change email +contents. Extensions can block sending the email by returning false and setting +$error. $to: array of MailAdresses of the targets $from: MailAddress of the sender -&$body: email body, either a string (for plaintext emails) or an array with 'text' and 'html' keys +&$body: email body, either a string (for plaintext emails) or an array with + 'text' and 'html' keys &$error: should be set to an error message string -'UserMailerTransformMessage': Called in UserMailer::send() to change email after it has gone through -the MIME transform. Extensions can block sending the email by returning false and setting $error. +'UserMailerTransformMessage': Called in UserMailer::send() to change email after +it has gone through the MIME transform. Extensions can block sending the email +by returning false and setting $error. $to: array of MailAdresses of the targets $from: MailAddress of the sender &$subject: email subject (not MIME encoded) -&$headers: email headers (except To: and Subject:) as an array of header name => value pairs +&$headers: email headers (except To: and Subject:) as an array of header +name => value pairs &$body: email body (in MIME format) as a string &$error: should be set to an error message string @@@ -3887,29 -3844,27 +3887,29 @@@ message(s) &$user: user retrieving new talks messages &$talks: array of new talks page(s) -'UserRights': DEPRECATED! Use UserGroupsChanged instead. +'UserRights': DEPRECATED since 1.26! Use UserGroupsChanged instead. After a user's group memberships are changed. &$user: User object that was changed $add: Array of strings corresponding to groups added $remove: Array of strings corresponding to groups removed -'UserSaveOptions': Called just before saving user preferences. Hook handlers can either add or -manipulate options, or reset one back to it's default to block changing it. Hook handlers are also -allowed to abort the process by returning false, e.g. to save to a global profile instead. Compare -to the UserSaveSettings hook, which is called after the preferences have been saved. +'UserSaveOptions': Called just before saving user preferences. Hook handlers can +either add or manipulate options, or reset one back to it's default to block +changing it. Hook handlers are also allowed to abort the process by returning +false, e.g. to save to a global profile instead. Compare to the UserSaveSettings +hook, which is called after the preferences have been saved. $user: The User for which the options are going to be saved &$options: The users options as an associative array, modifiable -'UserSaveSettings': Called directly after user preferences (user_properties in the database) have -been saved. Compare to the UserSaveOptions hook, which is called before. +'UserSaveSettings': Called directly after user preferences (user_properties in +the database) have been saved. Compare to the UserSaveOptions hook, which is +called before. $user: The User for which the options have been saved -'UserSetCookies': DEPRECATED! If you're trying to replace core session cookie -handling, you want to create a subclass of MediaWiki\Session\CookieSessionProvider -instead. Otherwise, you can no longer count on user data being saved to cookies -versus some other mechanism. +'UserSetCookies': DEPRECATED since 1.27! If you're trying to replace core +session cookie handling, you want to create a subclass of +MediaWiki\Session\CookieSessionProvider instead. Otherwise, you can no longer +count on user data being saved to cookies versus some other mechanism. Called when setting user cookies. $user: User object &$session: session array, will be added to the session @@@ -3938,7 -3893,7 +3938,7 @@@ displayed correctly in Special:ListUser $dbr: Read-only database handle $userIds: Array of user IDs whose groups we should look up &$cache: Array of user ID -> (array of internal group name (e.g. 'sysop') -> -UserGroupMembership object) + UserGroupMembership object) &$groups: Array of group name -> bool true mappings for members of a given user group @@@ -4013,15 -3968,15 +4013,15 @@@ dumps. One, and only one hook should se &$opts: Options to use for the query &$join: Join conditions -'WikiPageDeletionUpdates': manipulate the list of DeferrableUpdates to be applied when -a page is deleted. Called in WikiPage::getDeletionUpdates(). Note that updates -specific to a content model should be provided by the respective Content's -getDeletionUpdates() method. +'WikiPageDeletionUpdates': manipulate the list of DeferrableUpdates to be +applied when a page is deleted. Called in WikiPage::getDeletionUpdates(). Note +that updates specific to a content model should be provided by the respective +Content's getDeletionUpdates() method. $page: the WikiPage -$content: the Content to generate updates for, or null in case the page revision could not be - loaded. The delete will succeed despite this. -&$updates: the array of objects that implement DeferrableUpdate. Hook function may want to add to - it. +$content: the Content to generate updates for, or null in case the page revision + could not be loaded. The delete will succeed despite this. +&$updates: the array of objects that implement DeferrableUpdate. Hook function + may want to add to it. 'WikiPageFactory': Override WikiPage class used for a title $title: Title of the page