X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=docs%2Fhooks.txt;h=c1475ac1b369eda555e2d30702fa0ff12b65f7a6;hb=40ccb73c4d5fd3a733357f1381e712fe16eb5646;hp=b2c610d30cb3a25083613415adbcb256f400351e;hpb=b503237a8b81d85949c8ccc3d9f72e6037de969a;p=lhc%2Fweb%2Fwiklou.git diff --git a/docs/hooks.txt b/docs/hooks.txt index b2c610d30c..c1475ac1b3 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -238,6 +238,10 @@ protocol came about after MediaWiki 1.4rc1. This is a list of known events and parameters; please add to it if you're going to add events to the MediaWiki code. +'AbortAutoblock': Return false to cancel an autoblock. +$autoblockip: The IP going to be autoblocked. +$block: The block from which the autoblock is coming. + 'AbortLogin': Return false to cancel account login. $user: the User object being authenticated against $password: the password being submitted, not yet checked for validity @@ -250,6 +254,7 @@ $old: old title $nt: new title $user: user who is doing the move $err: error message +$reason: the reason for the move (added in 1.13) 'AbortNewAccount': Return false to cancel account creation. $user: the User object about to be created (read-only, incomplete) @@ -257,6 +262,7 @@ $message: out parameter: error message to display on abort 'AddNewAccount': 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) 'AjaxAddScript': Called in output page just before the initialisation of the javascript ajax engine. The hook is only called when ajax @@ -267,6 +273,14 @@ before showing the edit form ( EditPage::edit() ). This is triggered on &action=edit. $EditPage : the EditPage object +'APIEditBeforeSave': 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. +$EditPage : the EditPage object +$text : the new text of the article (has yet to be saved) +$resultArr : data in this array will be added to the API result + 'ArticleAfterFetchContent': after fetching content of an article from the database $article: the article (object) being loaded from the database $content: the content (string) of the article @@ -280,6 +294,7 @@ $reason: the reason (string) the article is being deleted $article: the article that was deleted $user: the user that deleted the article $reason: the reason the article was deleted +$id: id of the article that was deleted 'ArticleEditUpdateNewTalk': before updating user_newtalk when a user talk page was changed $article: article (object) of the user talk page @@ -291,7 +306,7 @@ $article: article (object) being modified $title: title (object) used to create the article object $article: article (object) that will be returned -'ArticleInsertComplete': After an article is created +'ArticleInsertComplete': After a new article is created $article: Article created $user: User creating the article $text: New content @@ -331,7 +346,11 @@ $moveonly: boolean whether it was for move only or not 'ArticlePurge': before executing "&action=purge" $article: article (object) to purge -'ArticleRevisionUndeleted' after an article revision is restored +'ArticleRevisionVisiblitySet': called when changing visibility of one or more +revision of an article +&$title: title object of the article + +'ArticleRevisionUndeleted': after an article revision is restored $title: the article title $revision: the revision $oldPageID: the page ID of the revision when archived (may be null) @@ -390,13 +409,14 @@ $create: Whether or not the restoration caused the page to be created 'ArticleViewRedirect': before setting "Redirected from ..." subtitle when follwed an redirect $article: target article (object) +'AuthPluginAutoCreate': Called when creating a local account for an user logged +in from an external authentication method +$user: User object created locally + 'AuthPluginSetup': update or replace authentication plugin object ($wgAuth) Gives a chance for an extension to set it programattically to a variable class. &$auth: the $wgAuth object, probably a stub -'AutoAuthenticate': called to authenticate users on external/environmental means -$user: writes user object to this parameter - 'AutopromoteCondition': check autopromote condition for user. $type: condition type $args: arguments @@ -416,7 +436,8 @@ rendered inline in wiki pages or galleries in category pages. &$time: image timestamp 'BeforePageDisplay': Prior to outputting a page -$out: OutputPage object +&$out: OutputPage object +&$skin: Skin object 'BeforeParserFetchTemplateAndtitle': before a template is fetched by Parser &$parser: Parser object @@ -453,6 +474,18 @@ $user: the user who did the block (not the one being blocked) $isbn: ISBN to show information for $output: OutputPage object in use +'BrokenLink': Before the HTML is created for a broken (i.e. red) link +&$linker: Linker instance +$nt: the page title +$query: the URL query string passed in +&$u: the URL of this link +&$style: the inline CSS style +&$prefix: a prefix prepended to the linked text +&$text: the text placed by the user in the wiki-link +&$inside: any additional alphanumeric characters placed after the wiki-link, +that are made part of the link text +&$trail: text placed immediately after the HTML link + 'CategoryPageView': before viewing a categorypage in CategoryPage::view $catpage: CategoryPage instance @@ -491,11 +524,13 @@ $editor: Edit form (see includes/EditPage.php) $text: Contents of the edit box $section: Section being edited &$error: Error message to return +$summary: Edit summary for page 'EditFilterMerged': Post-section-merge edit filter $editor: EditPage instance (object) $text: content of the edit box $error: error message to return +$summary: Edit summary for page 'EditFormPreloadText': Allows population of the edit form when creating new pages &$text: Text to preload with @@ -518,6 +553,18 @@ Alternatively, modifying $error and returning true will cause the contents of $e to be echoed at the top of the edit form as wikitext. Return true without altering $error to allow the edit to proceed. +'EditPageBeforeConflictDiff': allows modifying the EditPage object and output +when there's an edit conflict. Return false to halt normal diff output; in +this case you're responsible for computing and outputting the entire "conflict" +part, i.e., the "difference between revisions" and "your text" headers and +sections. +&$editor: EditPage instance +&$out: OutputPage instance + +'EditPageBeforeEditButtons': allows modifying the edit buttons below the textarea in the edit form +&$editpage: The current EditPage object +&$buttons: Array of edit buttons "Save", "Preview", "Live", and "Diff" + 'EditSectionLink': Override the return value of Linker::editSectionLink() $skin: Skin rendering the UI $title: Title being linked to @@ -557,12 +604,35 @@ $text: text of the mail &$list: List object (defaults to NULL, change it to an object instance and return false override the list derivative used) +'FileDeleteComplete': When a file is deleted +$file: reference to the deleted file +$oldimage: in case of the deletion of an old image, the name of the old file +$article: in case all revisions of the file are deleted a reference to the article + associated with the file. +$user: user who performed the deletion +$reason: reason + 'FileUpload': When a file upload occurs $file : Image object representing the file that was uploaded +'FileUndeleteComplete': When a file is undeleted +$title: title object to the file +$fileVersions: array of undeleted versions. Empty if all versions were restored +$user: user who performed the undeletion +$reason: reason + +'GetAutoPromoteGroups': When determining which autopromote groups a user is 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 $user: user (object) being checked +'GetCacheVaryCookies': get cookies that should vary cache options +$out: OutputPage object +&$cookies: array of cookies name, add a value to it if you want to add a cookie + that have to vary cache options + 'GetFullURL': modify fully-qualified URLs used in redirects/export/offsite data $title: Title object of page $url: string value as output (out parameter, can modify) @@ -582,18 +652,50 @@ $title: Title object of page $url: string value as output (out parameter, can modify) $query: query options passed to Title::getLocalURL() -'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 ) +'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, ... ). 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 $result: User permissions error to add. If none, return true. -'ImageOpenShowImageInlineBefore': Call potential extension just before showing the image on an image page +'getUserPermissionsErrorsExpensive': Absolutely the same, but is called only + if expensive checks are enabled. + +'ImageBeforeProduceHTML': Called before producing the HTML created by a wiki + image insertion. You can skip the default logic entirely by returning + false, or just modify a few things using call-by-reference. +&$this: Skin object +&$title: Title object of the image +&$file: File object, or false if it doesn't exist +&$frameParams: Various parameters with special meanings; see documentation in + includes/Linker.php for Linker::makeImageLink2 +&$handlerParams: Various parameters with special meanings; see documentation in + includes/Linker.php for Linker::makeImageLink2 +&$time: Timestamp of file in 'YYYYMMDDHHIISS' string form, or false for current +&$res: Final HTML output, used if you return false + + +'ImageOpenShowImageInlineBefore': Call potential extension just before showing + the image on an image page $imagePage: ImagePage object ($this) $output: $wgOut +'ImagePageFileHistoryLine': called when a file history line is contructed +$file: the file +$line: the HTML of the history line +$css: the line CSS class + +'ImagePageFindFile': called when fetching the file associated with an image page +$page: ImagePage object +&$file: File object +&$displayFile: displayed File object + 'InitPreferencesForm': called at the end of PreferencesForm's constructor $form: the PreferencesForm $request: the web request to initialized from @@ -629,6 +731,22 @@ $lang: laguage code (string) $specialPageAliases: associative array of magic words synonyms $lang: laguage code (string) +'LinkerMakeExternalImage': At the end of Linker::makeExternalImage() just before the return +&$url: the image url +&alt: the image's alt text +&$img: the new image HTML (if returning false) + +'LinkerMakeExternalLink': At the end of Linker::makeExternalLink() just before the return +&$url: the link url +&$text: the link text +&$link: the new link HTML (if returning false) + +'LinksUpdate': At the beginning of LinksUpdate::doUpdate() just before the actual update +&$linksUpdate: the LinkUpdate object + +'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating has completed +&$linksUpdate: the LinkUpdate object + 'LinksUpdateConstructed': At the end of LinksUpdate() is contruction. &$linksUpdate: the LinkUpdate object @@ -636,6 +754,14 @@ $lang: laguage code (string) 'LoadExtensionSchemaUpdates': called by maintenance/updaters.inc when upgrading database schema +'LocalFile::getHistory': called before file history query performed +$file: the file +$tables: tables +$fields: select fields +$conds: conditions +$opts: query options +$join_conds: JOIN conditions + 'LoginAuthenticateAudit': a login attempt for a valid user account either succeeded or failed. No return data is accepted; this hook is for auditing only. $user: the User object being authenticated against @@ -652,6 +778,7 @@ $paramArray: Array of parameters that corresponds to logging.log_params field. N appears to contain anything. &$comment: string that corresponds to logging.log_comment database field, and which is displayed in the UI. &$revert: string that is displayed in the UI, similar to $comment. +$time: timestamp of the log entry (added in 1.12) 'LogPageValidTypes': action being logged. DEPRECATED: Use $wgLogTypes &$type: array of strings @@ -702,8 +829,16 @@ $title: title of the message (string) $message: value (string), change it to the message you want to define 'MonoBookTemplateToolboxEnd': Called by Monobook skin after toolbox links have been rendered (useful for adding more) +Note: this is only run for the Monobook skin. To add items to the toolbox +for all 'SkinTemplate'-type skins, use the SkinTemplateToolboxEnd hook +instead. $tools: array of tools +'NewRevisionFromEditComplete': called when a revision was inserted due to an edit +$article: the article edited +$rev: the new revision +$baseID: the revision ID this was based off, if any + 'OutputPageBeforeHTML': a page has been processed by the parser and the resulting HTML is about to be displayed. $parserOutput: the parserOutput (object) that corresponds to the page @@ -720,6 +855,10 @@ $article: the article that the history is loading for $row: the revision row for this line $s: the string representing this parsed line +'PageHistoryPager::getQueryInfo': when a history pager query parameter set is constructed +$pager: the pager +$queryInfo: the query parameters + 'PageRenderingHash': alter the parser cache option hash key A parser extension which depends on user options should install this hook and append its values to the key. @@ -748,6 +887,9 @@ $text: actual text 'ParserClearState': called at the end of Parser::clearState() $parser: Parser object being cleared +'ParserFirstCallInit': called when the parser initialises for the first time +&$parser: Parser object being cleared + 'ParserGetVariableValueSwitch': called when the parser need the value of a custom magic word $parser: Parser object $varCache: array to store the value in case of multiples calls of the same magic word @@ -766,6 +908,11 @@ $varCache: varaiable cache (array) $parser: Parser object $limitReport: text that will be included (without comment tags) +'ParserMakeImageParams': Called before the parser make an image link, use this to modify the parameters of the image. +$title: title object representing the file +$file: file object that will be used to create the image +&$params: 2-D array of parameters + 'ParserTestParser': called when creating a new instance of Parser in maintenance/parserTests.inc $parser: Parser object created @@ -791,6 +938,13 @@ the built-in rate limiting checks are used, if enabled. $form : PreferencesForm object &$html : HTML to append to +'PrefixSearchBackend': 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 +$search : search term (not guaranteed to be conveniently normalized) +$limit : maximum number of results to return +&$results : out param: array of page names (strings) + 'PrefsEmailAudit': called when user changes his email address $user: User (object) changing his email address $oldaddr: old email address (string) @@ -816,11 +970,15 @@ $out: output page to render to, probably $wgOut $form: the PreferencesForm $user: the User object to load preferences from +'RevisionInsertComplete': called after a revision is inserted into the DB +$revision: the Revision + 'SavePreferences': called at the end of PreferencesForm::savePreferences; returning false prevents the preferences from being saved. $form: the PreferencesForm $user: the User object to save preferences to -$message: change this to set an error message (ignored if the hook does notreturn fals) +$message: change this to set an error message (ignored if the hook does not return false) +$old: old preferences of the user 'SearchUpdate': Prior to search update completion $id : Page id @@ -828,6 +986,10 @@ $namespace : Page namespace $title : Page title $text : Current text being indexed +'SearchGetNearMatch': An extra chance for exact-title-matches in "go" searches +$term : Search term string +&$title : Outparam; set to $title object and return false for a match + 'ShowRawCssJs': Customise the output of raw CSS and JavaScript in page views $text: Text being shown $title: Title of the custom script/stylesheet page @@ -847,6 +1009,12 @@ $skin: Skin object &$text: bottomScripts Text Append to $text to add additional text/scripts after the stock bottom scripts. +'SkinSubPageSubtitle': At the beginning of Skin::subPageSubtitle() +$skin: Skin object +&$subpages: Subpage links HTML +If false is returned $subpages will be used instead of the HTML subPageSubtitle() generates. +If true is returned, $subpages will be ignored and the rest of subPageSubtitle() will run. + 'SkinTemplateBuildContentActionUrlsAfterSpecialPage': after the single tab when showing a special page $sktemplate: SkinTemplate object $content_actions: array of tabs @@ -887,9 +1055,32 @@ $checkEdit: Whether or not the action=edit query should be added if appropriate. $sktemplate: SkinTemplate object $content_actions: array of tabs +'SkinTemplateToolboxEnd': Called by SkinTemplate skins after toolbox links have been rendered (useful for adding more) +$tools: array of tools + 'SpecialContributionsBeforeMainOutput': Before the form on Special:Contributions $id: User identifier +'SpecialListusersDefaultQuery': called right before the end of UsersPager::getDefaultQuery() +$pager: The UsersPager instance +$query: The query array to be returned + +'SpecialListusersFormatRow': called right before the end of UsersPager::formatRow() +$item: HTML to be returned. Will be wrapped in
  • after the hook finishes +$row: Database row object + +'SpecialListusersHeader': called before closing the
    in UsersPager::getPageHeader() +$pager: The UsersPager instance +$out: The header HTML + +'SpecialListusersHeaderForm': called before adding the submit button in UsersPager::getPageHeader() +$pager: The UsersPager instance +$out: The header HTML + +'SpecialListusersQueryInfo': called right before the end of UsersPager::getQueryInfo() +$pager: The UsersPager instance +$query: The query array to be returned + 'SpecialMovepageAfterMove': called after moving a page $movePage: MovePageForm object $oldTitle: old title (object) @@ -916,9 +1107,27 @@ $funct: function called to execute the special page 'SpecialPage_initList': called when setting up SpecialPage::$mList, use this hook to remove a core special page $list: list (array) of core special pages +'SpecialRecentChangesPanel': called when building form options in SpecialRecentChanges +&$extraOpts: array of added items, to which can be added +$opts: FormOptions for this request + +'SpecialRecentChangesQuery': called when building sql query for SpecialRecentChanges +&$conds: array of where conditionals for query +&$tables: array of tables to be queried +&$join_conds: join conditions for the tables +$opts: FormOptions for this request + 'SpecialSearchNogomatch': called when user clicked the "Go" button but the target doesn't exist $title: title object generated from the text entred by the user +'SpecialSearchResults': called before search result display when there are matches +$term: string of search term +&$titleMatches: empty or SearchResultSet object +&$textMatches: empty or SearchResultSet object + +'SpecialSearchNoResults': called before search result display when there are no matches +$term: string of search term + 'SpecialVersionExtensionTypes': called when generating the extensions credits, use this to change the tables headers $extTypes: associative array of extensions types @@ -967,7 +1176,11 @@ string $tempName: filesystem path to the temporary file for checks string &$error: output: HTML error to show if upload canceled by returning false 'UploadComplete': Upon completion of a file upload -$image: Image object representing the file that was uploaded +$uploadForm: Upload form object. File can be accessed by $uploadForm->mLocalFile. + +'UserArrayFromResult': called when creating an UserArray object from a database result +&$userArray: set this to an object to override the default object returned +$res: database result used to create the object 'userCan': To interrupt/advise the "user can do X to Y article" check. If you want to display an error message, try getUserPermissionsErrors. @@ -977,6 +1190,11 @@ $action: Action being checked $result: Pointer to result returned if hook returns false. If null is returned, userCan checks are continued by internal code. +'UserCanSendEmail': To override User::canSendEmail() permission check +$user: User (object) whose permission is being checked +&$canSend: bool set on input, can override on output + + 'UserClearNewTalkNotification': called when clearing the "You have new messages!" message, return false to not delete it $user: User (object) that'll clear the message @@ -987,8 +1205,35 @@ $template: SimpleTemplate instance for the form $user: User to get groups for &$groups: Current effective groups +'UserGetAllRights': after calculating a list of all available rights +&$rights: Array of rights, which may be added to. + +'UserGetEmail': called when getting an user email address +$user: User object +&$email: email, change this to override local email + +'UserGetEmailAuthenticationTimestamp': called when getting the timestamp of email authentification +$user: User object +&$timestamp: timestamp, change this to override local email authentification timestamp + +'UserGetImplicitGroups': Called in User::getImplicitGroups() +&$groups: List of implicit (automatically-assigned) groups + +'UserGetRights': Called in User::getRights() +$user: User to get rights for +&$rights: Current rights + +'UserLoadDefaults': called when loading a default user +$user: user object +$name: user name + +'UserLoadFromSession': called to authenticate users on external/environmental means +$user: user object being loaded +&$result: set this to a boolean value to abort the normal authentification process + 'UserLoginComplete': after a user has logged in $user: the user object that was created on login +$inject_html: Any HTML to inject after the "logged in" message. 'UserLoginForm': change to manipulate the login form $template: SimpleTemplate instance for the form @@ -998,23 +1243,34 @@ $user: the user object that is about to be logged out 'UserLogoutComplete': after a user has logged out $user: the user object _after_ logout (won't have name, ID, etc.) +$inject_html: Any HTML to inject after the "logged out" message. +$oldName: name of the user before logout (string) 'UserRights': 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 - -'UserGetImplicitGroups': Called in User::getImplicitGroups() -&$groups: List of implicit (automatically-assigned) groups - -'UserGetRights': Called in User::getRights() -$user: User to get rights for -&$rights: Current rights 'UserRetrieveNewTalks': called when retrieving "You have new messages!" message(s) $user: user retrieving new talks messages $talks: array of new talks page(s) +'UserSaveSettings': called when saving user settings +$user: User object + +'UserSetCookies': called when setting user cookies +$user: User object +&$session: session array, will be added to $_SESSION +&$cookies: cookies array mapping cookie name to its value + +'UserSetEmail': called when changing user email address +$user: User object +&$email: new email, change this to override new email address + +'UserSetEmailAuthenticationTimestamp': called when setting the timestamp of email authentification +$user: User object +&$timestamp: new timestamp, change this to override local email authentification timestamp + 'UserToggles': called when initialising User::$mToggles, use this to add new toggles $toggles: array of toggles to add