X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=docs%2Fhooks.txt;h=d4ce23bce8e65339d8f3894c3225d0833dc69008;hb=1eae9941d9d18492e5ecc651b0d6dc7f02a5f30b;hp=85b4963d8bded733b52994c0b2cef301e0b2b688;hpb=23cfebd3d25fcdb0717daad5982fc9f36aa5a1b5;p=lhc%2Fweb%2Fwiklou.git diff --git a/docs/hooks.txt b/docs/hooks.txt index 85b4963d8b..d4ce23bce8 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -68,7 +68,7 @@ email notification when an article is shown may add: if ($wgNotifyArticle) { wfNotifyArticleShow($article)); } - } + } Using a hook-running strategy, we can avoid having all this option-specific stuff in our mainline code. Using hooks, the function becomes: @@ -270,7 +270,7 @@ is enabled ( $wgUseAjax = true; ). 'AlternateEdit': before checking if an user can edit a page and before showing the edit form ( EditPage::edit() ). This is triggered on &action=edit. -$EditPage : the EditPage object +$EditPage: the EditPage object 'APIAfterExecute': after calling the execute() method of an API module. Use this to extend core API modules. @@ -282,7 +282,7 @@ 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 +&$resultArr : data in this array will be added to the API result 'APIGetAllowedParams': use this hook to modify a module's parameters. &$module: Module object @@ -350,6 +350,12 @@ the database $article: the article (object) being loaded from the database $content: the content (string) of the article +'ArticleConfirmDelete': before writing the confirmation form for article + deletion +$article: the article (object) being deleted +$output: the OutputPage object ($wgOut) +&$reason: the reason (string) the article is being deleted + 'ArticleDelete': before an article is deleted $article: the article (object) being deleted $user: the user (object) deleting the article @@ -463,6 +469,7 @@ $baseRevId: the rev ID (or false) this edit was based on $title: Title corresponding to the article restored $create: Whether or not the restoration caused the page to be created (i.e. it didn't exist before) +$comment: The comment associated with the undeletion. 'ArticleUpdateBeforeRedirect': After a page is updated (usually on save), before the user is redirected back to the page @@ -506,6 +513,14 @@ rendered inline in wiki pages or galleries in category pages. &$nt: the image title &$time: image timestamp +'BeforeInitialize': before anything is initialized in performRequestForTitle() +&$title: Title being used for request +&$article: The associated Article object +&$output: OutputPage object +&$user: User +$request: WebRequest object +$mediaWiki: Mediawiki object + 'BeforePageDisplay': Prior to outputting a page &$out: OutputPage object &$skin: Skin object @@ -538,17 +553,25 @@ $user: the user who did the block (not the one being blocked) $isbn: ISBN to show information for $output: OutputPage object in use +'CacheHeadersAfterSet': after cache headers have been set in +OutputPage::sendCacheControl, so they can be overridden without +disabling output method +$out: OutputPage instance + 'CategoryPageView': before viewing a categorypage in CategoryPage::view $catpage: CategoryPage instance 'ChangesListInsertArticleLink': Override or augment link to article in RC list. -&$this: ChangesList instance. +&$changesList: ChangesList instance. &$articlelink: HTML of link to article (already filled-in). &$s: HTML of row that is being constructed. &$rc: RecentChange instance. $unpatrolled: Whether or not we are showing unpatrolled changes. $watched: Whether or not the change is watched by the user. +'ConfirmEmailComplete': Called after a user's email has been confirmed successfully +$user: user (object) whose email is being confirmed + 'ContribsPager::getQueryInfo': Before the contributions query is about to run &$pager: Pager object for contributions &queryInfo: The query for the contribs Pager @@ -571,6 +594,9 @@ Return true to allow the normal editor to be used, or false if implementing a custom editor, e.g. for a special namespace, etc. +'DatabaseOraclePostInit': Called after initialising an Oracle database +&$db: the DatabaseOracle object + 'NewDifferenceEngine': Called when a new DifferenceEngine object is made $title: the diff page title (nullable) &$oldId: the actual old Id to use in the diff @@ -609,7 +635,7 @@ $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 +&$error: error message to return $summary: Edit summary for page 'EditFormPreloadText': Allows population of the edit form when creating @@ -619,7 +645,13 @@ new pages 'EditPage::attemptSave': called before an article is saved, that is before insertNewArticle() is called -&$editpage_Obj: the current EditPage object +$editpage_Obj: the current EditPage object + +'EditPage::importFormData': allow extensions to read additional data +posted in the form +$editpage: EditPage instance +$request: Webrequest +return value is ignored (should always return true) 'EditPage::showEditForm:fields': allows injection of form field into edit form &$editor: the EditPage instance for reference @@ -654,6 +686,10 @@ textarea in the edit form &$checks: Array of 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 +&$toolbar: The toolbar HTMl + 'EditPageCopyrightWarning': Allow for site and per-namespace customization of contribution/copyright notice. $title: title of page being edited &$msg: localization message name, overridable. Default is either 'copyrightwarning' or 'copyrightwarning2' @@ -751,6 +787,11 @@ $title: Title object of page $url: string value as output (out parameter, can modify) $query: query options passed to Title::getLocalURL() +'getOtherBlockLogLink': Get links to the block log from extensions which blocks + users and/or IP addresses too +$otherBlockLink: An array with links to other block logs +$ip: The requested IP address or username + 'GetPreferences': modify user preferences $user: User whose preferences are being modified. &$preferences: Preferences description array, to be fed to an HTMLForm object @@ -777,7 +818,7 @@ $title: Title object, pages linked to this title are purged. '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 +&$skin: 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 @@ -793,6 +834,11 @@ $title: Title object, pages linked to this title are purged. $imagePage: ImagePage object ($this) $output: $wgOut +'ImagePageAfterImageLinks': called after the image links section on an image + page is built +$imagePage: ImagePage object ($this) +&$html: HTML for the hook to add + 'ImagePageFileHistoryLine': called when a file history line is contructed $file: the file $line: the HTML of the history line @@ -803,6 +849,24 @@ $page: ImagePage object &$file: File object &$displayFile: displayed File object +'ImagePageShowTOC': called when the file toc on an image page is generated +$page: ImagePage object +&$toc: Array of
  • strings + +'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 the web + server +&$name: the name only component of the file +&$result: The location to pass back results of the hook routine (only used if + failed) + $result[0]=The index of the header message + $result[1]=The index of the body text message + $result[2 through n]=Parameters passed to body text message. Please note the + header message cannot receive/use parameters. + + 'InitializeArticleMaybeRedirect': MediaWiki check to see if title is a redirect $title: Title object ($wgTitle) $request: WebRequest @@ -812,9 +876,12 @@ $article: Article object 'InternalParseBeforeLinks': during Parser's internalParse method before links but after noinclude/includeonly/onlyinclude and other processing. -&$this: Parser object +&$parser: Parser object &$text: string containing partially parsed text -&$this->mStripState: Parser's internal StripState object +&$stripState: Parser's internal StripState object + +'InvalidateEmailComplete': Called after a user's email has been invalidated successfully +$user: user (object) whose email is being invalidated 'IsFileCacheable': Override the result of Article::isFileCacheable() (if true) $article: article (object) being checked @@ -830,7 +897,7 @@ $addr: The e-mail address entered by the user 'isValidPassword': Override the result of User::isValidPassword() $password: The password entered by the user -&$result: Set this to either true (passes) or the key for a message error +&$result: Set this and return false to override the internal checks $user: User the password is being validated for 'LanguageGetMagic': DEPRECATED, use $magicWords in a file listed in @@ -913,6 +980,11 @@ $conds: conditions $opts: query options $join_conds: JOIN conditions +'LocalisationCacheRecache': Called when loading the localisation data into cache +$cache: The LocalisationCache object +$code: language code +&$alldata: The localisation data from core and extensions + '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 @@ -951,7 +1023,8 @@ DEPRECATED: Use $wgLogActions &$actionText: array of strings 'MagicWordMagicWords': When defining new magic word. -DEPRECATED: Use LanguageGetMagic hook instead +DEPRECATED: use $magicWords in a file listed in +$wgExtensionMessagesFiles instead. $magicWords: array of strings 'MagicWordwgVariableIDs': When definig new magic words IDs. @@ -982,12 +1055,12 @@ $errmsg: error message, in HTML (string). Nonempty indicates failure '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. -$output: $wgOut +$output: $wgOut $article: $wgArticle -$title: $wgTitle -$user: $wgUser +$title: $wgTitle +$user: $wgUser $request: $wgRequest -$this: The $mediawiki object +$mediaWiki: The $mediawiki object 'MessagesPreLoad': When loading a message from the database $title: title of the message (string) @@ -998,6 +1071,13 @@ Useful for updating caches. $title: name of the page changed. $text: new contents of the page. +'ModifyExportQuery': Modify the query used by the exporter. +$db: The database object to be queried. +&$tables: Tables in the query. +&$conds: Conditions in the query. +&$opts: Options for the query. +&$join_conds: Join conditions for the query. + '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 @@ -1106,6 +1186,7 @@ $varCache: array to store the value in case of multiples calls of the same magic word $index: index (string) of the magic $ret: value of the magic word (the hook should set it) +$frame: PPFrame object to use for expanding any template variables 'ParserGetVariableValueTs': use this to change the value of the time for the {{LOCAL...}} magic word @@ -1167,6 +1248,18 @@ $user: User (object) changing his passoword $newPass: new password $error: error (string) 'badretype', 'wrongpassword', 'error' or 'success' +'ProtectionForm::buildForm': called after all protection type fieldsets are made in the form +$article: the title being (un)protected +$output: a string of the form HTML so far + +'ProtectionForm::save': called when a protection form is submitted +$article: the title being (un)protected +$errorMsg: an html message string of an error + +'ProtectionForm::showLogExtract': called after the protection log extract is shown +$article: the page the form is shown for +$out: OutputPage object + 'RawPageViewBeforeOutput': Right before the text is blown out in action=raw &$obj: RawPage object &$text: The text that's going to be the output @@ -1195,11 +1288,21 @@ $term : Search term string 'SetupAfterCache': Called in Setup.php, after cache objects are set +'ShowMissingArticle': Called when generating the output for a non-existent page +$article: The article object corresponding to the page + 'ShowRawCssJs': Customise the output of raw CSS and JavaScript in page views $text: Text being shown $title: Title of the custom script/stylesheet page $output: Current OutputPage object +'ShowSearchHitTitle': Customise display of search hit title/link. +&$title: Title to link to +&$text: Text to use for the link +$result: The search result +$terms: The search terms entered +$page: The SpecialSearch object. + 'SiteNoticeBefore': Before the sitenotice/anonnotice is composed &$siteNotice: HTML returned as the sitenotice Return true to allow the normal method of notice selection/rendering to work, @@ -1254,6 +1357,11 @@ $nav_urls: array of tabs [See http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/examples/Content_action.php for an example] +'SkinTemplateNavigation': Alter the structured navigation links in SkinTemplates +&$sktemplate: SkinTemplate object +&$links: Structured navigation links +This is used to alter the navigation for skins which use buildNavigationUrls such as Vector. + 'SkinTemplateOutputPageBeforeExec': Before SkinTemplate::outputPage() starts page output &$sktemplate: SkinTemplate object @@ -1269,15 +1377,15 @@ $out: Css to return 'SkinTemplateTabAction': Override SkinTemplate::tabAction(). You can either create your own array, or alter the parameters for the normal one. -&$this: The SkinTemplate instance. -$title: Title instance for the page. -$message: Visible label of tab. -$selected: Whether this is a selected tab. +&$sktemplate: The SkinTemplate instance. +$title: Title instance for the page. +$message: Visible label of tab. +$selected: Whether this is a selected tab. $checkEdit: Whether or not the action=edit query should be added if appropriate. -&$classes: Array of CSS classes to apply. -&$query: Query string to add to link. -&$text: Link text. -&$result: Complete assoc. array if you want to return true. +&$classes: Array of CSS classes to apply. +&$query: Query string to add to link. +&$text: Link text. +&$result: Complete assoc. array if you want to return true. 'SkinTemplateTabs': called when finished to build the actions tabs $sktemplate: SkinTemplate object @@ -1329,6 +1437,15 @@ $newTitle: new title (object) hook to remove a core special page $list: list (array) of core special pages +'SpecialRandomGetRandomTitle': called during the execution of Special:Random, +use this to change some selection criteria or substitute a different title +&$randstr: The random number from wfRandom() +&$isRedir: Boolean, whether to select a redirect or non-redirect +&$namespaces: An array of namespace indexes to get the title from +&$extra: An array of extra SQL statements +&$title: If the hook returns false, a Title object to use instead of the +result from the normal query + 'SpecialRecentChangesPanel': called when building form options in SpecialRecentChanges &$extraOpts: array of added items, to which can be added @@ -1345,6 +1462,9 @@ $opts: FormOptions for this request target doesn't exist $title: title object generated from the text entred by the user +'SpecialSearchProfiles': allows modification of search profiles +&$profiles: profiles, which can be modified. + 'SpecialSearchResults': called before search result display when there are matches $term: string of search term @@ -1355,6 +1475,14 @@ $term: string of search term no matches $term: string of search term +'SpecialStatsAddExtra': add extra statistic at the end of Special:Statistics +&$extraStats: Array to save the new stats + ( $extraStats[''] => ; ) + +'SpecialUploadComplete': Called after successfully uploading a file from +Special:Upload +$form: The SpecialUpload object + 'SpecialVersionExtensionTypes': called when generating the extensions credits, use this to change the tables headers $extTypes: associative array of extensions types @@ -1370,6 +1498,11 @@ database result &$titleArray: set this to an object to override the default object returned $res: database result used to create the object +'TitleGetRestrictionTypes': Allows extensions to modify the types of protection + that can be applied. +$title: The title in question. +&$types: The types of protection available. + 'TitleMoveComplete': after moving an article (title) $old: old title $nt: new title @@ -1398,25 +1531,32 @@ $article: article object removed $user: user that watched $article: article object that was watched -'UploadForm:initial': before the upload form is generated -$form: UploadForm object -You might set the member-variables $uploadFormTextTop and -$uploadFormTextAfterSummary to inject text (HTML) either before -or after the editform. +'UploadCreateFromRequest': when UploadBase::createFromRequest has been called +$type: (string) the requested upload type +&$className: the class name of the Upload instance to be created + +'UploadComplete': when Upload completes an upload +&$upload: an UploadBase child instance + +'UploadFormInitDescriptor': after the descriptor for the upload form as been + assembled +$descriptor: (array) the HTMLForm descriptor -'UploadForm:BeforeProcessing': at the beginning of processUpload() -$form: UploadForm object -Lets you poke at member variables like $mUploadDescription before the -file is saved. +'UploadFormSourceDescriptors': after the standard source inputs have been +added to the descriptor +$descriptor: (array) the HTMLForm descriptor 'UploadVerification': additional chances to reject an uploaded file string $saveName: destination file name string $tempName: filesystem path to the temporary file for checks -string &$error: output: HTML error to show if upload canceled by returning false +string &$error: 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. 'UploadComplete': Upon completion of a file upload -$uploadForm: Upload form object. File can be accessed by - $uploadForm->mLocalFile. +$uploadBase: UploadBase (or subclass) object. File can be accessed by + $uploadBase->getLocalFile(). 'User::mailPasswordInternal': before creation and mailing of a user's new temporary password @@ -1441,7 +1581,6 @@ $result: Pointer to result returned if hook returns false. If null is returned, $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 @@ -1487,12 +1626,20 @@ $user: User object &$groups: List of implicit (automatically-assigned) groups 'UserGetReservedNames': allows to modify $wgReservedUsernames at run time -*&$reservedUsernames: $wgReservedUsernames +&$reservedUsernames: $wgReservedUsernames 'UserGetRights': Called in User::getRights() $user: User to get rights for &$rights: Current rights +'UserIsBlockedFrom': Check if a user is blocked from a specific page (for specific block + exemptions). +$user: User in question +$title: Title of the page in question +&$blocked: Out-param, whether or not the user is blocked from that page. +&$allowUsertalk: If the user is blocked, whether or not the block allows users to edit their + own user talk pages. + 'UserIsBlockedGlobally': Check if user is blocked on all wikis. &$user: User object $ip: User's IP address @@ -1530,7 +1677,7 @@ $template: SimpleTemplate instance for the form 'UserLoginMailPassword': Block users from emailing passwords $name: the username to email the password of. -&$error: out-param ÐÊthe error message to return. +&$error: out-param - the error message to return. 'UserLogout': before a user logs out $user: the user object that is about to be logged out @@ -1576,6 +1723,13 @@ authentification timestamp new toggles $toggles: array of toggles to add +'VectorTemplateToolboxEnd': Called by Vector skin after toolbox links have +been rendered (useful for adding more) +Note: this is only run for the Vector skin. To add items to the toolbox +for all 'SkinTemplate'-type skins, use the SkinTemplateToolboxEnd hook +instead. +$tools: array of tools + 'WantedPages::getSQL': called in WantedPagesPage::getSQL(), can be used to alter the SQL query which gets the list of wanted pages &$wantedPages: WantedPagesPage object @@ -1600,5 +1754,19 @@ One, and only one hook should set this, and return false. query pages to be updated with maintenance/updateSpecialPages.php $query: $wgQueryPages itself +'XmlDumpWriterOpenPage': Called at the end of XmlDumpWriter::openPage, to allow extra + metadata to be added. +$obj: The XmlDumpWriter object. +&$out: The output string. +$row: The database row for the page. +$title: The title of the page. + +'XmlDumpWriterWriteRevision': Called at the end of a revision in an XML dump, to add extra + metadata. +$obj: The XmlDumpWriter object. +&$out: The text being output. +$row: The database row for the revision. +$text: The revision text. + More hooks might be available but undocumented, you can execute ./maintenance/findhooks.php to find hidden one.