X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=docs%2Fhooks.txt;h=756ba4e8d0bef9ceb21b9858cfd32ebf0333d56c;hb=c3cb10b55c832b9dc2d6805d10966549213c46b7;hp=1e5072f003157dbe31a11022cf1d60209a1c55bf;hpb=625b6ba00fc6ed8fd0204a1decb911e6bc8a91ca;p=lhc%2Fweb%2Fwiklou.git diff --git a/docs/hooks.txt b/docs/hooks.txt index 1e5072f003..a6d6c6c08e 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -91,23 +91,29 @@ title-reversing if-blocks spread all over the codebase in showAnArticle, deleteAnArticle, exportArticle, etc., we can concentrate it all in an extension file: - function reverseArticleTitle( $article ) { + function onArticleShow( &$article ) { # ... } - function reverseForExport( $article ) { + function onArticleDelete( &$article ) { # ... } -The setup function for the extension just has to add its hook functions to the -appropriate events: - - setupTitleReversingExtension() { - global $wgHooks; + function onArticleExport( &$article ) { + # ... + } - $wgHooks['ArticleShow'][] = 'reverseArticleTitle'; - $wgHooks['ArticleDelete'][] = 'reverseArticleTitle'; - $wgHooks['ArticleExport'][] = 'reverseForExport'; +General practice is to have a dedicated file for functions activated by hooks, +which functions named 'onHookName'. In the example above, the file +'ReverseHooks.php' includes the functions that should be activated by the +'ArticleShow', 'ArticleDelete', and 'ArticleExport' hooks. The 'extension.json' +file with the extension's registration just has to add its hook functions +to the appropriate events: + + "Hooks": { + "ArticleShow": "ReverseHooks:onArticleShow", + "ArticleDelete": "ReverseHooks::onArticleDelete", + "ArticleExport": "ReverseHooks::onArticleExport" } Having all this code related to the title-reversion option in one place means @@ -944,12 +950,6 @@ No return data is accepted; this hook is for auditing only. $req: AuthenticationRequest object describing the change (and target user) $status: StatusValue with the result of the action -'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. - 'ChangesListInitRows': Batch process change list rows prior to rendering. $changesList: ChangesList instance $rows: The data that will be rendered. May be a \Wikimedia\Rdbms\IResultWrapper @@ -1533,6 +1533,7 @@ $user: User the list is being fetched for &$skin: Skin object to be used with the list &$list: List object (defaults to NULL, change it to an object instance and return false override the list derivative used) +$groups Array of ChangesListFilterGroup objects (added in 1.34) 'FileDeleteComplete': When a file is deleted. &$file: reference to the deleted file @@ -1584,7 +1585,8 @@ entitled to be in. $user: user to promote. &$promote: groups that will be added. -'GetBlockedStatus': after loading blocking status of an user from the database +'GetBlockedStatus': DEPRECATED since 1.34 - use GetUserBlock instead. After +loading blocking status of a user from the database &$user: user (object) being checked 'GetCacheVaryCookies': Get cookies that should vary cache options. @@ -1725,6 +1727,14 @@ $contentHandler: ContentHandler for which the slot diff renderer is fetched. &$slotDiffRenderer: SlotDiffRenderer to change or replace. $context: IContextSource +'GetUserBlock': Modify the block found by the block manager. This may be a +single block or a composite block made from multiple blocks; the original +blocks can be seen using CompositeBlock::getOriginalBlocks() +$user: User targeted by the block +$ip: string|null The IP of the current request if $user is the current user + and they're not exempted from IP blocks. Null otherwise. +&$block: AbstractBlock object + '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 @@ -1816,7 +1826,7 @@ $page: ImagePage object $page: ImagePage object &$toc: Array of
  • strings -'ImgAuthBeforeStream': executed before file is streamed to user, but only when +'ImgAuthBeforeStream': Executed before file is streamed to user, but only when using img_auth.php. &$title: the Title object of the file as it would appear for the upload page &$path: the original file and path name when img_auth was invoked by the web @@ -1829,6 +1839,14 @@ using img_auth.php. $result[2 through n]=Parameters passed to body text message. Please note the header message cannot receive/use parameters. +'ImgAuthModifyHeaders': Executed just before a file is streamed to a user via +img_auth.php, allowing headers to be modified beforehand. +$title: LinkTarget object +&$headers: HTTP headers ( name => value, names are case insensitive ). + Two headers get special handling: If-Modified-Since (value must be + a valid HTTP date) and Range (must be of the form "bytes=(\d*-\d*)") + will be honored when streaming the file. + 'ImportHandleLogItemXMLTag': When parsing a XML tag in a log item. Return false to stop further processing of the tag $reader: XMLReader object @@ -2093,8 +2111,6 @@ cache. $cache: The LocalisationCache object $code: language code &$alldata: The localisation data from core and extensions -&$purgeBlobs: whether to purge/update the message blobs via - MessageBlobStore::clear() 'LocalisationCacheRecacheFallback': Called for each language when merging fallback data into the cache. @@ -2815,6 +2831,7 @@ or request state must be added through MakeGlobalVariablesScript instead. Skin is made available for skin specific config. &$vars: [ variable name => value ] $skin: Skin +$config: Config object (since 1.34) 'ResourceLoaderJqueryMsgModuleMagicWords': Called in ResourceLoaderJqueryMsgModule to allow adding magic words for jQueryMsg. @@ -2907,7 +2924,7 @@ result augmentors. Note that lists should be in the format name => object and the names in both lists should be distinct. -'SecondaryDataUpdates': DEPRECATED! Use RevisionDataUpdates or override +'SecondaryDataUpdates': DEPRECATED since 1.32! Use RevisionDataUpdates or override ContentHandler::getSecondaryDataUpdates instead. Allows modification of the list of DataUpdates to perform when page content is modified. $title: Title of the page that is being edited. @@ -3163,7 +3180,7 @@ $row: Revision information from the database 'SpecialContributions::getForm::filters': Called with a list of filters to render on Special:Contributions. $sp: SpecialContributions object, for context -&$filters: List of filters rendered as HTML +&$filters: List of filter object definitions (compatible with OOUI form) 'SpecialListusersDefaultQuery': Called right before the end of UsersPager::getDefaultQuery(). @@ -3200,6 +3217,13 @@ $request: WebRequest object for getting the value provided by the current user &$oldTitle: old title (object) &$newTitle: new title (object) +'SpecialMuteModifyFormFields': Add more fields to Special:Mute +$sp: SpecialPage object, for context +&$fields: Current HTMLForm fields descriptors + +'SpecialMuteSubmit': DEPRECATED since 1.34! Used only for instrumentation on SpecialMute +$data: Array containing information about submitted options on SpecialMute form + 'SpecialNewpagesConditions': Called when building sql query for Special:NewPages. &$special: NewPagesPager object (subclass of ReverseChronologicalPager) @@ -3300,8 +3324,8 @@ $opts: Array: key => value of hidden options for inclusion in custom forms 'SpecialSearchResults': Called before search result display $term: string of search term -&$titleMatches: empty or SearchResultSet object -&$textMatches: empty or SearchResultSet object +&$titleMatches: empty or ISearchResultSet object +&$textMatches: empty or ISearchResultSet object 'SpecialSearchResultsPrepend': Called immediately before returning HTML on the search results page. Useful for including an external search @@ -3485,6 +3509,12 @@ processing. &$archive: PageArchive object $title: Title object of the page that we're about to undelete +'UndeletePageToolLinks': Add one or more links to edit page subtitle when a page +has been previously deleted. +$context: IContextSource (object) +$linkRenderer: LinkRenderer instance +&$links: Array of HTML strings + 'UndeleteShowRevision': Called when showing a revision in Special:Undelete. $title: title object related to the revision $rev: revision (object) that will be viewed @@ -3565,14 +3595,6 @@ $props: (array|null) File properties, as returned by MessageSpecifier instance (you might want to use ApiMessage to provide machine -readable details for the API). -'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 -&$error: (string) output: message key for message to show if upload canceled by - returning false. May also be an array, where the first element is the message - key and the remaining elements are used as parameters to the message. - 'UploadVerifyFile': extra file verification, based on MIME type, etc. Preferred in most cases over UploadVerification. $upload: (object) an instance of UploadBase, with all info about the upload @@ -3694,7 +3716,7 @@ $newUGMs: An associative array (group name => UserGroupMembership object) of the user's current group memberships. 'UserIsBlockedFrom': Check if a user is blocked from a specific page (for -specific block exemptions). +specific block exemptions if a user is already blocked). $user: User in question $title: Title of the page in question &$blocked: Out-param, whether or not the user is blocked from that page. @@ -3711,7 +3733,9 @@ $ip: User's IP address false if a UserGetRights hook might remove the named right. $right: The user right being checked -'UserIsHidden': Check if the user's name should be hidden. See User::isHidden(). +'UserIsHidden': DEPRECATED since 1.34 - use GetUserBlock instead, and add a +system block that hides the user. Check if the user's name should be hidden. +See User::isHidden(). $user: User in question. &$hidden: Set true if the user's name should be hidden. @@ -3948,7 +3972,7 @@ dumps. One, and only one hook should set this, and return false. &$opts: Options to use for the query &$join: Join conditions -'WikiPageDeletionUpdates': DEPRECATED! Use PageDeletionDataUpdates or +'WikiPageDeletionUpdates': DEPRECATED since 1.32! Use PageDeletionDataUpdates or override ContentHandler::getDeletionDataUpdates instead. Manipulates the list of DeferrableUpdates to be applied when a page is deleted. $page: the WikiPage