Manual:Hooks/ja

From MediaWiki.org

Jump to: navigation, search
Crystal Clear app tutorials.png タグの拡張機能 パーサー関数 フック 特別ページ スキン マジックワード

MediaWikiは機能を拡張するためにいくつかのフックを提供します。その時点で開発者が便利だと思ったタスクを実行するために機能をフックに割り当てること(イベントハンドラとして知られる)で機能はメインのMediaWikiコードにある適切なポイントで呼び出されます。それぞれのフックは割り当てられた複数のハンドラを持ち、チェーンにある次の機能に渡される一つの機能による修正によって割り当てられた順番で機能を呼び出します。

フックはLocalSettings.php終わりもしくは独自の拡張機能ファイルに割り当てられます。機能をフックに割り当てるもっとも簡単な方法は次の通りです:

$wgHooks['event'][] = 'function';

一つの要素を$wgHooksに追加します。拡張機能で新しいフックを作成することも出来ます。この方法で作成されたフックはExtension Hook Registryに追加されます。

Contents

[edit] バックグラウンド

それぞれのフックはHooks.phpファイルで定義されているwfRunHooks関数のコールによってコードに表示されます。wfRunHooksの最初の引数はフックの名前で、2番目はフックの引数の配列です。wfRunHooks関すは$wgHooks配列から為されるタスクを見つけます。それは呼びだされた関数で引数としてPHP関数のcall_user_func_arrayを呼び出し、...

[edit] イベントハンドラを書く

イベントハンドラはフックに割り当てられた関数で、フックによって表示されるイベントが起きるときにどうします。次のような構成です:

  • オプションの付属データを伴う関数
  • メソッドとオプションの付属データを伴うオブジェクト

イベントハンドラは与えられたイベントのためのグローバルな$wgHooks配列にそれらを追加することで登録されます。フックはフックが呼び出される前に実行において、どのポイントからでも追加することが出来ますが、多くはLocalSettings.phpに共通に追加されるか、含まれるファイルです。次の例はフックを定義する妥当な方法で、'EventName'が動作するときに実行されるコードによるものです:

フォーマット 構文 結果の関数コール
関数、データ無し $wgHooks['EventName'][] = 'someFunction'; someFunction($param1, $param2);
関数、データ有り $wgHooks['EventName'][] = array('someFunction', $someData); someFunction($someData, $param1, $param2);
関数、データ無し
(変わった構文だがOK)
$wgHooks['EventName'][] = array('someFunction'); someFunction($param1, $param2);
オブジェクトだけ $wgHooks['EventName'][] = $object; $object->onEventName($param1, $param2);
メソッドを持つオブジェクト $wgHooks['EventName'][] = array($object, 'someMethod'); $object->someMethod($param1, $param2);
メソッドとデータを持つオブジェクト $wgHooks['EventName'][] = array($object, 'someMethod', $someData); $object->someMethod($someData, $param1, $param2);
オブジェクトだけ
(変わった構文だがOK)
$wgHooks['EventName'][] = array($object); $object->onEventName($param1, $param2);

イベントが起きるとき、関数(もしくはオブジェクトメソッド)はイベント特有のパラメータと同様に提供されたオプションデータで呼び出されます。オブジェクトがフックで、指定されたメソッドが存在しないとき、呼び出されるデフォルトのメソッドは'onEventName'です。異なるイベントのためにこれは異なります: 'onArticleSave'、'onUserLogin'などです。

異なる目的のために同じ関数もしくはオブジェクトを使用したい場合、外部のデータが便利です。例です:

$wgHooks['ArticleSaveComplete'][] = array('ircNotify', 'TimStarling');
$wgHooks['ArticleSaveComplete'][] = array('ircNotify', 'brion');

記事が保存されたとき、このコードはircNotifyを2回動作させます: 一回は'TimStarling'、もう一回は'brion'のために。

イベントハンドラは3つの可能な値の一つを返すことが出来ます:

  • true: フックがうまく実行されました
  • "some string": エラーが発生します: 処理は停止してエラーがユーザに表示されます
  • false: フックは必要な作業を実行し関数の呼び出しをスキップします

