X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=docs%2Fhooks.txt;h=0c8cf92c9d47ba02a3452de5c7626558f7c29ab8;hb=87b966a789b321a8fa3f9f2179d90ec4729f182b;hp=835bbf94dc5057c57bc2cb667f873fcf55bd619b;hpb=c3964fe4d517c8aef4c30a461e90d90d664a3aed;p=lhc%2Fweb%2Fwiklou.git diff --git a/docs/hooks.txt b/docs/hooks.txt index 835bbf94dc..0c8cf92c9d 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -234,6 +234,10 @@ 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. +'AbortAutoAccount': 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) +$message: out parameter: error message to be displayed to user + 'AbortAutoblock': Return false to cancel an autoblock. $autoblockip: The IP going to be autoblocked. $block: The block from which the autoblock is coming. @@ -247,6 +251,7 @@ $password: the password being submitted, not yet checked for validity &$retval: a LoginForm class constant to return from authenticateUserData(); default is LoginForm::ABORTED. Note that the client may be using a machine API rather than the HTML user interface. +&$msg: the message identifier for abort reason (new in 1.18, not available before 1.18) 'AbortMove': allows to abort moving an article (title) $old: old title @@ -255,7 +260,7 @@ $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. +'AbortNewAccount': Return false to cancel explicit account creation. $user: the User object about to be created (read-only, incomplete) $message: out parameter: error message to display on abort @@ -263,6 +268,23 @@ $message: out parameter: error message to display on abort $user: the User object that was created. (Parameter added in 1.7) $byEmail: true when account was created "by email" (added in 1.12) +'AfterImportPage': When a page import is completed +$title: Title under which the revisions were imported +$origTitle: Title provided by the XML file +$revCount: Number of revisions in the XML file +$sRevCount: Number of sucessfully imported revisions +$pageInfo: associative array of page information + +'AfterUserMessage': After a user message has been left, this hook is +called to take care of any cleanup. +$user: The user who we left the message for. +$article: The article the message was left on. +$subject: The subject of the message +$text: The text of the message. +$signature: The signature we used. +$summary: The edit summary. +$editor: The editor that performed the edit. + 'AjaxAddScript': Called in output page just before the initialisation of the javascript ajax engine. The hook is only called when ajax is enabled ( $wgUseAjax = true; ). @@ -336,6 +358,11 @@ 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) +'APIQuerySiteInfoGeneralInfo': use this hook to add extra information to +the sites general information. +$module: the current ApiQuerySiteInfo module +&$results: array of results, add things here + 'APIQueryUsersTokens': 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 @@ -345,6 +372,13 @@ 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) +'ApiRsdServiceApis': Add or remove APIs from the RSD services list. +Each service should have its own entry in the $apis array and have a +unique name, passed as key for the array that represents the service data. +In this data array, the key-value-pair identified by the apiLink key is +required. +&$apis: array of services + 'ArticleAfterFetchContent': after fetching content of an article from the database $article: the article (object) being loaded from the database @@ -356,6 +390,11 @@ $article: the article (object) being deleted $output: the OutputPage object ($wgOut) &$reason: the reason (string) the article is being deleted +'ArticleContentOnDiff': before showing the article content below a diff. +Use this to change the content in this area or how it is loaded. + $diffEngine: the DifferenceEngine + $output: the OutputPage object ($wgOut) + 'ArticleDelete': before an article is deleted $article: the article (object) being deleted $user: the user (object) deleting the article @@ -412,6 +451,10 @@ $row: row (object) returned from the database server $article: article (object) that data will be loaded $fields: fileds (array) to load from the database +'ArticlePrepareTextForEdit': called when preparing text to be saved +$article: the article being saved +$popts: parser options to be used for pre-save transformation + 'ArticleProtect': before an article is protected $article: the article being protected $user: the user doing the protection @@ -429,7 +472,7 @@ $moveonly: boolean whether it was for move only or not 'ArticlePurge': before executing "&action=purge" $article: article (object) to purge -'ArticleRevisionVisiblitySet': called when changing visibility of one or more +'ArticleRevisionVisibilitySet': called when changing visibility of one or more revision of an article &$title: title object of the article @@ -477,6 +520,9 @@ before the user is redirected back to the page &$sectionanchor: The section anchor link (e.g. "#overview" ) &$extraq: Extra query parameters which can be added via hooked functions +'ArticleViewFooter': After showing the footer section of an ordinary page view +$article: Article object + 'ArticleViewHeader': Before the parser cache is about to be tried for article viewing. &$article: the article @@ -508,11 +554,6 @@ $name: Image name being checked Change $bad and return false to override. If an image is "bad", it is not rendered inline in wiki pages or galleries in category pages. -'BeforeGalleryFindFile': before an image is fetched for a gallery -&$gallery,: the gallery object -&$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 @@ -525,22 +566,34 @@ $mediaWiki: Mediawiki object &$out: OutputPage object &$skin: Skin object +'BeforeParserFetchFileAndTitle': before an image is rendered by Parser +$parser: Parser object +$nt: the image title +&$time: the image timestamp (use '0' to force a broken thumbnail) +&$sha1: image base 36 sha1 (used to specify the file, $nt will be ignored if this is set) +&$descQuery: query string to add to thumbnail URL + 'BeforeParserFetchTemplateAndtitle': before a template is fetched by Parser -&$parser: Parser object -&$title: title of the template +$parser: Parser object +$title: title of the template &$skip: skip this template and link it? &$id: the id of the revision being parsed -'BeforeParserMakeImageLinkObj': before an image is rendered by Parser -&$parser: Parser object -&$nt: the image title -&$skip: skip this image and link it? -&$time: the image timestamp - 'BeforeParserrenderImageGallery': before an image gallery is rendered by Parser &$parser: Parser object &$ig: ImageGallery object +'BeforeWelcomeCreation': before the welcomecreation message is displayed to a newly created user +&$welcome_creation_msg: MediaWiki message name to display on the welcome screen to a newly created user account +&$injected_html: Any HTML to inject after the "logged in" message of a newly created user account + +'BitmapHandlerTransform': before a file is transformed, gives extension the +possibility to transform it themselves +$handler: BitmapHandler +$image: File +&$scalerParams: Array with scaler parameters +&$mto: null, set to a MediaTransformOutput + 'BlockIp': before an IP address or user is blocked $block: the Block object about to be saved $user: the user _doing_ the block (not the one being blocked) @@ -552,6 +605,9 @@ $user: the user who did the block (not the one being blocked) 'BookInformation': Before information output on Special:Booksources $isbn: ISBN to show information for $output: OutputPage object in use + +'CanonicalNamespaces': For extensions adding their own namespaces or altering the defaults +&$namespaces: Array of namespace numbers with corresponding canonical names 'CategoryPageView': before viewing a categorypage in CategoryPage::view $catpage: CategoryPage instance @@ -592,6 +648,10 @@ etc. 'DatabaseOraclePostInit': Called after initialising an Oracle database &$db: the DatabaseOracle object +'Debug': called when outputting a debug log line via wfDebug() or wfDebugLog() +$text: plaintext string to be output +$group: null or a string naming a logging group (as defined in $wgDebugLogGroups) + '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 @@ -617,8 +677,9 @@ $section: The designation of the section being pointed to, to be included in the link, like "§ion=$section" $tooltip: The default tooltip. Escape with htmlspecialchars() before using. By default, this is wrapped in the 'editsectionhint' message. -$result: The HTML to return, prefilled with the default plus whatever other +&$result: The HTML to return, prefilled with the default plus whatever other changes earlier hooks have made +$lang: The language code to use for the link in the wfMsg* functions 'EditFilter': Perform checks on an edit $editor: Edit form (see includes/EditPage.php) @@ -643,7 +704,7 @@ pages $editPage: EditPage object 'EditPage::attemptSave': called before an article is -saved, that is before insertNewArticle() is called +saved, that is before Article::doEdit() is called $editpage_Obj: the current EditPage object 'EditPage::importFormData': allow extensions to read additional data @@ -717,7 +778,8 @@ $skin: Skin rendering the UI $title: Title being linked to $section: Section to link to $link: Default link -$result: Result (alter this to override the generated links) +&$result: Result (alter this to override the generated links) +$lang: The language code to use for the link in the wfMsg* functions 'EmailConfirmed': When checking that the user's email address is "confirmed" $user: User being checked @@ -731,12 +793,21 @@ $from: address of sending user $subject: subject of the mail $text: text of the mail +'EmailUserCC': before sending the copy of the email to the author +$to: address of receiving user +$from: address of sending user +$subject: subject of the mail +$text: text of the mail + 'EmailUserComplete': after sending email from one user to another $to: address of receiving user $from: address of sending user $subject: subject of the mail $text: text of the mail +'EmailUserForm': after building the email user form object +$form: HTMLForm object + 'EmailUserPermissionsErrors': to retrieve permissions errors for emailing a user. $user: The user who is trying to email another user. $editToken: The user's edit token. @@ -744,7 +815,7 @@ $editToken: The user's edit token. 'FetchChangesList': When fetching the ChangesList derivative for a particular user -&$user: User the list is being fetched for +$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) @@ -759,6 +830,8 @@ $reason: reason 'FileUpload': When a file upload occurs $file : Image object representing the file that was uploaded +$reupload : Boolean indicating if there was a previously another image there or not (since 1.17) +$hasDescription : Boolean indicating that there was already a description page and a new one from the comment wasn't created (since 1.17) 'FileUndeleteComplete': When a file is undeleted $title: title object to the file @@ -766,6 +839,12 @@ $fileVersions: array of undeleted versions. Empty if all versions were restored $user: user who performed the undeletion $reason: reason +'FormatUserMessage': Hook to format a message if you want to override +the internal formatter. +$subject: Title of the message. +&$text: Text of the message. +$signature: Signature that they would like to leave. + 'GetAutoPromoteGroups': When determining which autopromote groups a user is entitled to be in. &$user: user to promote. @@ -789,6 +868,9 @@ $title: Title object of page $url: string value as output (out parameter, can modify) $query: query options passed to Title::getInternalURL() +'GetIP': modify the ip of the current user (called only once) +&$ip: string holding the ip as determined so far + 'GetLinkColours': modify the CSS class of an array of page links $linkcolour_ids: array of prefixed DB keys of the pages linked to, indexed by page_id. @@ -799,6 +881,14 @@ $title: Title object of page $url: string value as output (out parameter, can modify) $query: query options passed to Title::getLocalURL() +'GetMetadataVersion': modify the image metadata version currently in use. This is + used when requesting image metadata from a ForiegnApiRepo. Media handlers + that need to have versioned metadata should add an element to the end of + the version array of the form 'handler_name=version'. Most media handlers + won't need to do this unless they broke backwards compatibility with a + previous version of the media handler metadata output. +&$version: Array of version strings + 'GetPreferences': modify user preferences $user: User whose preferences are being modified. &$preferences: Preferences description array, to be fed to an HTMLForm object @@ -818,10 +908,6 @@ $result: User permissions error to add. If none, return true. 'getUserPermissionsErrorsExpensive': Absolutely the same, but is called only if expensive checks are enabled. -'HTMLCacheUpdate::doUpdate': After cache invalidation updates are inserted -into the job queue. -$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. @@ -873,6 +959,29 @@ $page: ImagePage object $result[2 through n]=Parameters passed to body text message. Please note the header message cannot receive/use parameters. +'ImportHandleLogItemXMLTag': When parsing a XML tag in a log item +$reader: XMLReader object +$logInfo: Array of information +Return false to stop further processing of the tag + +'ImportHandlePageXMLTag': When parsing a XML tag in a page +$reader: XMLReader object +$pageInfo: Array of information +Return false to stop further processing of the tag + +'ImportHandleRevisionXMLTag': When parsing a XML tag in a page revision +$reader: XMLReader object +$revInfo: Array of information +Return false to stop further processing of the tag + +'ImportHandleToplevelXMLTag': When parsing a top level XML tag +$reader: XMLReader object +Return false to stop further processing of the tag + +'ImportHandleUploadXMLTag': When parsing a XML tag in a file upload +$reader: XMLReader object +$revisionInfo: Array of information +Return false to stop further processing of the tag 'InitializeArticleMaybeRedirect': MediaWiki check to see if title is a redirect $title: Title object ($wgTitle) @@ -881,6 +990,12 @@ $ignoreRedirect: boolean to skip redirect check $target: Title/string of redirect target $article: Article object +'InterwikiLoadPrefix': When resolving if a given prefix is an interwiki or not. +Return true without providing an interwiki to continue interwiki search. +$prefix: interwiki prefix we are looking for. +&$iwData: output array describing the interwiki with keys iw_url, iw_local, + iw_trans and optionally iw_api and iw_wikiid. + 'InternalParseBeforeLinks': during Parser's internalParse method before links but after noinclude/includeonly/onlyinclude and other processing. &$parser: Parser object @@ -919,13 +1034,17 @@ Use to define aliases of special pages names depending of the language $specialPageAliases: associative array of magic words synonyms $lang: laguage code (string) +'LanguageGetTranslatedLanguageNames': Provide translated language names. +&$names: array of language code => language name +$code language of the preferred translations + 'LinkBegin': Used when generating internal and interwiki links in Linker::link(), before processing starts. Return false to skip default proces- sing 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 -&$text: the contents that the tag should have (raw HTML); null means "de- +&$html: the contents that the tag should have (raw HTML); null means "de- fault" &$customAttribs: the HTML attributes that the tag should have, in associa- tive array form, with keys and values unescaped. Should be merged with de- @@ -937,13 +1056,13 @@ $target: the Title that the link is pointing to 'LinkEnd': 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 $text will be returned. If you re- +with HTML attributes $attribs and contents $html will be returned. If you re- turn false, $ret will be returned. $skin: the Skin object $target: the Title object that the link is pointing to $options: the options. Will always include either 'known' or 'broken', and may include 'noclasses'. -&$text: the final (raw HTML) contents of the tag, after processing. +&$html: the final (raw HTML) contents of the tag, after processing. &$attribs: the final HTML attributes of the tag, after processing, in asso- ciative array form. &$ret: the value to return if your hook returns false. @@ -964,20 +1083,20 @@ $linkType: The external link type 'LinksUpdate': At the beginning of LinksUpdate::doUpdate() just before the actual update -&$linksUpdate: the LinkUpdate object +&$linksUpdate: the LinksUpdate object 'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating has completed -&$linksUpdate: the LinkUpdate object +&$linksUpdate: the LinksUpdate object 'LinksUpdateConstructed': At the end of LinksUpdate() is contruction. -&$linksUpdate: the LinkUpdate object +&$linksUpdate: the LinksUpdate object 'ListDefinedTags': When trying to find all defined tags. &$tags: The list of tags. -'LoadExtensionSchemaUpdates': called by maintenance/updaters.inc when upgrading -database schema +'LoadExtensionSchemaUpdates': called during database installation and updates +&updater: A DatabaseUpdater subclass 'LocalFile::getHistory': called before file history query performed $file: the file @@ -1013,22 +1132,6 @@ $paramArray: Array of parameters that corresponds to logging.log_params field. &$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 - -'LogPageLogName': name of the logging page(s). -DEPRECATED: Use $wgLogNames -&$typeText: array of strings - -'LogPageLogHeader': strings used by wfMsg as a header. -DEPRECATED: Use $wgLogHeaders -&$headerText: array of strings - -'LogPageActionText': strings used by wfMsg as a header. -DEPRECATED: Use $wgLogActions -&$actionText: array of strings - 'MagicWordMagicWords': When defining new magic word. DEPRECATED: use $magicWords in a file listed in $wgExtensionMessagesFiles instead. @@ -1038,7 +1141,9 @@ $magicWords: array of strings $variableIDs: array of strings 'MakeGlobalVariablesScript': called right before Skin::makeVariablesScript -is executed +is executed. Ideally, this hook should only be used to add variables that +depend on the current page/request; static configuration should be added +through ResourceLoaderGetConfigVars instead. &$vars: variable (or multiple variables) to be added into the output of Skin::makeVariablesScript @@ -1087,11 +1192,21 @@ $db: The database object to be queried. '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. +Note: this is only run for the Monobook skin. This hook is deprecated and +may be removed in the future. To add items to the toolbox you should use +the SkinTemplateToolboxEnd hook instead, which works for all +"SkinTemplate"-type skins. $tools: array of tools +'BaseTemplateToolbox': Called by BaseTemplate when building the $toolbox array +and returning it for the skin to output. You can add items to the toolbox while +still letting the skin make final decisions on skin-specific markup conventions +using this hook. +&$sk: The BaseTemplate base skin template +&$toolbox: An array of toolbox items, see BaseTemplate::getToolbox and + BaseTemplate::makeListItem for details on the format of individual + items inside of this array + 'NewRevisionFromEditComplete': called when a revision was inserted due to an edit $article: the article edited @@ -1129,6 +1244,14 @@ the resulting HTML is about to be displayed. $parserOutput: the parserOutput (object) that corresponds to the page $text: the text that will be displayed, in HTML (string) +'OutputPageBodyAttributes': called when OutputPage::headElement is creating the body +tag to allow for extensions to add attributes to the body of the page they might +need. Or to allow building extensions to add body classes that aren't of high +enough demand to be included in core. +$out: The OutputPage which called the hook, can be used to get the real title +$sk: The Skin that called OutputPage::headElement +&$bodyAttrs: An array of attributes for the body tag passed to Html::openElement + 'OutputPageCheckLastModified': when checking if the page has been modified since the last visit &$modifiedTimes: array of timestamps. @@ -1273,13 +1396,28 @@ $errorMsg: an html message string of an error $article: the page the form is shown for $out: OutputPage object +'ResourceLoaderRegisterModules': Right before modules information is required, such as when responding to a resource +loader request or generating HTML output. +&$resourceLoader: ResourceLoader object + +'ResourceLoaderGetStartupModules': Run once the startup module is being generated. This allows you +to add modules to the startup module. This hook should be used sparingly since any module added here +will be loaded on all pages. This hook is useful if you want to make code available to module loader +scripts. + 'RawPageViewBeforeOutput': Right before the text is blown out in action=raw &$obj: RawPage object &$text: The text that's going to be the output -'RecentChange_save': called at the end of RecenChange::save() +'RecentChange_save': called at the end of RecentChange::save() $recentChange: RecentChange object +'ResourceLoaderGetConfigVars': called at the end of +ResourceLoaderStartUpModule::getConfig(). Use this to export static +configuration variables to JavaScript. Things that depend on the current +page/request state must be added through MakeGlobalVariablesScript instead. +&$vars: array( variable name => value ) + 'RevisionInsertComplete': called after a revision is inserted into the DB &$revision: the Revision $data: the data stored in old_text. The meaning depends on $flags: if external @@ -1318,6 +1456,16 @@ $query : Original query. 'SetupAfterCache': Called in Setup.php, after cache objects are set +'SetupUserMessageArticle': Called in User::leaveUserMessage() before +anything has been posted to the article. +$user: The user who we left the message for. +&$article: The article that will be posted to. +$subject: The subject of the message +$text: The text of the message. +$signature: The signature we used. +$summary: The edit summary. +$editor: The editor that performed the edit. + 'ShowMissingArticle': Called when generating the output for a non-existent page $article: The article object corresponding to the page @@ -1335,11 +1483,13 @@ $page: The SpecialSearch object. 'SiteNoticeBefore': Before the sitenotice/anonnotice is composed &$siteNotice: HTML returned as the sitenotice +$skin: Skin object Return true to allow the normal method of notice selection/rendering to work, or change the value of $siteNotice and return false to alter it. 'SiteNoticeAfter': After the sitenotice/anonnotice is composed &$siteNotice: HTML sitenotice +$skin: Skin object Alter the contents of $siteNotice to add to/alter the sitenotice/anonnotice. 'SkinAfterBottomScripts': At the end of Skin::bottomScripts() @@ -1350,6 +1500,7 @@ Append to $text to add additional text/scripts after the stock bottom scripts. 'SkinAfterContent': Allows extensions to add text after the page content and article metadata. &$data: (string) Text to be printed out directly (without parsing) +$skin: Skin object This hook should work in all skins. Just set the &$data variable to the text you're going to add. @@ -1363,31 +1514,31 @@ $title: displayed page title $type: 'normal' or 'history' for old/diff views &$msg: overridable message; usually 'copyright' or 'history_copyright'. This message must be in HTML format, not wikitext! &$link: overridable HTML link to be passed into the message as $1 +&$forContent: overridable flag if copyright footer is shown in content language. -'SkinSubPageSubtitle': At the beginning of Skin::subPageSubtitle() +'SkinGetPoweredBy' +&$text: additional 'powered by' icons in HTML. +Note: Modern skin does not use the MediaWiki icon but plain text instead $skin: Skin object + +'SkinSubPageSubtitle': At the beginning of Skin::subPageSubtitle() &$subpages: Subpage links HTML +$skin: Skin object +$out: OutputPage object 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 - 'SkinTemplateBuildNavUrlsNav_urlsAfterPermalink': after creating the "permanent link" tab $sktemplate: SkinTemplate object $nav_urls: array of tabs -'SkinTemplateContentActions': Alter the "content action" links in SkinTemplates -&$content_actions: Content actions -[See http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/examples/Content_action.php -for an example] - -'SkinTemplateNavigation': Alter the structured navigation links in SkinTemplates +Alter the structured navigation links in SkinTemplates, there are three of these hooks called in different spots. +'SkinTemplateNavigation': Called on content pages after the tabs have been added but before before variants have been added +'SkinTemplateNavigation::SpecialPage': Called on special pages after the special tab is added but before variants have been added +'SkinTemplateNavigation::Universal': Called on both content and special pages after variants have been added &$sktemplate: SkinTemplate object &$links: Structured navigation links This is used to alter the navigation for skins which use buildNavigationUrls such as Vector. @@ -1417,13 +1568,9 @@ $checkEdit: Whether or not the action=edit query should be added if appropriate. &$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 -$content_actions: array of tabs - 'SkinTemplateToolboxEnd': Called by SkinTemplate skins after toolbox links have been rendered (useful for adding more) -$tools: array of tools +$sk: The QuickTemplate based skin template running the hook. 'SoftwareInfo': Called by Special:Version for returning information about the software @@ -1463,6 +1610,19 @@ $movePage: MovePageForm object $oldTitle: old title (object) $newTitle: new title (object) +'SpecialNewpagesConditions': called when building sql query for Special:NewPages +&$special: NewPagesPager object (subclass of ReverseChronologicalPager) +$opts: FormOptions object containing special page options +&$conds: array of WHERE conditionals for query +&tables: array of tables to be queried +&$fields: array of columns to select +&$join_conds: join conditions for the tables + +'SpecialNewPagesFilters': called after building form options at NewPages +$special: the special page object +&$filters: associative array of filter definitions. The keys are the HTML name/URL parameters. +Each key maps to an associative array with a 'msg' (message key) and a 'default' value. + 'SpecialPage_initList': called when setting up SpecialPage::$mList, use this hook to remove a core special page $list: list (array) of core special pages @@ -1476,26 +1636,48 @@ use this to change some selection criteria or substitute a different title &$title: If the hook returns false, a Title object to use instead of the result from the normal query +'SpecialRecentChangesFilters': called after building form options at RecentChanges +$special: the special page object +&$filters: associative array of filter definitions. The keys are the HTML name/URL parameters. +Each key maps to an associative array with a 'msg' (message key) and a 'default' value. + '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 +SpecialRecentChanges and SpecialRecentChangesLinked &$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 &$query_options: array of options for the database request +&$select: Array of columns to select + +'SpecialSearchGo': called when user clicked the "Go" +&$title: title object generated from the text entered by the user +&$term: the search term entered by the user '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 +&$title: title object generated from the text entered by the user 'SpecialSearchProfiles': allows modification of search profiles &$profiles: profiles, which can be modified. +'SpecialSearchProfileForm': allows modification of search profile forms +$search: special page object +&$form: String: form html +$profile: String: current search profile +$term: String: search term +$opts: Array: key => value of hidden options for inclusion in custom forms + +'SpecialSearchSetupEngine': allows passing custom data to search engine +$search: special page object +$profile: String: current search profile +$engine: the search engine + 'SpecialSearchResults': called before search result display when there are matches $term: string of search term @@ -1518,6 +1700,11 @@ $form: The SpecialUpload object use this to change the tables headers $extTypes: associative array of extensions types +'SpecialWatchlistFilters': called after building form options at Watchlist +$special: the special page object +&$filters: associative array of filter definitions. The keys are the HTML name/URL parameters. +Each key maps to an associative array with a 'msg' (message key) and a 'default' value. + 'SpecialWatchlistQuery': called when building sql query for SpecialWatchlist &$conds: array of WHERE conditionals for query &$tables: array of tables to be queried @@ -1541,6 +1728,23 @@ $user: user who did the move $pageid: database ID of the page that's been moved $redirid: database ID of the created redirect +'UndeleteForm::showHistory': called in UndeleteForm::showHistory, after a +PageArchive object has been created but before any further processing is done. +&$archive: PageArchive object +$title: Title object of the page that we're viewing + +'UndeleteForm::showRevision': called in UndeleteForm::showRevision, after a +PageArchive object has been created but before any further processing is done. +&$archive: PageArchive object +$title: Title object of the page that we're viewing + +'UndeleteForm::undelete': called un UndeleteForm::undelete, after checking that +the site is not in read-only mode, that the Title object is not null and after +a PageArchive object has been constructed but before performing any further +processing. +&$archive: PageArchive object +$title: Title object of the page that we're about to undelete + 'UndeleteShowRevision': called when showing a revision in Special:Undelete $title: title object related to the revision $rev: revision (object) that will be viewed @@ -1550,6 +1754,9 @@ $rev: revision (object) that will be viewed $action: action name $article: article "acted on" +'UnitTestsList': Called when building a list of files with PHPUnit tests +&$files: list of files + 'UnwatchArticle': before a watch is removed from an article $user: user watching $article: article object to be removed @@ -1568,10 +1775,13 @@ You might set the member-variables $uploadFormTextTop and $uploadFormTextAfterSummary to inject text (HTML) either before or after the editform. -'UploadForm:BeforeProcessing': DEPRECATED! at the beginning of processUpload() +'UploadForm:BeforeProcessing': at the beginning of processUpload() $form: UploadForm object 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 'UploadCreateFromRequest': when UploadBase::createFromRequest has been called $type: (string) the requested upload type @@ -1588,7 +1798,8 @@ $descriptor: (array) the HTMLForm descriptor added to the descriptor $descriptor: (array) the HTMLForm descriptor -'UploadVerification': additional chances to reject an uploaded file +'UploadVerification': additional chances to reject an uploaded file. Consider + using UploadVerifyFile instead. string $saveName: destination file name string $tempName: filesystem path to the temporary file for checks string &$error: output: message key for message to show if upload canceled @@ -1596,6 +1807,16 @@ string &$error: output: message key for message to show if upload canceled 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. +object $upload: an instance of UploadBase, with all info about the upload +string $mime: the uploaded file's mime type, as detected by MediaWiki. Handlers + will typically only apply for specific mime types. +object &$error: output: true if the file is valid. Otherwise, an indexed array + representing the problem with the file, 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 $uploadBase: UploadBase (or subclass) object. File can be accessed by $uploadBase->getLocalFile(). @@ -1606,6 +1827,11 @@ $user: the user who sent the message out $ip: IP of the user who sent the message out $u: the account whose new password will be set +'UserAddGroup': called when adding a group; return false to override +stock group addition. +$user: the user object that is to have a group added +&$group: the group to add, can be modified + 'UserArrayFromResult': called when creating an UserArray object from a database result &$userArray: set this to an object to override the default object returned @@ -1667,6 +1893,10 @@ $user: User object 'UserGetImplicitGroups': Called in User::getImplicitGroups() &$groups: List of implicit (automatically-assigned) groups +'UserGetLanguageObject': Called when getting user's interface language object +$user: User object +&$code: Langauge code that will be used to create the object + 'UserGetReservedNames': allows to modify $wgReservedUsernames at run time &$reservedUsernames: $wgReservedUsernames @@ -1729,6 +1959,11 @@ $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) +'UserRemoveGroup': called when removing a group; return false to override +stock group removal. +$user: the user object that is to have a group removed +&$group: the group to be removed, can be modified + 'UserRights': After a user's group memberships are changed $user : User object that was changed $add : Array of strings corresponding to groups added @@ -1761,14 +1996,10 @@ $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 - -'WantedPages::getSQL': called in WantedPagesPage::getSQL(), can be used to -alter the SQL query which gets the list of wanted pages +'WantedPages::getQueryInfo': called in WantedPagesPage::getQueryInfo(), can be +used to alter the SQL query which gets the list of wanted pages &$wantedPages: WantedPagesPage object -&$sql: raw SQL query used to get the list of wanted pages +&$query: query array, see QueryPage::getQueryInfo() for format documentation 'WatchArticle': before a watch is added to an article $user: user that will watch @@ -1778,6 +2009,13 @@ $article: article object to be watched $user: user that watched $article: article object watched +'WatchlistEditorBuildRemoveLine': when building remove lines in + Special:Watchlist/edit +&$tools: array of extra links +$title: Title object +$redirect: whether the page is a redirect +$skin: Skin object + 'WikiExporter::dumpStableQuery': Get the SELECT query for "stable" revisions dumps One, and only one hook should set this, and return false. @@ -1803,5 +2041,14 @@ $obj: The XmlDumpWriter object. $row: The database row for the revision. $text: The revision text. +'XMPGetInfo': Called when obtaining the list of XMP tags to extract. Can be used to add + additional tags to extract. +&$items: Array containing information on which items to extract. See XMPInfo for details on the format. + +'XMPGetResults': Called just before returning the results array of parsing xmp data. Can be + used to post-process the results. +&$data: Array of metadata sections (such as $data['xmp-general']) each section is an array of + metadata tags returned (each tag is either a value, or an array of values). + More hooks might be available but undocumented, you can execute ./maintenance/findhooks.php to find hidden one.