最後の結果はフック関数がメインの機能性を置き換えるためです。カスタムのシステム(LDAP、他のPHPプログラム、何でも)にユーザを認証させたい場合、次のようにします:

$wgHooks['UserLogin'][] = array('ldapLogin', $ldapServer);
 
$ldap['server']="ldaps://ldap.company.com/";
$ldap['port'] = 636;
$ldap['base'] = ",ou=Staff,dc=company,dc=com";
 
function ldapLogin($username, $password) {
 global $ldap;
 $auth_user="uid=".$username.$ldap['base'];
  if($connect=@ldap_connect($ldap['server'],$ldap['port'])){
      if($bind=@ldap_bind($connect, $auth_user, $password)){
          @ldap_close($connect);
          return(true);
      }//if bound to ldap
      else {
         echo "Error on ldap_bind";
      }
  }//if connected to ldap
  else {
     echo "Error on ldap_connect";
  }
  @ldap_close($connect);
  return(false);
}

falseを返すことはアクションが完全であるイベントに対してあまり意味をなしませんし、通常は無視されます。

[edit] 利用可能なフック

このページはMediaWikiで利用できる多くのフックが掲載されており、1.8.2に対しては完全です。最新のフックについて、とりわけ目的や使い方について多くのものはまだ開発者によってドキュメント化されていません。詳しい情報をご存じでしたら、記事の追加をお願いします。

テーブルにおいて、最初のカラムはフックが導入されたMediaWikiのバージョンで2番目のカラムはフックの使い方についての詳細な情報です。

[edit] 機能ごとに分類したフック

フックの中には複数の機能に分類されたものがあります。

機能 バージョン フック 説明
記事の管理 1.12.0 AbortMove 一つのタイトルからページを別のものへの移動を中断することを可能にする
1.6.0 AlternateEdit action=editが呼び出される時はいつでも起動します
1.4.0 ArticleDelete MediaWikiが一つの記事を削除する一つのリクエストを受け取るときはいつも起動します
1.4.0 ArticleDeleteComplete 記事削除のリクエストが終了した後で動作します
1.8.0 ArticleFromTitle タイトルに基づいて記事のレンダリングを取り扱うクラスを決定するために呼びされます
1.6.0 ArticleInsertComplete 新しい記事が作成された後に動作します
1.4.0 ArticleProtect MediaWikiが記事を保護するリクエストを受け取る時に動作します
1.4.0 ArticleProtectComplete 記事の保護のリクエストが処理された後に動作します
1.4.0 ArticleSave MediaWikiが記事を保存するリクエストを受け取るときに動作します
1.4.0 ArticleSaveComplete 記事を保存するリクエストが処理された後に動作します
1.4.0 TitleMoveComplete 記事を移動させるリクエストが完了したときはいつも動作します
1.13.0 TitleSecureAndSplit Title::secureAndSplit()の終わりに呼び出される
ページレンダリング 1.6.0 ArticleAfterFetchContent
1.6.0 ArticlePageDataBefore
1.6.0 ArticlePageDataAfter
1.5.0 ParserBeforeStrip 内部処理が適用される前に生のwikiコードを処理するために使われる。
1.5.0 ParserAfterStrip <nowiki>タグに囲まれたテキストが保護される前であるが別のwikiテキストが処理されるまえに生のwikiコードが処理される。
1.6.0 ParserBeforeInternalParse ストリップされたwikiテキストの通常処理をカスタム処理に置き換えます。(追加よりも)コアのMediaWikiマークアップ構文の代替をサポートするために最初に使われていた。
1.10.0 InternalParseBeforeLinks <nowiki>、HTMLのコメントの後で拡張されたwikiコードを処理するために使用され、テンプレートが処理されます。テンプレートとコメントをサポートするためにシンタックス拡張機能のために最適です。
1.5.0 ParserBeforeStrip 内部処理が適用されるまえに生のwikiコードを処理するために使用されます
1.5.0 ParserAfterStrip
1.6.0 ParserBeforeInternal
1.5.0 ParserBeforeTidy ページのためにほとんどレンダーされたhtmlコード(ただしtidyによる処理の前)を処理をするために使用されます
1.5.0 ParserAfterTidy 最後の処理を完全にレンダーされたページ出力に追加するために使用されます
1.6.0 ParserClearState
1.6.0 ParserGetVariableValueSwitch
1.6.0 ParserGetVariableValueTs
1.6.0 ParserGetVariableValueVarCache
1.6.0 OutputPageBeforeHTML HTMLが表示される前でページがレンダーされた後に呼びされます。
1.8.0 OutputPageParserOutput
1.4.3 CategoryPageView CategoryPage::viewでカテゴリーページを見る前に呼びされます
1.6.0 PageRenderingHash
1.6.0 ArticleViewHeader 記事のヘッダが表示された後に呼び出されます
1.5.1 ArticleViewRedirect
1.11.0 editSectionLinkForOther HTMLが表示される前でLinker::editSectionLinkForOtherのヘッダ内で[edit]リンクを作成する前に呼び出されます。
1.11.0 EditSectionLink HTMLが表示される前でLinker::editSectionLinkのリンク内の[edit]リンクを作成する後に呼び出されます。
ユーザーインターフェイス 1.5.4 AutoAuthenticate 外部/環境上の方法でユーザを認証するために呼び出されます
1.4.0 UserLoginComplete ユーザがログインを成功した後に動作します
1.4.0 UserLogout MediaWikiがログアウトのリクエストを受け取る時に動作します
1.4.0 UserLogoutComplete ユーザがログアウトを成功した後に動作します
1.6.0 userCan ユーザがYの記事に対してXをすることが出来るかどうか中断させる/勧告するため
1.4.0 WatchArticle MediaWikiが記事を監視するリクエストを取得するときはいつでも動作します
1.4.0 WatchArticleComplete 記事を監視するリクエストが処理された後に動作します
1.4.0 UnwatchArticle MediaWikiが記事を監視しないリクエストを取得するときはいつでも動作します
1.4.0 UnwatchArticleComplete 記事を監視しないリクエストが処理されたあとに動作します
1.6.0 MarkPatrolled 編集がパトロール済みのマークが付けられる前に呼び出されます
1.6.0 MarkPatrolledComplete 編集にパトロール済みのマークが付けられた後に呼び出されます
1.4.0 EmailUser MediaWikiがユーザからユーザへEメールを送るリクエストを取得したときはいつでも動作します
1.4.0 EmailUserComplete ユーザからユーザへEメールが送られた後に動作します
1.6.0 UploadVerification ファイルがアップロードされたとき、外部のファイルの検査を起動させることを許可します
1.6.4 UploadComplete ファイルのアップロードが終了したときに呼び出されます
1.6.0 SpecialMovepageAfterMove ページが移動した後に呼び出されます
1.6.0 SpecialSearchNogomatch
1.5.7 ArticleEditUpdateNewTalk
1.5.7 UserRetrieveNewTalks
1.5.7 UserClearNewTalkNotification
1.6.0 ArticlePurge
特別ページ 1.6.0 SpecialPageGetRedirect
1.6.0 SpecialPageExecuteBeforeHeader
1.6.0 SpecialPageExecuteBeforePage
1.6.0 SpecialPageExecuteAfterPage
1.6.0 SpecialVersionExtensionTypes
SpecialPage_initList 特別ページのリストが投入された後で呼び出されます
1.9.0 UploadForm:initial アップロードフォームが生成される前に呼び出されます
1.9.0 UploadForm:BeforeProcessing 拡張機能がファイルデータ(例えば説明)を操作できるように、ファイルデータが処理される前に呼び出されます。
ユーザー管理 1.5.0 AddNewAccount ユーザアカウントが作成される前に呼び出されます
1.5.8 AbortNewAccount ユーザアカウントの作成をキャンセルするために使用されます
1.4.0 BlockIp MediaWikiがIPアドレスもしくはユーザをブロックするリクエストを受け取る時はいつも動作します
1.4.0 BlockIpComplete IPアドレスもしくはユーザをブロックするリクエストが処理された後に動作します
1.6.0 Hooks/UserRights ユーザグループメンバーシップが変更された後で呼び出されます
1.6.0 GetBlockedStatus
ロギング 1.6.0 LogPageActionText
1.5.0 LogPageLogHeader
1.5.0 LogPageLogName
1.5.0 LogPageValidTypes
スキン / テンプレート 1.7.0 BeforePageDisplay 出力ページへの最後の小さな変更、例えば、CSSもしくは拡張機能によるJavaScriptの追加などを許可します。
1.6.0 MonoBookTemplateToolboxEnd レンダーされたツールボックスリンクの後でMonobookスキンによって呼び出されます(さらに追加するために便利です)
1.7.0 PersonalUrls (SkinTemplate.php)投入されたパーソナルURL(Monobookのトップ上にあるリンク)のリストの後で呼び出されます。
1.5.0 SkinTemplateContentActions デフォルトのタブリストが投入された後で呼び出されます(リンクは文脈依存です、すなわち"通常"の記事もしくは"特別ページ")。
1.6.0 SkinTemplateTabs スキンのデフォルトタブリンクが投入された後で呼び出されます。
1.6.0 SkinTemplatePreventOtherActiveTabs スキンへの追加タブを含むことを有効/無効にするために呼び出されます。
1.6.0 SkinTemplateSetupPageCss
1.6.0 SkinTemplateBuildContentActionUrlsAfterSpecialPage
1.6.0 SkinTemplateBuildNavUrlsNav_urlsAfterPermalink ナビゲーションURL配列にパーマリンクが入力された後で呼び出されます。
1.6.0 UserCreateForm UserCreateForm(SpecialUserLogin.php)へ最後の微細なアップデートを許可する。
1.6.0 UserLoginForm UserLoginForm (SpecialUserLogin.php)への最後の微細なアップデートを許可する。
その他 1.6.0 ArticleEditUpdatesDeleteFromRecentchanges
1.6.0 EditFilter
1.6.0 EditPage::showEditForm:initial Edit Formを修正するために使用されます。
1.6.0 GetInternalURL fully-qualified URLsを修正するために使用されます(squidキャッシュのパージに便利です)
1.6.0 GetLocalURL 出力としてローカルURLをページリンクに修正するために使用されます
1.6.0 GetFullURL redirects/export/offsiteデータで使用されるfully-qualified URLsを修正するために使用されます
1.6.0 LanguageGetMagic パーサ機能の拡張機能のために使用されます
1.6.0 MagicWordMagicWords
1.6.0 MagicWordwgVariableIDs
1.5.7 MessagesPreLoad
1.6.0 ParserTestParser
1.5.0 SpecialContributionsBeforeMainOutput
1.4.0 UnknownAction 新しいクエリ文字列のアクションを追加するために使用されます
1.6.0 wgQueryPages
1.8.0 DisplayOldSubtitle
1.8.0 LoadAllMessages
1.8.0 RecentChange_save "最近の更新"がDBにコミットされた後で呼び出されます
1.8.0 UserToggles "user toggle names"を返す前に呼び出されます

[edit] アルファベット順のフックリスト

バージョン フック 以下の内容から呼び出される 説明
1.910 1.10.0 AbortLogin SpecialUserlogin.php captchaのようなログイン処理を中断する拡張機能を許可します
1.5.8 AbortNewAccount SpecialUserlogin.php ユーザアカウント作成をキャンセルするために使用されます
1.5.0 AddNewAccount SpecialUserlogin.php ユーザアカウントが作成された後に呼び出されます
1.9.1 AjaxAddScript OutputPage.php 初期化直前に出力ページに呼び出されます
1.6.0 AlternateEdit EditPage.php actin=editが呼び出された時に動作します
1.6.0 ArticleAfterFetchContent Article.php ほとんどのパーサ処理が完了した後で生のwikiコードを処理するために使用されます(Hooks.txtでドキュメント化されていません)
1.4.0 ArticleDelete Article.php MediaWikiが記事を削除するリクエストを受け取るときはいつでも動作します
1.4.0 ArticleDeleteComplete Article.php 記事削除のリクエストが処理された後で動作します
1.5.7 ArticleEditUpdateNewTalk Article.php 新しいメッセージが会話ページに追加されたときにユーザ津位置を防止する拡張機能を許可する。 (Not Documented in Hooks.txt)
1.6.0 ArticleEditUpdatesDeleteFromRecentchanges Article.php 最近の更新リストから削除されていない古いエントリーを返す場合にデータベースに保存する前に動作します。(Not Documented in Hooks.txt)
1.8.0 ArticleFromTitle Wiki.php タイトルに基づいて記事のレンダリングを取り扱うクラスを決定するために呼び出されます。(Not Documented in Hooks.txt)
1.6.0 ArticleInsertComplete Article.php 記事が作成された後で呼び出されます
1.6.0 ArticlePageDataAfter Article.php (Not Documented in Hooks.txt)
1.6.0 ArticlePageDataBefore Article.php (Not Documented in Hooks.txt)
1.4.0 ArticleProtect Article.php MediaWikiが記事を保護するリクエストを受け取るときはいつでも動作します
1.4.0 ArticleProtectComplete Article.php 記事を保護するリクエストが処理された後で動作します
1.6.0 ArticlePurge Article.php 拡張機能がパージをキャンセルすることを許可します。(Not Documented in Hooks.txt)
1.4.0 ArticleSave Article.php MediaWikiが記事を保存するリクエストを取得するときに動作します
1.4.0 ArticleSaveComplete Article.php 記事を保存するリクエストが処理された後で動作します
1.9.1 ArticleUndelete SpecialUndelete.php 一つもしくはそれ以上の記事のリビジョンがリストアされたとき
1.6.0 ArticleViewHeader Article.php ヘッダが表示されたときに動作します
1.5.1 ArticleViewRedirect Article.php 拡張機能がリダイレクトページ上で"Redirected From"リンクの表示を防止することを許可します。 (Not Documented in Hooks.txt)
1.9.1 AuthPluginSetup Setup.php 認証プラグインオブジェクト($wgAuth)を更新もしくは置き換える
1.5.4 AutoAuthenticate StubObject.php 外部/環境上の方法でユーザを認証するために呼び出される。
1.7.0 BadImage ImageFunctions.php バッドイメージリストが評価される前に
1.9101 1.10.1 BeforeGalleryFindFile ImageGallery.php 拡張機能がギャラリーで表示する画像の特定のバージョンを指定することを許可する。
1.7.0 BeforePageDisplay SkinTemplate.php 出力ページへの最後の微少な変更、例えば拡張機能によるCSSもしくはJavaScriptの追加などを許可します。 (Not Documented in Hooks.txt)
1.9101 1.10.1 BeforeParserFetchTemplateAndTitle Parser.php Parserによってテンプレートが取得される前に
1.9101 1.10.1 BeforeParserMakeImageLinkObj Parser.php Parserによって画像がレンダーされる前に
1.9101 1.10.1 BeforeParserRenderImageGallery Parser.php 画像ギャラリーがParserによってレンダーされる前に
1.4.0 BlockIp SpecialBlockip.php MediaWikiがIPアドレスもしくはユーザをブロックするリクエストを受け取る時はいつでも動作します
1.4.0 BlockIpComplete SpecialBlockip.php IPもしくはユーザをブロックするリクエストが処理された後で動作します
1.9.1 BookInformation SpecialBooksources.php Special:Booksources上の情報出力前に
1.4.3 CategoryPageView CategoryPage.php CategoryPage::viewにあるカテゴリーページを見る前に呼び出されます
1.911 1.11.0 ContributionsToolLinks SpecialContributions.php Special:Contributions上のツールリンクを変更します
1.9.1 CustomEditor Wiki.php ページエディタを起動させたとき。通常のエディタを使用するときはtrueを、例えば特別な名前空間のためなどのために、カスタムのエディタを実装する場合はfalse。
1.7.0 DiffViewHeader DifferenceEngine.php diffを表示する前に呼び出されます
1.8.0 DisplayOldSubtitle Article.php リビジョンを通してブラウジングするときにリンクの表示を修正することを拡張機能に許可する。(Not Documented in Hooks.txt)
1.6.0 EditFilter EditPage.php 編集上でチェックを実行する
1.7.0 EditFormPreloadText EditPage.php 新しい記事のために編集ページが表示される時に呼び出されます。初期のwikitextで新しいページのテキストボックスを満たすことを許可します。
1.8.3 EditPage::attemptSave EditPage.php 記事が保存される前、すなわちinsertNewArticle()が呼び出される前に呼び出されます。
1.6.0 EditPage::showEditForm:fields EditPage.php フォームフィールドを編集フォームに導入することを許可します。
1.6.0 EditPage::showEditForm:initial EditPage.php (Not Documented in Hooks.txt)
1.7.0 EmailConfirmed User.php ユーザのEメールアドレスが"confirmed"(確認)されたことをチェックする時
1.4.0 EmailUser SpecialEmailuser.php MediaWikiがユーザからユーザへEメールを送るリクエストを取得する時はいつでも動作します
1.4.0 EmailUserComplete SpecialEmailuser.php ユーザからユーザへEメールが送られた後に動作します
1.7.0 FetchChangesList ChangesList.php ユーザのために最近の更新リストを修正することを拡張機能に許可します。(Not Documented in Hooks.txt)
1.911 1.11.0 FileUpload filerepo/LocalFile.php ファイルをアップロードするとき
1.6.0 GetBlockedStatus User.php ユーザのgetBlockStatusが設定された後で動作を始めます (Not Documented in Hooks.txt)
1.6.0 GetFullURL Title.php redirects/export/offsiteデータで使用されるfully-qualified URLsを修正するために使用されます
1.6.0 GetInternalURL Title.php fully-qualified URLsを修正するために使用されます(squidキャッシュパージのために便利です)
1.6.0 GetLocalURL Title.php 出力としてローカルURLをページリンクに修正するために使用されます
ImageOpenShowImageInlineBefore ImagePage.php 画像ページ上で画像を表示する直前にポテンシャル拡張機能を呼び出します。
1.911 1.11.0 InitPreferencesForm SpecialPreferences.php PreferencesFormのコンストラクタの終わりで呼び出されます
1.910 1.10.0 InternalParseBeforeLinks Parser.php <nowiki>、HTMLコメントの後で拡張されたwikiコードを処理するために使用され、テンプレートが処理されます。テンプレートとコメントをサポートするシンタックス拡張機能のために最適です。
1.910 1.10.0 IsFileCacheable Article.php ページ上でファイルキャッシングを無効にすることを拡張機能に許可します。(Not Documented in Hooks.txt)
IsTrustedProxy ProxyTools.php 信用された、されないものとしてIPを設定することを拡張機能に許可します。(Not Documented in Hooks.txt)
1.911 1.11.0 IsValidPassword User.php User::isValidPassword()の結果をオーバーライドします
1.6.0 LanguageGetMagic languages/Language.php (Not Documented in Hooks.txt)
1.911 1.11.0 LinksUpdateConstructed LinksUpdate.php LinksUpdate()の終わりでコンストラクションです。
1.8.0 LoadAllMessages MessageCache.php (Not Documented in Hooks.txt)
LoadExtensionsSchemaUpdates maintenance/updaters.inc (Not Documented in Hooks.txt)
LoginAuthenticateAudit SpecialUserLogin.php ユーザアカウントのためにログインが成功したか失敗したか。返されたデータは受け取られません: このフックは会計検査のみです。
1.6.0 LogPageActionText Setup.php ヘッダとしてwfMsgに使用される文字列。廃止予定: $wgLogActionsを使用して下さい
1.5.0 LogPageLogHeader Setup.php ヘッダとしてwfMsgによって使用される文字列。廃止予定: $wgLogHeadersを使用して下さい
1.5.0 LogPageLogName Setup.php ロギングページの名前。廃止予定: $wgLogNamesを使用して下さい
1.5.0 LogPageValidTypes Setup.php ログの記録がされたアクション。廃止予定: $wgLogTypesを使用して下さい
1.6.0 MagicWordMagicWords MagicWord.php (Not Documented in Hooks.txt)
1.6.0 MagicWordwgVariableIDs MagicWord.php (Not Documented in Hooks.txt)
1.6.0 MarkPatrolled Article.php 編集がパトロールされたものとしてマークされる前に呼び出されます
1.6.0 MarkPatrolledComplete Article.php 編集がパトロールされたものとしてマークされた後で呼び出されます
1.7.0 MathAfterTexvc Math.php 数式が連打されるときにtexvcが実行された後で
1.5.7 MessagesPreLoad MessageCache.php (Not Documented in Hooks.txt)
1.6.0 MonoBookTemplateToolboxEnd skins/Monobook.php ツールボックスリンクがレンダーされた後でMonobookスキンによって呼び出されます(さらに追加するために便利です)
1.6.0 OutputPageBeforeHTML OutputPage.php ページがレンダーされた後でHTMLが表示される前に呼び出されます。
1.8.0 OutputPageParserOutput OutputPage.php (Not Documented in Hooks.txt)
PageHistoryBeforeList PageHistory.php 履歴ページリストがコンストラクトされようとしているとき。
PageHistoryLineEnding PageHistory.php 終わりの>li>が履歴の行に追加される直前
1.6.0 PageRenderingHash User.php パーサのキャッシュオプションのハッシュキーを変更する
1.5.0 ParserAfterStrip Parser.php (Not Documented in Hooks.txt)
1.5.0 ParserAfterTidy Parser.php 最後の処理を十分にレンダーされたページ出力に追加するために使用されます
1.6.0 ParserBeforeInternalParse Parser.php (Not Documented in Hooks.txt)
1.5.0 ParserBeforeStrip Parser.php 内部処理が適用される前に生のwikiコードを処理するために使用されます
1.5.0 ParserBeforeTidy Parser.php ページのためにほぼレンダーされたhtmlコードを処理するために使用されます(htmlを整形する前)
1.6.0 ParserClearState Parser.php (Not Documented in Hooks.txt)
1.6.0 ParserGetVariableValueSwitch Parser.php (Not Documented in Hooks.txt)
1.6.0 ParserGetVariableValueTs Parser.php (Not Documented in Hooks.txt)
1.6.0 ParserGetVariableValueVarCache Parser.php (Not Documented in Hooks.txt)
1.6.0 ParserTestParser maintenance/Parser.inc
ParserTestTables maintenance/Parser.inc ページ保存フックがカスタムテーブルの表示を必要とするときにテストが適切に動作を続けることを保証するために使用します。
PingLimiter User.php User::pingLimiter()の結果をオーバーライドすることを拡張機能に許可します
PreferencesUserInformationPanel SpecialPreferences.php プリファレンスフォームにあるユーザ情報リストにHTMLビットを追加する
PrefsEmailAudit SpecialPreferences.php (Not Documented in Hooks.txt)
PrefsPasswordAudit SpecialPreferences.php (Not Documented in Hooks.txt)
RawPageViewBeforeOutout RawPage.php action=rawでテキストが失敗する直前
1.8.0 RecentChange_save RecentChange.php "最近の変更"がDBに投稿された後に呼び出されます
RenderPreferencesForm SpecialPreferences.php PreferencesForm::mainPrefsFormの終点で呼び出されます
ResetPreferences SpecialPreferences.php PreferencesForm::resetPrefsの終点で呼び出されます
SavePreferences SpecialPreferences.php PreferencesForm::savePreferencesの終点で呼び出されます; falseを返すことで保存されることからプリファレンスを防止します。
SearchUpdate SearchUpdate.php 検索更新の完了に先行します
ShowRawCssJs Article.php ページビューでの生のCSSとJavaScriptの出力をカスタマイズします
1.7.0 SiteNoticeAfter GlobalFunctions.php サイト通知が決定される後
1.7.0 SiteNoticeBefore GlobalFunctions.php サイト通知が決定される前
1.6.0 SkinTemplateBuildContentActionUrlsAfterSpecialPage SkinTemplate.php (Not Documented in Hooks.txt)
1.6.0 SkinTemplateBuildNavUrlsNav_urlsAfterPermalink SkinTemplate.php (Not Documented in Hooks.txt)
1.5.0 SkinTemplateContentActions SkinTemplate.php (Not Documented in Hooks.txt)
SkinTemplateOutputPageBeforeExec SkinTemplate.php SkinTemplate::outputPage()がページ出力を始める前
1.6.0 SkinTemplatePreventOtherActiveTabs SkinTemplate.php and skins/disabled/MonoBookCBT.php (Not Documented in Hooks.txt)
1.6.0 SkinTemplateSetupPageCss SkinTemplate.php and skins/disabled/MonoBookCBT.php (Not Documented in Hooks.txt)
1.6.0 SkinTemplateTabs SkinTemplate.php (Not Documented in Hooks.txt)
1.5.0 SpecialContributionsBeforeMainOutput SpecialContributions.php Special:Contributions上のフォームの前
1.6.0 SpecialMovepageAfterMove SpecialMovepage.php ページが移動された後で呼び出されます。
1.7.0 SpecialPage_initList SpecialPage.php 特別ページのリストが投入されたときに呼び出されます。フックはページを隠す/表示するリストを変更する機会があります
1.6.0 SpecialPageExecuteAfterPage SpecialPage.php (Not Documented in Hooks.txt)
1.6.0 SpecialPageExecuteBeforeHeader SpecialPage.php (Not Documented in Hooks.txt)
1.6.0 SpecialPageExecuteBeforePage SpecialPage.php (Not Documented in Hooks.txt)
1.6.0 SpecialSearchNogomatch SpecialSearch.php (Not Documented in Hooks.txt)
1.6.0 SpecialVersionExtensionTypes SpecialVersion.php (Not Documented in Hooks.txt)
1.4.0 TitleMoveComplete Title.php 記事を移動させるリクエストが完了した時はいつも動作します
UndeleteShowRevision SpecialUndelete.php (Not Documented in Hooks.txt)
1.4.0 UnknownAction Wiki.php 新しいクエリ文字列のアクションを追加するために使用されます
1.4.0 UnwatchArticle Article.php MediaWikiが記事の監視を解除するリクエストを受け取るときはいつも動作します
1.4.0 UnwatchArticleComplete Article.php 記事の監視を解除するリクエストが処理された後で動作します
1.6.4 UploadComplete SpecialUpload.php ファイルアップロードが完了したときに呼び出されます。
1.9.0 UploadForm:BeforeProcessing SpecialUpload.php 拡張機能がファイルデータファイルデータ(例えば説明)を処理できるようにファイルデータが処理される直前に呼びされます。
1.9.0 UploadForm:initial SpecialUpload.php アップロードフォームが生成される直前に呼び出されます
1.6.0 UploadVerification SpecialUpload.php 外部ファイルの認証が起動することを許可するためにファイルがアップロードされたときに呼び出されます
1.6.0 userCan Title.php ユーザはY記事にXができることをチェックすることを中断/推奨するため
1.5.7 HUserClearNewTalkNotification User.php (Not Documented in Hooks.txt)
1.6.0 UserCreateForm SpecialUserlogin.php ログインフォームを操作するために変更する
1.911 1.11.0 UserEffectiveGroups User.php User::getEffectiveGroups()に呼び出されます
1.911 1.11.0 UserGetImplicitGroups User.php User::getImplicitGroups()に呼び出されます
UserGetRights User.php (Not Documented in Hooks.txt)
1.4.0 UserLoginComplete SpecialUserlogin.php ユーザがログインを成功した後で動作します
1.6.0 UserLoginForm SpecialUserlogin.php ログインフォームを操作する変更
1.4.0 UserLogout SpecialUserlogin.php ログアウトするリクエストを受け取る時に動作します
1.4.0 UserLogoutComplete SpecialUserlogin.php ユーザがログアウトを成功した後で動作します
1.5.7 UserRetrieveNewTalks User.php (Not Documented in Hooks.txt)
1.6.0 UserRights SpecialUserrights.php ユーザのグループメンバーシップが変更された後で呼び出されます
1.8.0 UserToggles User.php "ユーザトグルネーム"を返す前に呼び出されます
1.4.0 WatchArticle Article.php MediaWikiが記事を監視するリクエストを受け取る時はいつでも動作します
1.4.0 WatchArticleComplete Article.php 記事を監視するリクエストが処理された後で動作します
1.6.0 wgQueryPages QueryPage.php (Not Documented in Hooks.txt)

[edit] バージョンで分類したフック

バージョンごとに分類されたフックを見るためには上記のテーブルに移動してバージョンテーブルヘッダで矢印記号をクリックして下さい。

[edit] 関連項目