Jump to content

Accroches

From mediawiki.org
This page is a translated version of the page Manual:Hooks and the translation is 78% complete.
Pour les accroches de la bibliothèque JavaScript de MediaWiki, voir : mw.hook.
MediaWiki extensions

Les accroches permettent au code utilisateur d'être exécuté lorsqu'un événement prédéfini (tel que l'enregistrement d'une page ou la connexion d'un utilisateur) se produit. Par exemple, l'extrait de code suivant déclenche un appel à la fonction MyExtensionHooks::onPageContentSaveComplete chaque fois que l'accroche PageContentSaveComplete s'exécute, en lui transmettant des arguments de fonction spécifiques à PageContentSaveComplete .

Les accroches peuvent être enregistrées en établissant une correspondance entre le nom de l'accroche et la procédure de callback dans le fichier extension.json de l'extension:

"Hooks": {
    "PageContentSaveComplete": "MyExtensionHooks::onPageContentSaveComplete",
    "MyCustomHook": "MyExtensionHooks::myCustomHook"
}

MediaWiki fournit beaucoup d'accroches comme celle-ci pour étendre les fonctionnalités du logiciel MediaWiki. Assigner une fonction (appelée gestionnaire d'accroche) à une accroche fera que cette fonction sera appelée à l'endroit approprié du code principal MediaWiki, pour exécuter toute(s) tâche(s) supplémentaire(s) que le développeur pense être utile(s) à cet endroit. Chaque accroche peut avoir de multiples gestionnaires qui lui sont attachés, auquel cas elle appellera les fonctions dans l'ordre où elles ont été assignées, les modifications laissées par une fonction étant passées à la fonction suivante de la chaîne.

Assignez les fonctions aux accroches à la fin de LocalSettings.php ou dans votre fichier personnel d'extension à la portée du fichier (non pas dans une fonction $wgExtensionFunctions ni dans l'accroche de ParserFirstCallInit ). Pour les extensions, si le comportement de la fonction de l'accroche est conditionné par une valeur de LocalSettings.php, l'accroche devra être assignée et la fonction se terminer plus tôt lorsque la condition n'est pas satisfaite.

Vous pouvez également créer de nouvelles accroches dans votre propre extension. Il est enregistré dans extension.json de la même manière que si vous étiez en train d'enregistrer une accroche MediaWiki intégrée utilisée dans votre extension. Vous pouvez alors exécuter votre accroche dans votre extension en appelant HookContainer::run( 'HookName', [ $param1, $param2 ] );. Enfin, n'oubliez pas de les ajouter à Category:Extension hooks .

Contexte

Une accroche est déclenchée par un appel à HookContainer::run, et souvent par une méthode dans HookRunner. HookContainer trouvera les gestionnaires d'accroches à exécuter, et les appellera avec les paramètres donnés à HookContainer::run. Gestionnaires d'accroches enregistrés via extension.json .

Voir aussi la Hooks.md.

Dans cet exemple de la fonction doPurge de WikiPage.php, doPurge appelle HookRunner::onArticlePurge pour exécuter l'accroche ArticlePurge , en lui passant $this comme argument :

$this->getHookRunner()->onArticlePurge( $this )

Le Noyau appelle beaucoup d'accoches, mais Extensions peut aussi appeler des accroches.

Ecrire un gestionnaire d'accroche

Un gestionnaire d'accroche est une fonction que vous enregistrez et qui sera appelée à chaque fois que l'accroche en question est exécutée.

Pour les extensions, enregistrez vos gestionnaires d'accroche dans le fichier extension.json  :

{
	"Hooks": {
		"EventName": [
			"MyExtensionHooks::onEventName",
			"someFunction"
		]
	}
}

Les gestionnaires d'accroche peuvent également être enregistrés dans le tableau global $wgHooks . Ceci est utilisé en général pour les adaptations spécifiques aux sites dans LocalSettings.php, ou dans les anciennes extensions d'avant extension.json. Tout ce qui suit sont les manières valides pour définir un gestionnaire d'accroche pour l'accroche EventName à qui on passe deux paramètres :

Format Syntaxe Appel de fonction résultant
Fonction statique $wgHooks['EventName'][] = 'MyExtensionHooks::onEventName'; MyExtensionHooks::onEventName( $param1, $param2 );
Fonction sans données $wgHooks['EventName'][] = 'efSomeFunction'; efSomeFunction( $param1, $param2 );
Fonction avec données $wgHooks['EventName'][] = [ 'efSomeFunction', $someData ]; efSomeFunction( $someData, $param1, $param2 );
fonction anonyme en ligne
$wgHooks['EventName'][] = function ( $param1, $param2 ) {
// ...function body
};
Objet seul $wgHooks['EventName'][] = $object; $object->onEventName( $param1, $param2 );
Objet avec méthode $wgHooks['EventName'][] = [ $object, 'someMethod' ]; $object->someMethod( $param1, $param2 );
Objet avec méthode et données $wgHooks['EventName'][] = [ $object, 'someMethod', $someData ]; $object->someMethod( $someData, $param1, $param2 );

Notez que lorsqu'un objet est assigné et que vous n'avez pas indiqué de méthode, la méthode appelée est "onEventName". Par exemple onArticleSave, onUserLogin, etc.

Les données optionnelles sont utiles si vous voulez utiliser la même fonction ou objet pour différents objectifs. Par exemple :

$wgHooks['PageContentSaveComplete'][] = [ 'efIrcNotify', 'TimStarling' ];
$wgHooks['PageContentSaveComplete'][] = [ 'efIrcNotify', 'brion' ];

Ce code résulterait en une double exécution de efIrcNotify() quand une page est enregistrée : une fois pour 'TimStarling', et une fois pour 'brion'.

Valeurs renvoyées par le gestionnaire d'accroches

Les accroches se classent en deux catégories en fonction des valeurs possibles qu'elles renvoient :

Version de MediaWiki :
1.23

Accroches void

Une accroche de type void (c'est à dire vide) ne renvoie rien. Ce doit être le cas général avec du nouveau code (T245364).

  • Documentation : @return void
  • Utilisation: $hookRunner->onExample();

L'interface pour les accroches void doit inclure un type natif pour l'élément renvoyé, tel que : void afin que les extensions qui choisissent d'implémenter l'interface (par opposition à la gestion sans la validation de l'interface) puissent bénéficier de l'analyse statique et ainsi éviter de renvoyer quelque chose par erreur. Cela nous protège de bogues importants difficiles à détecter sinon (T173615). Ces accroches ignorent la valeur renvoyée et isolée ainsi, une valeur de retour est simplement utilisable, inoffensive et sans effet visible. En phase de production, cela ignore les extensions qui écoutent sur la même accroche. Le fait de ne déployer efficacement qu'une partie d'une extension de cette manière, peut avoir des conséquences importantes.

Accroches avortables

Les accroches avortables peuvent renvoyer le booléen false. Lorsqu'une valeur renvoyée, différente de void est fournie à une accroche avortable, elle saute les autres écouteurs présents sur cette accroche (ceux des autres extensions) et renvoie false à l'appelant de l'accroche. C'est la même chose que Event.stopImmediatePropagation() et Event.preventDefault() en Javascript.

Si en tant qu'auteur d'une fonctionnalité vous souhaitez autoriser qu'une extension interdise ou annule l'action de l'utilisateur, il faut fournir une accroche avortable pour cela.

  • Documentation : @return bool|void
  • Utilisation : if ( $hookRunner->onExample() ) { … }

Il est important que les accroches avortables permettent un retour de type void (vide). La majorité des consommateurs de l'accroche ne font pas usage de cette fonctionnalité avortable, et doivent donc pouvoir typer leur implémentation sur @return void évitant ainsi en toute sécurité la nécessité de retourner quelque chose et avec cela bénéficier de n'avoir aucun endroit qui renverrait false par erreur.

Valeurs renvoyées :

  • void (aucune valeur renvoyée, ou null) - le gestionnaire d'accroche s'est bien exécuté. (Avant MediaWiki 1.23, il était nécessaire de renvoyer la valeur true.)
  • false - le gestionnaire de l'accroche a fait tout le travail nécessaire, ou s'est substitué au traitement normal. Cela empêche les autres gestionnaires d'être exécutés, et dans certains cas cela permet à la fonction appelante de sauter le traitement normal.
Habituellement quand les extensions vous permettent d'annuler une action, l'accroche fournit également un objet Status dans lequel peut figurer une erreur traduite.
Version de MediaWiki :
1.40

Avant MediaWiki 1.41, les accroches avortables pouvaient renvoyer un message d'erreur sous forme de chaîne. C'était un raccourci pour produire la réponse « Internal Server Error (HTTP 500) » en renvoyant la chaîne affichée dans une erreur fatale. Ceci est obsolète dans MW 1.35 (Gerrit change 571297), et a été supprimé dans MW 1.41 (Gerrit change 571297).

Gestion des accroches dans MediaWiki 1.35+

Version de MediaWiki :
1.35

MediaWiki 1.35 introduces the HookHandlers extension attribute. Cela inclut des interfaces par crochet pour une validation statique améliorée et la découverte de la documentation des paramètres. Cela permet également l'injection de dépendances en introduisant une instance de classe intermédiaire qui accepte un certain nombre de services spécifiés (au lieu de rappels statiques qui accèdent explicitement aux services à partir de l'état global).

L'approche de MediaWiki 1.34 et des versions antérieures, consistant à enregistrer les gestionnaires de crochets directement en tant que méthodes statiques, reste prise en charge et n'est pas obsolète. Les auteurs d'extensions peuvent s'inscrire au nouveau système et sont même invités à le faire. Pour en savoir plus, voir les spécifications des accroches et l'annonce sur wikitech-l.

Modifications des noms d'accroches

Avant MediaWiki 1.35, les accroches comprenaient quelque fois des caractères qui ne pouvaient pas être utilisés dans une classe ni dans un nom de méthode, comme des virgules ou des tirets. Avec l'introduction des interfaces par accroche, le nom canonique de ces accroches a été changé pour utiliser les caractères souligné '_' à la place. Par exemple l'interface pour ApiFeedContributions::feedItem est ApiFeedContributions__feedItemHook. Les gestionnaires d'accroches enregistrés avec les anciens noms restent pris en charge.

Enregistrer les accroches avec HookHandlers

Pour adopter le nouveau système, modifier la classe de vos accroches pour qu'elles aient des méthodes régulières au lieu de méthodes statiques et pour qu'elles soient constructibles. Cette classe est ensuite enregistrée une fois, via l'attribut HookHandlers dans extension.json , en utilisant l'option class comme partie de la description ObjectFactory où vous pouvez utiliser l'options services.

Par exemple pour enregistrer l'accroche BeforePageDisplay :

{
    "HookHandlers": {
        "main": {
            "class": "MediaWiki\\Extension\\Example\\Hooks",
            "services": [ "UserNameUtils" ]
        }
    },
    "Hooks": {
        "BeforePageDisplay": "main"
    }
}


Gérer les accroches utilisant les interfaces

Pour utiliser les interfaces d'accroches, les extensions doivent définir une classe Hooks dans leur espace de noms et implémenter une ou plusieurs de ces interfaces. Les interfaces des accroches ont le nom de l'accroche suivi du mot « Hook ».

namespace MediaWiki\Extension\MyExtension;

use MediaWiki\Hook\BeforePageDisplayHook;
use OutputPage;
use Skin;

class Hooks implements BeforePageDisplayHook {
    public function onBeforePageDisplay( $out, $skin ): void { ... }
}

Convertir une extension dans le nouveau système d'accroches

Suivre ces étapes pour chaque méthode de gestion d'accroche :

  • identifier l'interface de gestion des accroches et déclarer que la classe Hooks implémente cet interface.
  • mettre à jour le nom de la méthode et la signature pour qu'elles soient les mêmes que celles de l'interface.
  • modifier la section Hooks de extension.json pour se référer au gestionnaire que vous avez spécifié dans la section HookHandlers.

Le processus a été montré au Wikimedia Hackathon 2021  :

Documentation

Actuellement, les accroches du noyau de MediaWiki doivent être documentées à la fois dans l'interface des accroches (dépôt du code source) et ici sur MediaWiki.org. Dans certaines situations, un de ces étapes peut ne pas encore être finalisée, aussi si une accroche paraît non documentée, vérifiez aux deux endroits.

Chaque accroche fournie par le noyau de MediaWiki est définie par un interface d'accroche. Les interfaces d'accroches sont typiquement situés dans un sous-espace de noms « Hook » de l'espace de noms de l'appelant. Par exemple, Storage/Hook/PageContentSaveHook.php. Vous pouvez trouver une liste d'interfaces d'accroches dans la documentation PHP générée de MediaWiki.

Pour documenter une accroche du wiki, utiliser {{MediaWikiHook }}.

Depuis juin 2020, docs/hooks.txt est obsolète en tant que source de documentation pour les accroches individuelles. Pour plus d'informations sur l'introduction des accroches basées sur HookContainer, voir la spécification des accroches dans le noyau MediaWiki.

Modèle de documentation de l'interface des accroches

Dans les interfaces d'accroches, la documentation décrit le statut, la fonction, les paramètres et le comportement de l'accroche.

/**
 * @stable for implementation
 * @ingroup Hooks
 */
interface MyExampleHook {
	/**
	 * This hook is called after/when...
	 * Use this hook to...
	 *
	 * @since x.xx
	 * @param string $name Description
	 * @return void This hook must not abort, it must return no value
	 */
	public function onMyExample( $name ): void;
}
/**
 * @stable for implementation
 * @ingroup Hooks
 */
interface AbortableExampleHook {
	/**
	 * This hook is called before...
	 * Use this hook to...
	 *
	 * @since x.xx
	 * @param string $name Description
	 * @@return bool|void True or no return value to continue or false to abort
	 */
	public function onAbortableExample( $name );
}


Accroches disponibles

Accroches groupées par fonction

Certaines de ces accroches peuvent être groupées en plusieurs fonctions.

Sections : Gestion des articles - Modification de page - Génération de page - Interface utilisateur - Gestion des fichiers - Pages spéciales - Gestion des utilisateurs - Journalisation - Modèles d'habillages - API - Import/Export - Différences - Divers
Avertissement Avertissement : De nouvelles accroches sont ajoutées à MediaWiki régulièrement, donc il est possible que cette liste ne soit pas toujours actuelle. Comme avec la plupart de la documentation de ce site, si vous avez besoin absolument de la dernière information complète, il est préférable de consulter la liste des interfaces d'accroche générée. Comme d'habitude, nous vous encourageons à mettre à jour cette liste pour corriger les erreurs éventuellles ou les omissions.
Fonction Version Accroche Description
Gestion des articles 1.23.0 Article::MissingArticleConditions appelé à l'affichage d'une page
1.21 ArticleAfterFetchContentObject (obsolète depuis v. 1.32) Après avoir récupéré le contenu d'un article de la base de données.
1.16 ArticleConfirmDelete Se produit avant d'écrire le formulaire de confirmation de la suppression d'un article.
1.21 ArticleContentViewCustom (supprimé en 1.35) permet de sortir le texte de l'article dans un format différent du wikicode
1.25 ArticleDeleteAfterSuccess Sortie après la suppression d'un article
1.4.0 ArticleDeleteComplete (obsolète depuis v. 1.37) se produit après que la demande de suppression d'article a été traitée
1.4.0 ArticleDelete (obsolète depuis v. 1.37) Se produit à chaque fois que le logiciel reçoit une requête de suppression d'un article
1.5.7 ArticleEditUpdateNewTalk permet aux extensions d'empêcher l'envoi d'une notification utilisateur lorsqu'un nouveau message est ajouté sur sa page de discussion
1.6.0 ArticleEditUpdatesDeleteFromRecentchanges Se produit avant l'enregistrement dans la base de données. Si vous renvoyez false les anciennes entrées ne sont pas supprimées de la liste des modifications récentes.
1.14.0 ArticleEditUpdates (obsolète depuis v. 1.35) Appelé lorsque les mises à jour d'édition (principalement le suivi des liens) sont effectuées lorsqu'un article a été modifié.
1.8.0 ArticleFromTitle Appelé pour déterminer la classe qui va gérer le rendu de l'article en fonction de son titre
1.12.0 ArticleMergeComplete après avoir fusionné vers un article en utilisant Special:Mergehistory
1.36 ArticleParserOptions Cette accroche est appelée avant l'analyse syntaxique du wikicode pour un article,
1.18 ArticlePrepareTextForEdit Appelé lors de la préparation d'un texte à enregistrer.
1.4.0 ArticleProtectComplete Se produit après que la demande de protection d'un article ait été traitée
1.4.0 ArticleProtect se produit à chaque fois que le logiciel reçoit une requête pour protéger un article
1.6.0 ArticlePurge Permet à une extension d'annuler une purge.
1.12.0 ArticleRevisionUndeleted (obsolète depuis v. 1.35) Se produit après qu'une révision d'article ait été restaurée
1.32 ArticleRevisionViewCustom permet de générer le texte d'une révision d'article dans un format différent du wikicode
1.13.0 ArticleRevisionVisibilitySet appelé lors du changement de visibilté d'une ou plusieurs révisions d'un article
1.12.0 ArticleRollbackComplete (obsolète depuis v. 1.35) se produit après que la restitution d'un article soit terminée
1.21 ArticleUndeleteLogEntry Se produit quand une entrée du journal a été générée mais n'est pas encore enregistrée
1.9.1 ArticleUndelete Lorsqu'une ou plusieurs révisions d'un article sont restaurées
1.11.0 ArticleUpdateBeforeRedirect se produit après qu'une page ait été mise à jour (habituellement lors de la sauvegarde), avant que l'utilisateur ne soit redirigé sur cette page
1.18 ArticleViewFooter Après avoir affiché la section du pied de page d'une vue de page ordinaire.
1.17 CanonicalNamespaces Pour les extensions ajoutant leurs propres espaces de noms ou modifiant les valeurs par défaut.
1.25 ChangeTagAfterDelete Appelé après qu'une balise de modification a été supprimée (c'est-à-dire supprimée de toutes les révisions et des entrées du journal auxquelles elle a été appliquée).
1.25 ChangeTagCanCreate Indiquez si une balise de modification doit pouvoir être créée par les utilisateurs.
1.25 ChangeTagCanDelete Indique si une balise de modification peut être supprimée par les utilisateurs.
1.28 ChangeTagsAfterUpdateTags Peut être utilisé par les extensions pour effectuer des actions après l'ajout ou la mise à jour des balises de modification.
1.30 ChangeTagsAllowedAdd Appelé pour vérifier si un utilisateur peut ajouter tags à une modification.
1.25 ChangeTagsListActive Peut être utilisé par les extensions pour enregistrer les balises de modification actives.
1.21.0 ContentHandlerDefaultModelFor appelé lorsqu'il faut décider du modèle de contenu par défaut d'un titre donné.
1.21.0 ContentHandlerForModelID appelé lorsqu'un ContentHandler est nécessaire à un nom de modèle de contenu donné, mais qu'il n'existe pas d'entrée pour ce modèle dans $wgContentHandlers .
1.23 ContentModelCanBeUsedOn args = $modelId, Title $title, &$ok
1.21.0 ConvertContent appelé lors d'une demande de conversion vers un autre modèle de contenu.
1.29 GetContentModels Permet d'ajouter des gestionnaires de contenu personnalisé à la liste des modèles de contenu enregistrés dans le système.
1.39 JsonValidateSave Use this hook to add additional validations for JSON content pages.
1.19 LanguageGetNamespaces Permet d'ordonner les espaces de noms d'une manière personnalisée on d'en supprimer.
1.25.0 MovePageIsValidMove Indique si une page peut être déplacée pour des raisons techniques.
1.35.0 MultiContentSave Se produit lorsque le logiciel reçoit une requête d'enregistrement d'article
1.25 MovePageCheckPermissions Indique si l'utilisateur a le droit de renommer la page.
1.20 NamespaceIsMovable Appelé lorsqu'on détermine s'il est possible de renommer des pages, dans un espace de noms particulier. Ces contrôles se font à la fois vers et à partir de l'espace de noms fourni.
1.13 NewRevisionFromEditComplete (obsolète depuis v. 1.35) Appelé quand une révision est insérée suite à une modification.
1.21 PageContentInsertComplete (obsolète depuis v. 1.35) Se produit après qu'un nouvel article est créé
1.18 PageContentLanguage Permet de modifier la langue du contenu de la page et en conséquence toutes les fonctionnalités qui en dépendent (le sens d'écriture, LanguageConverter, ...).
1.21.0 PageContentSaveComplete (obsolète depuis v. 1.35) se produit après que la demande d'enregistrement d'article ait été traitée
1.21.0 PageContentSave (obsolète depuis v. 1.35) (utiliser MultiContentSave) Se produit lorsque le logiciel reçoit une requête d'enregistrement d'article
1.37.0 PageDelete Se produit chaque fois que le logiciel reçoit une demande de suppression d'une page.
1.37.0 PageDeleteComplete Se produit après le traitement de la demande de suppression de page.
1.32 PageDeletionDataUpdates Appelé lors de la construction d'une liste de DeferrableUpdate à exécuter lorsqu'une page est supprimée.
1.35 PageMoveComplete Après qu'un article a été renommé, après la validation
1.35 PageMoveCompleting Après qu'un article a été renommé, avant la validation
1.35 PageSaveComplete Après qu'un article ait été mis à jour.
1.37 PageUndelete Exécuter avant la restitution de page.
1.40 PageUndeleteComplete Exécuter après la restitution de page.
1.25 PageViewUpdates Appelé après que l'affichage d'une page ait été consulté, par MediaWiki. Remarquez que cela ne capture pas les vues effectuées par les caches externes tels que Squid .
1.16 ProtectionForm::buildForm (obsolète depuis v. 1.36) Appelé après que tous les types de protection de champs aient été appliqués dans le formulaire.
1.16 ProtectionForm::save Appelé lorsqu'un formulaire de protection est sousmis.
1.16 ProtectionForm::showLogExtract Appelé après qu'un extrait du journal des protections ait été affiché.
1.36 ProtectionFormAddFormFields Cette accroche est appelée après que tous les types de protection des champs du formulaire ont été ajoutés.
1.8.0 RecentChange_save Appelé après qu'une « Modification récente » ait été validée dans la base de données.
1.32 RevisionDataUpdates Appelé lors de la construction d'une liste de DeferrableUpdate à exécuter pour enregistrer des données secondaires concernant une révision.
1.35 RevisionFromEditComplete Appelé quand une révision a été insérée suite à une modification, au téléversement d'un fichier, à un import ou un renommage de page.
1.11.0 RevisionInsertComplete (obsolète depuis v. 1.31) (use RevisionRecordInserted) Appelé après qu'une révision ait été insérée dans la base de données
1.31 RevisionRecordInserted Appelé après qu'une révision ait été insérée dans la base de données.
1.35 RevisionUndeleted Appelé après qu'une révision d'article ait été restaurée
1.35 RollbackComplete (obsolète depuis v. 1.36) Se produit après que la restitution d'un article soit terminée
1.15 ListDefinedTags Peut être utilisé par les extensions pour enregistrer les balises de modification.
1.6.0 SpecialMovepageAfterMove appelé après qu'une page a été renommée.
1.14 TitleArrayFromResult Appelé lors de la création d'un objet TitleArray à partir d'un résultat de la base de données.
1.24 TitleExists Appelé pour déterminer si une page existe avec un titre donné.
1.22 TitleGetEditNotices Appelé lors de la récupération des notes de modification d'une page donnée.
1.16 TitleGetRestrictionTypes Permet de modifier les types de protections pouvant être appliquées.
1.20.0 TitleIsAlwaysKnown permet de réécraser le comportement par défaut pour déterminer qu'une page existe.
1.19 TitleIsMovable Appelé pour déterminer s'il est possible de renommer une page.
1.4.0 TitleMoveComplete (obsolète depuis v. 1.35) se produit lorsqu'une demande de renommage de page s'est terminée
1.27 TitleMoveCompleting (obsolète depuis v. 1.35) Se produit chaque fois qu'une demande de renommage d'un article est émise, avant que la transaction ne valide la base de données.
1.27 TitleMoveStarting Avant de renommer un article (titre), mais juste après que la section atomique de la base de données ait commencé.
1.22.0 TitleMove se produit avant qu'un renommage de page ne soit réalisé
1.22 TitleQuickPermissions Appelé à partir de Title::checkQuickPermissions pour permettre de sauter la vérification rapide des autorisations sur le titre (par exemple, l'autorisation de supprimer).
1.19 TitleReadWhitelist appelé à la fin des contrôles d'accès en lecture, juste avant d'ajouter le message d'erreur par défaut, si rien ne permet à l'utilisateur de lire la page.
1.18 UndeleteForm::undelete (supprimé en 1.38) Appelé dans UndeleteForm::undelete, après avoir vérifié que le site n'est pas en mode lecture seulement, que l'objet Title n'est plus null et après qu'un objet PageArchive a été construit mais avant d'effectuer tout traitement supplémentaire.
1.21 WikiPageDeletionUpdates (supprimé en 1.36) Utiliser la liste des DeferrableUpdate à appliquer quand une page est supprimée. Appelé dans WikiPage::getDeletionUpdates(). Notez que les mises à jour spécifiques à un modèle de contenu doivent être fournies par la méthode respective getDeletionUpdates() de Content.
1.28 WikiPageFactory Redéfinit la classe WikiPage utilisée pour un titre
Modification de page 1.21.0 AlternateEditPreview Permet de rétablir l'aperçu des modifications
1.6.0 AlternateEdit utilisé pour remplacer la page entière de modification, tous les éléments.
1.9.1 CustomEditor lorsque l'éditeur de page est appelé. Renvoie true pour permettre d'utiliser l'éditeur standard, ou false si on implémente un éditeur personnalisé par exemple pour un espace de noms particulier, etc.
1.21.0 EditFilterMergedContent filtre des modifications des fusions ultérieures de sections
1.6.0 EditFilter réalise des contrôles sur une modification
1.16 EditFormInitialText Permet de changer le formulaire d'édition quand vous modifiez des pages existantes
1.7.0 EditFormPreloadText Appelé lorsque la page de modification pour un nouvel article est affichée. Cela vous permet de préinitialiser la boîte textuelle d'une nouvelle page avec un wikicode initial.
1.25 EditPage::attemptSave:after Appelé après une tentative de sauvegarde d'article
1.8.3 EditPage::attemptSave Appelé avant qu'un article ne soit enregistré, c'est à dire avant que insertNewArticle() ne soit appelé
1.16 EditPage::importFormData Appelé lors de la lecture des données du formulaire d'édition, après le POST
1.6.0 EditPage::showEditForm:fields Permet l'injection d'un champ formulaire dans le formulaire de modification.
1.6.0 EditPage::showEditForm:initial Permet l'injection de code HTML dans le formulaire de modification
1.24 EditPage::showReadOnlyForm:initial Appelé juste avant que le formulaire en lecture seule ne soit généré
1.21.0 EditPage::showStandardInputs:options Permet l'ajout de champs de formulaire dans la zone editOptions
1.13.0 EditPageBeforeConflictDiff Permet de modifier l'objet EditPage et la sortie lorsqu'il y a un conflit d'édition.
1.12.0 EditPageBeforeEditButtons Permet de modifier les boutons d'édition du formulaire de modification
1.16 EditPageBeforeEditToolbar Permet de modifier la barre des outils d'édition au-dessus de la zone de texte
1.16 EditPageCopyrightWarning Permet d'adapter la notice du site ainsi que les contributions / droits d'auteur en fonction de l'espace de noms.
1.29 EditPageGetCheckboxesDefinition Permet de modifier les cases à cocher d'édition dans le formulaire d'édition
1.21 EditPageGetDiffContent Permet de modifier le wikiclde qui sera utilisé dans Voir les modifications. Notez qu'il est préférable d'implémenter la gestion du diff pour différents types de données en utilisant la facilité ContentHandler .
1.21 EditPageGetPreviewContent Permet de modifier le wikicode affiché dans l'aperçu. Notez qu'il est préférable d'implémenter les aperçus pour différents types de données en utilisant la facilité ContentHandler .
1.16 EditPageNoSuchSection Lorsqu'une demande de modification de section est passée pour une section qui n'existe pas.
1.16 EditPageTosSummary Permet en plus de la note de droits d'auteur, d'avoir un lien séparé pour le site et l'adaptation par espace de noms, du résumé des règles d'utilisation du service.
1.20 FormatAutocomments Quand un commentaire automatique est formaté par le Linker.
1.19 PlaceNewSection Réécrase l'emplacement des nouvelles sections.
1.35 ParserPreSaveTransformComplete Appelé à partir de Parser::preSaveTransform() après que le traitement soit terminé, ce qui donne à l'extension la possibilité de modifier ultérieurement le wikicode.
Génération de page 1.27.0 AfterBuildFeedLinks exécuté après que tous les liens de flux ne soient créés.
1.24 AfterParserFetchFileAndTitle Modifier le code HTML d'une galerie d'images. Il est appelé après qu'une galerie d'images soit formée par Parser , juste avant d'ajouter son HTML à la sortie de l'analyseur syntaxique.
1.21 ArticleContentViewCustom (supprimé en 1.35) permet de générer le texte de l'article dans un format différent du wikicode
1.6.0 ArticlePageDataAfter s'exécute après avoir chargé les données d'un article de la base de données.
1.6.0 ArticlePageDataBefore s'exécute avant que les données de l'article demandé ne soient chargées.
1.36 ArticleParserOptions Cette accroche est appelée avant l'analyse syntaxique du wikicode pour un article,
1.32 ArticleRevisionViewCustom permet de générer le texte d'une révision d'article dans un format différent du wikicode
1.18 ArticleViewFooter Après avoir affiché la section du pied de page dans la vue d'une page ordinaire.
1.6.0 ArticleViewHeader Appelé après qu'un entête d'article soit affiché.
1.5.1 ArticleViewRedirect Permet à une extension d'empêcher l'affichage d'un lien « Redirigé à partir de » sur une page de redirection.
1.7 BadImage Utilisé pour déterminer si une image figure dans la liste des mauvaises images. Renvoie false quand $bad est initialisé.
1.19 BeforeDisplayNoArticleText Avant d'afficher les messages noarticletext ou noarticletext-nopermission.
1.24 BeforeHttpsRedirect (obsolète depuis v. 1.35) Appelé avant de forcer la redirection HTTP→HTTPS. Utilisez cette accroche pour redéfinir la sortie de la redirection.
1.19 BeforePageRedirect Appelé avant d'envoyer une redirection HTTP
1.18.0 BeforeParserFetchFileAndTitle permet à une extension de sélectionner une version différente de l'image pointée par le lien
1.10.1 BeforeParserFetchTemplateAndtitle (obsolète depuis v. 1.36) permet à une extension de spécifier la version d'une page à récupérer pour pouvoir l'inclure dans un modèle.
1.36 BeforeParserFetchTemplateRevisionRecord Cette accroche est appelée avant qu'un modèle ne soit récupéré par Parser.
1.10.1 BeforeParserrenderImageGallery (obsolète depuis v. 1.35) permet à une extension de modifier une gallerie d'images avant de la générer.
1.22 CanIPUseHTTPS (obsolète depuis v. 1.35) Appelé pour vérifier qu'une adresse IP donnée peut utiliser HTTPS
1.4.3 CategoryPageView Appelé avant l'affichage d'une page de catégorie dans CategoryPage::view
1.25 CategoryViewer::doCategoryQuery Se produit après avoir demandé les pages à afficher dans une page de catégorie
1.25 CategoryViewer::generateLink Avant de générer un lien de sortie, donne aux extensions la possibilité de générer un lien plus spécifique ou plus adapté.
1.25 ContentAlterParserOutput Personnalise la sortie de l'analyseur pour un objet de contenu donné, appelé par AbstractContent::getParserOutput.
1.24.0 ContentGetParserOutput Personnalise la sortie de l'analyseur pour un objet de contenu donné, appelé par AbstractContent::getParserOutput. Peut être utilisé pour redéfinir le rendu normal spécifique au modèle du contenu d'une page.
1.22.0 GalleryGetModes permet aux extensions d'ajouter des classes qui peunvent générer différents modes d'une gallerie.
1.12 GetLinkColours modifie la classe CSS d'un tableau de liens de pages
1.28 HtmlPageLinkRendererBegin args = LinkRenderer $linkRenderer, LinkTarget $target, &$text, &$extraAttribs, &$query, &$ret
1.28 HtmlPageLinkRendererEnd args = LinkRenderer $linkRenderer, LinkTarget $target, $isKnown, &$text, &$attribs, &$ret
1.13 ImageBeforeProduceHTML Appelé avant de générer le HTML créé par l'insertion d'une image de wiki
1.11 ImageOpenShowImageInlineBefore Lancé juste avant l'affichage d'une image sur une page d'image.
1.16 ImagePageAfterImageLinks Appelé après que la section des liens d'image d'une page d'images, ne soit construite.
1.13 ImagePageFileHistoryLine Appelé lorsque la ligne d'historique du fichier est construite.
1.13 ImagePageFindFile Appelé lors de la récupération du fichier associé à une page d'image.
1.16 ImagePageShowTOC Appelé lors de la récupération du fichier associé à une page d'image.
1.10.0 InternalParseBeforeLinks utilisé pour traiter le code wiki expansé après que ‎<nowiki>, que les commentaires HTML, ainsi que les modèles ont été traités. Convient aux extensions de syntaxe qui veulent personnaliser le traitement de la syntaxe des liens internes, c'est à dire [[....]].
1.20 InternalParseBeforeSanitize (obsolète depuis v. 1.35) Cette accroche est appelée dans la méthode internalParse de Parser, juste avant que l'analyseur ne supprime les balises non souhaitées ou dangereuses, et après nowiki/noinclude/includeonly/onlyinclude et les autres traitements.
1.13.0 LinkerMakeExternalImage Appelé avant que le HTML d'une image externe ne soit renvoyé. Utilisé pour modifier le HTML des images externes.
1.13.0 LinkerMakeExternalLink Appelé avant que le HTML pour des liens externes ne soit renvoyés. Utilisé pour modifier le HTML du lien externe.
1.23.0 LinkerMakeMediaLinkFile Appelé avant que le HTML pour des liens des médias ne soit renvoyé. Utilisé pour modifier le HTML des liens de médias.
1.6.0 OutputPageBeforeHTML Appelé à chaque fois que du code wiki est ajouté à OutputPage, après qu'il soit passé par l'analyse syntaxique mais avant qu'il soit ajouté. Appelé après la page ait été générée, mais avant que le HTML ne soit affiché.
1.8.0 OutputPageParserOutput appelé après l'analyse syntaxique, avant que le HTML ne soit ajouté à la sortie.
1.6.0 PageRenderingHash modifie la clé de hachage de l'option du cache de l'analyseur syntaxique
1.20 ParserAfterParse Appelé de Parser::parse() juste après le retour de l'appel à Parser::internalParse().
1.5.0 ParserAfterStrip (supprimé en 1.36) Avant la version 1.14.0, utilisé pour traiter les lignes de code wiki après que le texte entouré par les balises ‎<nowiki> ait été protégé et qu'avant que tout autre texte ne soit traité. Dans la version 1.14.0 et ultérieure, fonctionne immédiatement après ParserBeforeStrip.
1.5.0 ParserAfterTidy utilisé pour ajouter un ultime traitement à la sortie générée de la page complète
1.26 ParserAfterUnstrip Appelé après le premier unstripGeneral() dans Parser::internalParseHalfParsed()
1.6.0 ParserBeforeInternalParse Remplace par un traitement personnalisé, le traitement standard du texte wiki nettoyé. Utilisé initialemrnt pour prendre en charge les alternatives (plutôt que des additions) à la syntaxe markup du noyau MediaWiki.
1.35 ParserBeforePreprocess Appelé au début de Parser::preprocess()
1.5.0 ParserBeforeStrip (supprimé en 1.36) Utilisé pour traiter les lignes de code wiki avant de leur appliquer tout traitement interne.
1.5.0 ParserBeforeTidy (supprimé en 1.36) utilisé pour traiter le code HTML de la page presque généré (mais avant toute opération de nettoyage)
1.26 ParserCacheSaveComplete Modifier ParserOutput en sécurité après l'avoir enregistré dans le cache.
1.6.0 ParserClearState Appelé à la fin de Parser::clearState()
1.21.0 ParserCloned Appelé quand l'objet Parser est cloné.
1.28 ParserFetchTemplate (obsolète depuis v. 1.35) Appelé lorsque l'analyseur recherche un modèle
1.6.0 ParserGetVariableValueSwitch assigne une valeur à une variable définie par l'utilisateur.
1.6.0 ParserGetVariableValueTs Utiliser ceci pour modifier la valeur de l'heure pour le mot magique {{LOCAL...}}.
1.6.0 ParserGetVariableValueVarCache (obsolète depuis v. 1.35) Utilsez ceci pour modifier la valeur de cache de la variable , ou retournez false pour ne pas l'utiliser.
1.35 ParserFetchTemplateData Retrouve les données du modèle dans une série de titres de modèles
1.22 ParserLimitReportFormat Appelé sur chaque rangée du rapport de limite de l'analyseur qui a besoin d'être formatée.
1.22 ParserLimitReportPrepare Appelé à la fin de Parser:parse() lorsque l'analyseur va ajouter les commentaires sur la taille du texte analysé.
1.39 ParserLogLinterData Rapporte les lint de Parsoid à l'extension Linter
1.12 ParserMakeImageParams Modifie les paramètres utilisés pour générer une image avant qu'elle ne soit générée
1.38 ParserModifyImageHTML This hook is called for each image added to parser output, with its associated HTML as returned from Linker::makeImageLink().
1.30 ParserOptionsRegister Permet d'enregistrer les options supplémentaires de l'analyseur
1.31 ParserOutputPostCacheTransform Appelé de ParserOutput::getText() pour réaliser les transformations aprés le cache.
1.27 ParserOutputStashForEdit Appelé à la fin de l'analyse de la zone de réserve des modifications, avant que la sortie ne soit mise en cache.
1.35 ParserPreSaveTransformComplete Appelé de Parser::preSaveTransform() après que le traitement soit terminé, ce qui donne à l'extension une chance de modifier ultérieurement le wikicode.
1.19 ParserSectionCreate (obsolète depuis v. 1.35) Appelé à chaque fois que l'analyseur syntaxique crée une section du document à partir du wikicode.
1.26 RejectParserCacheValue Renvoie false pour rejeter une valeur du cache Parser qui serait utilisable autrement.
1.26 ResourceLoaderForeignApiModules Appelé de ResourceLoaderForeignApiModule. Utilisez ceci pour ajouter des dépendances au module mediawiki.ForeignApi lorsque vous souhaitez redéfinir son comportement. Voir la documentation des modules pour plus d'informations.
1.17 ResourceLoaderGetConfigVars Appelé juste avant que ResourceLoaderStartUpModule::getConfig ne revienne à l'appelant, pour mettre à jour les variables de configuration statiques (indépendantes de la requête). Ne peut pas dépendre de la page, de l'utilisateur, ni de la requête actuelle; voir ci-dessous.
1.18 ResourceLoaderGetStartupModules Exécute une fois que le module de démarrage ait été généré.
1.38 ResourceLoaderExcludeUserOptions Exclude a user option from the preloaded data for client-side mw.user.options.
1.29 ResourceLoaderJqueryMsgModuleMagicWords Appelé dans ResourceLoaderJqueryMsgModule pour permettre d'ajouter des mots magiques pour jQueryMsg. La clé est un mot magique en majuscules, et la valeur est une chaîne; les valeurs dépendent uniquement de la ResourceLoaderContext
1.43 ResourceLoaderModifyStartupSourceUrls Appelé dans StartUpModule pour permettre de modifier l'URL des sources.
1.17.0 ResourceLoaderRegisterModules permet d'enregistrer les modules avec ResourceLoader
1.35 ResourceLoaderSiteModulePages Permet de modifier la liste des pages wiki qui comprennent le module `site` pour l'habillage donné.
1.35 ResourceLoaderSiteStylesModulePages Permet de modifier la liste des pages wiki qui comprennent le module 'site.styles' pour l'habillage donné.
1.19 ResourceLoaderTestModules (obsolète depuis v. 1.33) Ajoute de nouvelles suites de tests JavaScript. Ceci est appelé après l'ajout de suites de tests du noyau MediaWiki.
1.24.0 SidebarBeforeOutput Directement avant que la barre latérale ne soit affichée
1.16 ShowMissingArticle Appelé lors de la génération de la sortie pour une page non existante.
Interface utilisateur 1.18 ActionBeforeFormDisplay Avant d'exécuter l'objet HTMLForm
1.18 ActionModifyFormFields Avant de créer un objet HTMLForm pour une action de page; permet de modifier les champs du formulaire à générer.
1.20 AfterFinalPageOutput Près de la fin de OutputPage::output().
1.9.1 AjaxAddScript Appelé dans la page de sortie juste avant l'initialisation
1.5.7 ArticleEditUpdateNewTalk avant de mettre à jour user_newtalk lorsqu'une page utilisateur a été changée.
1.6.0 ArticlePurge s'exécute avant de lancer &action=purge
1.32 ArticleShowPatrolFooter Peut être utilisé pour masquer le lien [marquer comme patrouillé] dans certaines circonstances
1.18.0 BeforeWelcomeCreation permet à une extension de modifier le message affiché après une connexion réussie
1.32 ContentSecurityPolicyDefaultSource Modifier les sources de téléversement CSP autorisées. Ceci impacte toutes les directives sauf celle du script.
1.32 ContentSecurityPolicyDirectives Modifie les directives des règles de sécurité du contenu.
1.32 ContentSecurityPolicyScriptSource Modifie les sources de script CSP autorisées.
1.4.0 EmailUserComplete Se produit après qu'un courriel a été envoyé d'un utilisateur à un autre
1.4.0 EmailUser se produit à chaque fois que le logiciel reçoit une requête pour envoyer un courriel d'un utilisateur à un autre
1.41 EmailUserAuthorizeSend Called when checking whether a user is allowed to send emails
1.41 EmailUserSendEmail Called before sending an email, when all other checks have succeeded.
1.21 GetHumanTimestamp Redéfinit de manière préemptive l'horodatage lisible par un humain et généré par MWTimestamp::getHumanTimestamp(). Renvoie false dans cette accroche pour utiliser la sortie personnalisée.
1.31 GetLangPreferredVariant Permet de récupérer de code de la variante de langue à partir des cookies ou d'autres endroits de stockage similaires.
1.22 GetNewMessagesAlert Désactive ou modifie l'alerte de nouveaux messages avant qu'elle ne soit affichée
1.16 GetPreferences Modifiez les préférences utilisateur.
1.22 GetRelativeTimestamp Redéfinit de manière préemptive l'horodatage relatif généré par MWTimestamp::getRelativeTimestamp(). Renvoyer false dans cette accroche pour utiliser la sortie personnalisée.
1.32 HistoryPageToolLinks Permet d'ajouter des liens au sous-titre de la page d'historique des révisions.
1.21 HistoryRevisionTools (obsolète depuis v. 1.35) Redéfinit ou étend les outils de relecture disponibles dans la vue de l'historique de page, tels que l'annulation (undo), la restauration (rollback), etc.
1.35 HistoryTools Utiliser cette accroche pour redéfinir ou étendre les outils de relecture disponibles dans la vue de l'historique de page, tels que l'annulation (undo), la restauration (rollback), etc.
1.24 LanguageSelector Accroche pour modifier le sélecteur de langue disponible sur une page.
1.6.0 MarkPatrolledComplete Appelé après que la modification a été relue
1.6.0 MarkPatrolled Appelé avant qu'une modification ait été marquée relue
1.14 MakeGlobalVariablesScript Juste avant que OutputPage->getJSVars ne renvoie les variables.
1.32 OutputPageAfterGetHeadLinksArray Permet aux extensions de modifier les métadonnées HTML dans l'élément ‎<head>
1.17 OutputPageBodyAttributes Appelé quand OutputPage::headElement() crée la balise body.
1.14 OutputPageCheckLastModified lors du contrôle que la page a été modifiée depuis la dernière visite
1.13 OutputPageMakeCategoryLinks Appelé au moment de générer les liens pour les catégories de la page.
1.10 PageHistoryBeforeList lors de la construction de la liste de l'historique de la page.
1.10 PageHistoryLineEnding Juste avant la fin, ‎<li> est ajouté sur une ligne de l'historique.
1.26 PageHistoryPager::doBatchLookups Permet de réaliser des recherches par lot, pour récupérer à l'avance des informations utiles à l'affichage
1.13 PageHistoryPager::getQueryInfo Lors de la construction de l'ensemble des paramètres de la requête de l'historique de la page.
1.10 RawPageViewBeforeOutput Appelé avant d'afficher une page avec action=raw. Renvoie true si l'affichage est autorisé, ou false s'il ne l'est pas.
1.16 ShowSearchHitTitle Personnalise l'affichage du titre ou du lien du résultat de la recherche.
1.21 ShowSearchHit Personnaliser l'affichage des résultats de la recherche.
1.7 SiteNoticeAfter Utilisé pour modifier la notice du site après qu'elle ait été créée à partir de $wgSiteNotice ou des messages d'interface.
1.7 SiteNoticeBefore Utilisé pour modifier la notice du site avant qu'elle ne soit créée par $wgSiteNotice. Renvoie false pour supprimer ou modifier l'avis de site par défaut.
1.6.0 SpecialMovepageAfterMove appelé après qu'une page ait été renommée.
1.19.0 SpecialSearchCreateLink appelé à la construction du message de création de page ou pour aller à une page existante
1.6.0 SpecialSearchNogomatch Appelé lorsque la fonctionnalité 'Go' est activée et que la cible n'existe pas. Les résultats de recherche dans le texte complet sont générés après que cette accroche soit appelée
1.19.0 SpecialSearchPowerBox équivalent de SpecialSearchProfileForm pour le formulaire avancé
1.34 UndeletePageToolLinks Ajoute un ou plusieurs liens au sous-titre de la page de modification quand une page a été supprimée précédemment.
1.4.0 UnwatchArticleComplete Se produit après que la demande d'arrêt de suivi d'article ait été traitée
1.4.0 UnwatchArticle Se produit lorsque le logiciel reçoit une requête pour arrêter le suivi d'un article
1.5.7 UserClearNewTalkNotification appelé à l'effacement de « Vous avez de nouveaux messages », retournez false pour ne pas le supprimer
1.4.0 UserLoginComplete se produit après que l'utilisateur se soit connecté avec succès
1.4.0 UserLogoutComplete se produit après que l'utilisateur se soit déconnecté avec succès
1.4.0 UserLogout se produit lorsque le logiciel reçoit une requête de déconnexion
1.5.7 UserRetrieveNewTalks (obsolète depuis v. 1.35) appelé lors de la récupération de « Vous avez de nouveaux messages »
1.19 UserToolLinksEdit Appelé au moment de générer une liste de liens d'outils utilisateur, par exemple "Foobar (discussion | contributions | bloquer)"
1.4.0 WatchArticleComplete Se produit après que la demande de suivi d'article ait été traitée
1.4.0 WatchArticle Se produit lorsque le logiciel reçoit une requête de suivi d'article
Gestion des fichiers 1.19 BitmapHandlerCheckImageArea Appelé par BitmapHandler::normaliseParams(), après toutes les normalisations aient été effectuées, sauf pour le contrôle de $wgMaxImageArea .
1.18 BitmapHandlerTransform Avant qu'un fichier ne soit transformé, donne à l'extension la possibilité de le transformer elle-même.
1.13 FileDeleteComplete Lorsqu'un fichier est supprimé.
1.20 FileTransformed Lorsqu'un fichier est transformé et renommé dans le dépôt.
1.13 FileUndeleteComplete Quand un fichier est restauré.
1.11 FileUpload Se déclenche lors du téléversement d'un fichier local.
1.18 GetMetadataVersion Permet de modifier la version des métadonnées de l'image actuellement utilisée.
1.23.0 GetExtendedMetadata permet d'inclure des informations de méta-données supplémentaires concernant le fichier dans l'API imageinfo.
1.24 HTMLFileCache::useFileCache Redéfinit si une page doit être mise en cache dans le cache des fichiers.
1.10.0 IsFileCacheable autorise une extension à désactiver la mise en cache de fichiers pour les pages.
1.22 IsUploadAllowedFromUrl Permet de redéfinir le résultat de UploadFromUrl::isAllowedUrl().
1.16.0 ImgAuthBeforeStream exécuté avant qu'un fichier ne soit envoyé à l'utilisateur, mais seulement si on utilise img_auth
1.34 ImgAuthModifyHeaders Exécuté juste avant que le fichier ne soit diffusé vers un utilisateur, ce qui permet d'en modifier les entêtes avant.
1.13 LocalFile::getHistory Appelé avant que la requête de l'historique de fichier ne soit effectuée.
1.19 LocalFilePurgeThumbnails Appelé avant que les vignettes d'un fichier local ne soient purgées.
1.21 ThumbnailBeforeProduceHTML Appelé avant que le HTMK d'une image ne soit rendu (par la méthode ThumbnailImage:toHtml).
1.16 UploadCreateFromRequest Quand UploadBase::createFromRequest a été appelé.
1.9.0 UploadForm:BeforeProcessing appelé juste avant que les données du fichier (par exemple, la description) ne soient traitées, et ceci afin que les extensions aient une chance de pourvoir les manipuler.
1.31 UploadForm:getInitialPageText Après que le texte de la page initiale pour le téléversement de fichier soit généré, pour permettre de le modifier.
1.16 UploadFormInitDescriptor Se produit après que le descripteur du formulaire de téléversement ait été assemblé.
1.16 UploadFormSourceDescriptors Se produit après que les entrées source standard aient été ajoutées au descripteur.
1.28 UploadStashFile Apparaît avant qu'un fichier ne soit mis dans la zone de réserve (téléversé dans la zone de réserve).
1.6.4 UploadComplete Appelé lorsqu'un téléversement de fichier est terminé.
1.17 UploadVerifyFile appelé lorsqu'un fichier est téléversé; permet d'insérer des vérifications supplémentaires sur le fichier
1.28 UploadVerifyUpload (préféré) peut être utilisé pour rejeter le téléversement d'un fichier. A la différence de 'UploadVerifyFile' fournit des informations concernant les commentaires du téléversement et la page de description du fichier, mais ne fonctionne pas pour les téléversements en zone de réserve.
1.23 ValidateExtendedMetadataCache Appelé pour valider les métadonnées en cache en FormatMetadata::getExtendedMeta (renvoyer false signifie que le cache sera invalidé et l'accroche GetExtendedMetadata sera appelée à nouveau).
1.18 XMPGetInfo Appelé lors de l'obtention de la liste des balises XMP à extraire.
1.18 XMPGetResults Appelé juste avant de renvoyer le tableau des résultats de l'analyse des données xmp.
Pages spéciales 1.32 AncientPagesQuery Permet de modifier la requête utilisée par Special:AncientPages.
1.9.1 BookInformation Accroche qui permet aux extensions d'insérer du HTML supplémentaire à une liste de sources de livres, par exemple pour les greffons qui interagissent avec l'API ou autres.
1.23 ChangesListInitRows Processus par lot pour modifier la liste des lignes avant de faire le rendu.
1.12 ChangesListInsertArticleLink Remplacer ou étendre le lien vers un article dans la liste des modifications récentes.
1.23 ChangesListSpecialPageFilters Appelé après avoir créé les options du formulaire sur les pages qui héritent de ChangesListSpecialPage (dans le noyau : RecentChanges, RecentChangesLinked et Watchlist).
1.24 ChangesListSpecialPageQuery Appelé lors de la création d'une requête SQL sur les pages qui héritent de ChangesListSpecialPage (dans le noyau : RecentChanges, RecentChangesLinked et Watchlist).
1.29 ChangesListSpecialPageStructuredFilters Appelé pour permettre aux extensions d'enregistrer des filtres pour les pages qui héritent de ChangesListSpecialPage (dans le noyau : RecentChanges, RecentChangesLinked, et Watchlist).
1.13 ContribsPager::getQueryInfo Appelé avant que la requête des contributions ne soit exécutée.
1.20 ContribsPager::reallyDoQuery Appelé avant d'exécuter réellement la requête pour Special:Contributions.
1.13 ContributionsLineEnding Appelé avant qu'une ligne HTML pour Special:Contributions ne soit terminée.
1.11 ContributionsToolLinks Modifie le lien des outils en faveur de Special:Contributions.
1.24 DeletedContribsPager::reallyDoQuery Appelé avant d'exécuter réellement la requête pour Special:DeletedContributions.
1.24 DeletedContributionsLineEnding Appelé avant une ligne HTML pour que Special:DeletedContributions se termine.
1.17 EmailUserCC Se produit avant l'envoi à l'auteur, de la copie du courriel.
1.17 EmailUserForm Apparaît après avoir construit l'objet formulaire du courriel utilisateur.
1.16 EmailUserPermissionsErrors Récupérer les erreurs d'autorisation lors de l'envoi d'un courriel à un utilisateur.
1.25 EnhancedChangesList::getLogText Allows altering, removing or adding to the links of a group of changes in EnhancedChangesList.
1.26 EnhancedChangesListModifyBlockLineData Modify data used to build a non-grouped entry in Special:RecentChanges.
1.26 EnhancedChangesListModifyLineData Modify data used to build a grouped recent change inner line in Special:RecentChanges.
1.7 FetchChangesList Permet à l'extension de modifier une liste de modifications récentes pour un utilisateur.
1.20 GitViewers Appelé lors de la génération de la liste des relecteurs git pour Special:Version, utilisez ceci pour modifier la liste.
1.30 NewPagesLineEnding Appelé avant une ligne HTML pour Special:NewPages is finished.
1.23 LonelyPagesQuery Permet de modifier la requête utilisée par Special:LonelyPages.
1.14 OldChangesListRecentChangesLine Personnalise la ligne entière de Modifications récentes.
1.23 PreferencesFormPreSave Permet de modifier les préférences d'un utilisateur à la dernière minute (via User#setOption) avant qu'elles soient enregistrées et donne la possibilité de vérifier quelles options ont été modifiées.
1.40 PreferencesGetIcon Ajoute les icônes affichées dans la version mobile de Special:Preferences.
1.40 PreferencesGetLayout Indique si les préférences auront un affichage pour mobile ou pour bureau.
1.19 PreferencesGetLegend Override the text used for the ‎<legend> of a preferences section.
1.26 RandomPageQuery Modifie la requête utilisée par Special:Random.
1.20 RedirectSpecialArticleRedirectParams Lets you alter the set of parameter names such as "oldid" that are preserved when using redirecting special pages such as Special:MyPage and Special:MyTalk.
1.27 ShortPagesQuery Permet aux extensions de modifier la requête utilisée par Special:ShortPages.
1.24.0 SpecialBlockModifyFormFields Ajouter ou modifier les champs de blocage de Special:Block
1.27 SpecialContributions::getForm::filters Appelé avec une liste de filtres pour générer le rendu sur Special:Contributions.
1.28.0 SpecialContributions::formatRow::flags appelé avant de générer une ligne Special:Contributions.
1.5.0 SpecialContributionsBeforeMainOutput avant le formulaire sur Special:Contributions
1.40 SpecialCreateAccountBenefits Replace the default signup page content about the benefits of registering an account ("Wikipedia is made by people like you...") on Special:CreateAccount.
1.38 SpecialExportGetExtraPages Add extra pages to the list of pages to export.
1.13.0 SpecialListusersDefaultQuery Appelé juste avant la fin de UsersPager::getDefaultQuery().
1.13.0 SpecialListusersFormatRow Appelé juste avant la fin de UsersPager::formatRow().����
1.13.0 SpecialListusersHeaderForm Appelé avant l'ajout du bouton envoyer dans UsersPager::getPageHeader().
1.13.0 SpecialListusersHeader appelé avant de fermer le ‎<fieldset> dans UsersPager::getPageHeader()
1.13.0 SpecialListusersQueryInfo Appelé juste avant la fin de UsersPager::getQueryInfo()
1.34 SpecialMuteModifyFormFields Permet de modifier les champs HTMLForm pour Special:Mute
1.34 SpecialMuteSubmit (obsolète depuis v. 1.34) Utilisé uniquement pour l'instrumentation sur SpecialMute
1.17 SpecialNewpagesConditions Appelé lors de la construction de la requête SQL pour Special:NewPages.
1.18 SpecialNewPagesFilters Appelé après avoir construit les options du formulaire sur Special:NewPages.
1.7.0 SpecialPage_initList Appelé après que la liste de la page spéciale ait été remplie
1.20 SpecialPageAfterExecute Appelé après SpecialPage::execute().
1.20 SpecialPageBeforeExecute Appelé avant SpecialPage::execute().
1.24 SpecialPageBeforeFormDisplay Avant d'exécuter l'objet HTMLForm
1.18 SpecialPasswordResetOnSubmit Appelé lorsque le formulaire est soumis sur Special:PasswordReset.
1.16 SpecialRandomGetRandomTitle Modifie les critères de sélection pour Special:Random
1.13 SpecialRecentChangesPanel Appelé lors de la création d'options de formulaire dans SpecialRecentChanges.
1.22 SpecialResetTokensTokens Appelé lors de la création de la liste des jetons pour SpecialResetTokens.
1.27 SpecialSearchGoResult Appelé avant que la fonctionnalité « go » de SpecialSearch ne redirige un utilisateur. Peut fournir sa propre URL de redirection.
1.18 SpecialSearchProfileForm Permet de modifier les formulaires des profils de recherche.
1.16 SpecialSearchProfiles Permet de modifier les profils de recherche.
1.21 SpecialSearchResultsAppend Appelé après que le HTML de l'ensemble des résultats de la recherche ait été produit. Notez que dans certains cas, cette accroche ne sera pas appelée (aucun résultat, trop de résultats, SpecialSearchResultsPrepend ayant renvoyé FALSE, etc.).
1.21 SpecialSearchResultsPrepend SpecialSearchResultsPrepend : appelé immédiatement avant de renvoyer le HTML de la page des résultats de recherche. Utile pour inclure un fournisseur de recherche externe. Pour désactiver la sortie de la recherche MediaWiki, renvoie false.
1.13 SpecialSearchResults Appelé avant l'affichage des résultats de la recherche lorsque des correspondances existent
1.18 SpecialSearchSetupEngine Permet de transmettre des données personnalisées au moteur de recherche
1.16 SpecialStatsAddExtra Peut être utilisé pour ajouter des statistiques supplémentaires à la fin de Special:Statistics.
1.29 SpecialTrackingCategories::generateCatLink Appelé pour chaque lien de catégorie sur Special:TrackingCategories
1.29 SpecialTrackingCategories::preprocess Appelé après LinkBatch sur Special:TrackingCategories
1.16 SpecialUploadComplete Appelé après le téléversement réussi d'un fichier de Special:Upload
1.21 SpecialVersionVersionUrl Appelé lors de la création de l'URL pour Special:Version.
1.22 SpecialWatchlistGetNonRevisionTypes Permet aux extensions d'enregistrer la valeur qu'elles ont insérée dans le champ rc_type des modifications récentes pour les modifications non relues afin qu'elles puissent être incluses dans la liste de suivi.
1.26 SpecialWhatLinksHereLinks Appelé à chaque fois qu'une liste de liens est construite pour un élément de liste pour Special:WhatLinksHere.
1.18 UndeleteForm::showHistory Called in UndeleteForm::showHistory, after a PageArchive object has been created but before any further processing is done.
1.18 UndeleteForm::showRevision Called in UndeleteForm::showRevision, after a PageArchive object has been created but before any further processing is done.
1.18 UndeleteForm::undelete Called in 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.
1.9 UndeleteShowRevision (obsolète depuis v. 1.35) Appelé à l'affichage d'une version dans Special:Undelete.
1.9.0 UploadForm:initial appelé juste avant que le formulaire de téléversement ne soit généré
1.28 UsersPagerDoBatchLookups Donne, aux extensions qui fournissent des données de groupes d'utilisateurs provenant d'une source alternative, la possibilité d'ajouter leurs données dans le tableau du cache afin que des éléments comme les groupes d'utilisateurs globaux soient affichées correctement dans Special:ListUsers.
1.18 WantedPages::getQueryInfo Appelé dans WantedPagesPage::getQueryInfo(), peut être utilisé pour modifier la requête SQL qui fournit la liste des pages recherchées.
1.24 WatchlistEditorBeforeFormRender Se produit avant de créer le formulaire Special:EditWatchlist, utilisé pour manipuler la liste des pages ou les données préchargées en fonction de cette liste.
1.17 WatchlistEditorBuildRemoveLine Se produit lors de la construction de la suppression des lignes dans Special:Watchlist/edit.
1.24.0 WhatLinksHereProps permet aux extensions d'annoter les entrées de Pages liées (WhatLinksHere).
1.40 ContributeCards Exécuté sur la page Special:Contribute pour permettre aux extensions d'ajouter des points d'entrée « card ».
Gestion des utilisateurs 1.13 AbortAutoblock Allow extension to cancel an autoblock.
1.20 AbortEmailNotification Can be used to cancel email notifications for an edit.
1.22 AbortTalkPageEmailNotification Disable email notifications of edits to users' talk pages.
1.5.0 AddNewAccount (obsolète depuis v. 1.27) appelé après qu'un utilisateur ait été créé
1.43 AuthManagerFilterProviders Allow disabling authentication providers.
1.27 AuthManagerLoginAuthenticateAudit A login attempt either succeeded or failed for a reason other than misconfiguration or session loss. Aucune donnée de retour n'est acceptée; cette accroche est uniquement destinée à l'audit.
1.43 AuthManagerVerifyAuthentication Called before the end of a successful login or account creation attempt.
1.13 AuthPluginAutoCreate (obsolète depuis v. 1.27) Appelé lors de la création d'un compte local pour un utilisateur connecté à partir d'une méthode d'authentification externe.
1.9.1 AuthPluginSetup (obsolète depuis v. 1.27) Mettre à jour ou remplacer l'objet du greffon d'authentification ($wgAuth).
1.43 AuthPreserveQueryParams Used when an authentication page generates an URL which is in some sense part of the authentication process
1.12 AutopromoteCondition vérifiez la condition de promotion automatique pour l'utilisateur.
1.32 BeforeResetNotificationTimestamp Allows prevention of clearing of notification timestamp when a user views a page in their watchlist.
1.4.0 BlockIpComplete se produit après que la demande de blocage (ou la modification des paramètres de blocage) d'une adresse IP ou d'un utilisateur ait été traitée
1.4.0 BlockIp se produit à chaque fois que le logiciel reçoit une requête pour bloquer (ou pour modifier les paramètres) d'une adresse IP ou d'un utilisateur
1.27 ChangeAuthenticationDataAudit Called when user changes authentication data.
1.29.0 ChangeUserGroups appelé avant que les droits d'appartenance à un groupe ne soient modifiés
1.16 ConfirmEmailComplete Called after a user's email has been confirmed successfully.
1.31 DeleteUnknownPreferences Called by the cleanupPreferences.php maintenance script to build a WHERE clause with which to delete preferences that are not known about.
1.7 EmailConfirmed Replace default way to check whether user's email is confirmed.
1.19 ExemptFromAccountCreationThrottle To add an exemption from the account creation throttle.
1.37 GetAllBlockActions Add an action that can be blocked via a partial block.
1.40 GetBlockErrorMessageKey Allows extensions to override the message that will be displayed to the user.
1.6.0 GetBlockedStatus (supprimé en 1.35) déclenché après que le getBlockStatus de l'utilisateur soit positionné
1.34 GetUserBlock Modify the block found by the block manager.
1.12 getUserPermissionsErrors Ajouter une erreur d'autorisation lorsque des erreurs d'autorisation sont recherchées.
1.12 getUserPermissionsErrorsExpensive Same as getUserPermissionsErrors as but called only if expensive checks are enabled.
1.13 GetAutoPromoteGroups When determining which autopromote groups a user is entitled to be in.
1.16 InvalidateEmailComplete Called after a user's email has been invalidated successfully.
1.9 IsTrustedProxy Allows an extension to set an IP as trusted or not.
1.12 isValidEmailAddr Redéfinit le résultat de Sanitizer::validateEmail().
1.11 isValidPassword Redéfinit le résultat de User::isValidPassword().
1.26.0 LocalUserCreated appelé tout de suite après qu'un utilisateur local a été créé et enregistré dans la base de données.
1.37 LoadUserOptions Cette accroche est appelée lorsque les options ou les préférences utilisateur sont chargées à partir de la base de données.
1.26 PasswordPoliciesForUser Alter the effective password policy for a user.
1.18 PerformRetroactiveAutoblock Called before a retroactive autoblock is applied to a user.
1.39 PermissionErrorAudit Called after permission checks to allow logging.
1.9 PingLimiter Allows extensions to override the results of User::pingLimiter().
1.11 PrefsEmailAudit Called when user changes his email address.
1.23 ResetPasswordExpiration Allow extensions to set a default password expiration.
1.40 RenameUserAbort Allow other extensions to abort a user rename
1.40 RenameUserComplete After a sucessful user rename
1.40 RenameUserPreRename Before renaming an user
1.40 RenameUserWarning Get warnings when renaming an user
1.37 SaveUserOptions Called just before saving user preferences. Cette accroche remplace UserSaveOptions . Les gestionnaires d'accroches peuvent ajouter ou manipuler les options, ou réinitialiser une option à sa valeur par défaut pour éviter qu'on la modifie. Les gestionnaires d'accroches sont également autorisés à tuer le processus en renvoyant false, par exemple pour enregistrer dans un profil global à la place. Comparer avec l'accroche UserSaveSettings , qui est appelée après que les préférences ont été enregistrées.
1.27.0 SecuritySensitiveOperationStatus Modifie la valeur de retour de AuthManager::securitySensitiveOperationStatus()
1.27.0 SessionCheckInfo valide les données de session comme si elles étaient chargées à partir de leur emplacement
1.27.0 SessionMetadata ajoute les méta données à une session en cours de sauvegarde
1.43.0 SpreadAnyEditBlock Occurs when User::spreadAnyEditBlock is called, used to allow autoblocking for non-core blocking mechanisms.
1.39 TempUserCreatedRedirect This hook is called after an action causes a temporary user to be created. The handler may modify the redirect URL.
1.21 UpdateUserMailerFormattedPageStatus Apparaît avant qu'un courriel de notification soit envoyé.
1.29.0 UnblockUserComplete se produit après que la demande de déblocage d'une adresse IP ou d'un utilisateur a été traitée
1.29.0 UnblockUser se produit à chaque fois que le logiciel reçoit une requête pour débloquer une adresse IP ou un utilisateur
1.14 User::mailPasswordInternal Avant de créer et de diffuser le nouveau mot de passe temporaire d'un utilisateur.
1.18 UserAddGroup Appelé lors de l'ajout d'un groupe à un utilisateur.
1.13 UserArrayFromResult Appelé lors de la création d'un objet UserArray à partir d'un résultat de base de données.
1.6.0 userCan pour interrompre ou conseiller le contrôle de « l'utilisateur peut faire X sur les articles Y »
1.12 UserCanSendEmail Permet de redéfinir la vérification des autorisations dans User::canSendEmail().
1.38 UserEditCountUpdate This is called from a deferred update on edit or move and provides collected user edit count information.
1.11 UserEffectiveGroups Dynamically add or remove to the default user groups provided by the database table user_groups .
1.13 UserGetAllRights After calculating a list of all available rights.
1.18 UserGetDefaultOptions Called after fetching the core default user options.
1.13 UserGetEmailAuthenticationTimestamp Called when getting the timestamp of email authentification.
1.13 UserGetEmail Called when getting an user email address.
1.18 UserGetLanguageObject Called when getting user's interface language object.
1.14 UserGetReservedNames Allows to modify $wgReservedUsernames at run time.
1.32.0 UserGetRightsRemove Appelé dans User::getRights() pour supprimer dynamiquement des droits
1.11.0 UserGetRights Appelé dans User::getRights() pour ajouter des droits dynamiquement
1.26 UserGroupsChanged Called after user groups are changed.
1.16 UserIsBlockedFrom Check if a user is blocked from a specific page (for specific block exemptions).
1.14 UserIsBlockedGlobally (obsolète depuis v. 1.40) s'exécute avant que User::mBlockedGlobally ne soit initialisé; peut être utilisé pour modifier l'état bloqué d'une adresse IP ou d'un utilisateur
1.28 UserIsBot Occurs when determining whether a user is a bot account.
1.26.0 UserIsLocked Lancé pour vérifier que le compte d'un utilisateur est bloqué
1.22 UserIsEveryoneAllowed Check if all users are allowed some user right; return false if a UserGetRights hook might remove the named right.
1.26 UserIsHidden (supprimé en 1.35) Check if the user's name should be hidden. Voir User::isHidden().
1.14 UserLoadAfterLoadFromSession Called to authenticate users on external/environmental means; occurs after session is loaded.
1.13 UserLoadDefaults Appelé au chargement d'un utilisateur par défaut.
1.15 UserLoadFromDatabase Called when loading a user from the database.
1.16 UserLoadOptions When user options/preferences are being loaded from the database.
1.27.0 UserLoggedIn appelé après que l'utilisateur se soit connecté
1.27 UserMailerSplitTo Called in UserMailer::send() to give extensions a chance to split up an email with multiple of the To: field into separate emails.
1.27 UserMailerTransformContent Allow transformation of content, such as encrypting/signing.
1.27 UserMailerTransformMessage Called in UserMailer::send() to change email after it has gone through the MIME transform. Extensions can block sending the email by returning false and setting $error.
1.41 UserPrivilegedGroups Use this hook to extend what MediaWiki considers to be a "privileged group" beyond the values set in $wgPrivilegedGroups
1.18 UserRemoveGroup Called when removing a group from an user.
1.22 UserRequiresHTTPS (obsolète depuis v. 1.35) Allows extensions to override whether users need to be redirected to HTTPS.
1.24 UserResetAllOptions Permet de modifier le comportement lors de la réinitialisation des préférences utilisateur. For instance, certain preferences can be preserved.
1.16 UserSaveOptions Called just before saving user preferences. Hook handlers can either add or manipulate options, or reset one back to its default to block changing it. Hook handlers are also allowed to abort the process by returning false, e.g. to save to a global profile instead. Compare to the UserSaveSettings hook, which is called after the preferences have been saved.
1.13 UserSaveSettings Called directly after user preferences (user_properties in the database) have been saved. A comparer avec l'accroche UserSaveOptions qui est appelée auparavant.
1.33 UserSendConfirmationMail Called just before a confirmation email is sent to a user. Hook handlers can modify the email that will be sent.
1.13 UserSetCookies (obsolète depuis v. 1.27) Appelé à la définition des cookies utilisateur.
1.13 UserSetEmailAuthenticationTimestamp Called when setting the timestamp of email authentication.
1.13 UserSetEmail Appelé lors de la modification de l'adresse courriel de l'utilisateur.
Connexion 1.23 GetLogTypesOnUser Add log types where the target is a userpage.
1.26.0 LogException appelé avant qu'une exception (ou une erreur PHP) ne soit tracée dans le journal.
1.25 LogEventsListGetExtraInputs When getting extra inputs to display on Special:Log for a specific log type.
1.30 LogEventsListLineEnding Called before an HTML line for Special:Log is finished.
1.19 LogEventsListShowLogExtract Called before the result of LogEventsList::showLogExtract() is added to OutputPage.
1.12 LogLine Processes a single log entry on Special:Log.
1.33 ManualLogEntryBeforePublish Lets extensions tag log entries when actions are performed.
1.29 OtherAutoblockLogLink Get links to the autoblock log from extensions which autoblocks users and/or IP addresses too..
1.16 OtherBlockLogLink Get links to the block log from extensions which blocks users and/or IP addresses too.
1.24 SpecialLogAddLogSearchRelations Add log relations to the current log.
Habillages / Modèles 1.27.0 AuthChangeFormFields permet la modification des formulaires basés sur AuthManager
1.23.0 BaseTemplateAfterPortlet (obsolète depuis v. 1.35) (SkinTemplate.php) après avoir généré les portlets.
1.18 BaseTemplateToolbox (obsolète depuis v. 1.35) Appelé par BaseTemplate lors de la construction du tableau de boîtes à outils et de son renvoi à l'habillage pour la sortie.
1.7.0 BeforePageDisplay permet les modifications de dernière minute sur la page générée, par exemple en ajoutant du code CSS ou du Javascript à l'aide d'extensions.
1.25.0 LoginFormValidErrorMessages Permet d'ajouter des messages d'erreur supplémentaires (SpecialUserLogin.php).
1.7.0 PersonalUrls (SkinTemplate.php) appelé après que la liste des URL personnelles ait été populée (liens supérieurs dans Monobook).
1.24.0 PostLoginRedirect (SpecialUserlogin.php) modifie le comportement de la redirection juste après la procédure de connexion.
1.19 RequestContextCreateSkin Appelé lors de la création d'une instance d'habillage.
1.35 SkinAddFooterLinks Add items to the footer for skins using SkinAddFooterLinks.
1.11.0 SkinAfterBottomScripts (Skin.php) A la fin de Skin::bottomScripts()
1.14 SkinAfterContent Permet aux extensions d'ajouter du texte après le contenu de la page et des métadonnées de l'article.
1.35 SkinAfterPortlet Occurs whenever a page is rendered and allows to add HTML after portlets have been put out.
1.14 SkinBuildSidebar A la fin de Skin::buildSidebar().
1.16 SkinCopyrightFooter Allow for site and per-namespace customisation of copyright notice.
1.25 SkinEditSectionLinks Modify the section edit links. Appelé quand les titres de section sont créés.
1.17 SkinGetPoweredBy (obsolète depuis v. 1.37) Called when generating the code used to display the "Powered by MediaWiki" icon.
1.36 SkinPageReadyConfig Allows skins to change the `mediawiki.page.ready` module configuration.
1.24 SkinPreloadExistence Modify the CSS class of an array of page links.
1.12.0 SkinSubPageSubtitle (Skin.php) appelé avant de générer la liste des liens vers les sous-pages en haut d'une sous-page
1.6.0 SkinTemplateBuildNavUrlsNav_urlsAfterPermalink (obsolète depuis v. 1.35) appelé après que le lien permanent (permalink) a été entré dans le tableau des URLs de navigation.
1.23.0 SkinTemplateGetLanguageLink appelé après avoir construit les données pour un lien de langue pour lequel le HTML actuel est construit.
1.18.0 SkinTemplateNavigation::SpecialPage (utilisation non recommandée)

appelé pour les pages spéciales après que l'onglet spécial ait été ajouté mais avant l'ajout des variantes

1.18.0 SkinTemplateNavigation::Universal (utilisation non recommandée)

appelé à la fois pour les pages de contenu et les pages spéciales après que les variantes ont été ajoutées

1.16.0 SkinTemplateNavigation Appelé sur les pages de contenu uniquement après que les onglets ont été ajoutés, mais avant que les variants ne soient ajoutés. See the other two SkinTemplateNavigation hooks for other points tabs can be modified at.
1.10 SkinTemplateOutputPageBeforeExec (obsolète depuis v. 1.35) Allows further setup of the template engine after all standard setup has been performed but before the skin has been rendered.
1.6.0 SkinTemplatePreventOtherActiveTabs (obsolète depuis v. 1.35) appelé pour activer/désactiver l'inclusion d'onglets supplémentaires à l'habillage.
1.12 SkinTemplateTabAction (obsolète depuis v. 1.35) Override SkinTemplate::tabAction().
1.13 SkinTemplateToolboxEnd (obsolète depuis v. 1.35) Called by SkinTemplate skins after toolbox links have been rendered (useful for adding more).
API 1.14.0 APIAfterExecute Utilisez cette accroche pour étendre les modules API du noyau
1.23.0 ApiBeforeMain appelé avant l'exécution de ApiMain
1.20 ApiCheckCanExecute Called during ApiMain::checkCanExecute().
1.29 ApiDeprecationHelp Add messages to the 'deprecation-help' warning generated from ApiBase::addDeprecation().
1.25 ApiFormatHighlight Use to syntax-highlight API pretty-printed output. When highlighting, add output to $context->getOutput() and return false.
1.14.0 APIGetAllowedParams Utilisez cette accroche pour modifier les paramètres d'un module
1.25 APIGetDescriptionMessages Allows to modify a module's help message.
1.25 APIGetParamDescriptionMessages Allows to modify a module's parameter descriptions.
1.25 APIHelpModifyOutput Allows to modify an API module's help output.
1.25 ApiMain::moduleManager Can be used to conditionally register API modules.
1.20 ApiMain::onException Called by ApiMain::executeActionWithErrorHandling() when an exception is thrown during API action execution.
1.28 ApiMakeParserOptions Allows extensions to adjust the parser options before parsing.
1.32 ApiMaxLagInfo Called right before giving out information about max lag in API.
1.25.0 ApiOpenSearchSuggest Appelé lors de la construction des résultats OpenSearch. Hooks can alter or append to the array.
1.33 ApiOptions Called by action=options before applying changes to user preferences.
1.32 ApiParseMakeOutputPage Called when preparing the OutputPage object for ApiParse. This is mainly intended for calling OutputPage::addContentOverride() or OutputPage::addContentOverrideCallback().
1.25 ApiQuery::moduleManager Called when ApiQuery has finished initialising its module manager.
1.14.0 APIQueryAfterExecute Utilisez cette accroche pour étendre les modules API de requête du noyau.
1.28 ApiQueryBaseAfterQuery Called for (some) API query modules after the database query has returned.
1.28 ApiQueryBaseBeforeQuery Called for (some) API query modules before a database query is made.
1.28 ApiQueryBaseProcessRow Called for (some) API query modules as each row of the database result is processed.
1.14.0 APIQueryGeneratorAfterExecute utilisez cette accroche pour étendre les modules de requête de l'API noyau
1.13.0 APIQueryInfoTokens (supprimé en 1.36) Utilisez cette accroche pour ajouter des jetons personnalisés à prop=info
1.14.0 APIQueryRecentChangesTokens (supprimé en 1.36) Utilisez cette accroche pour ajouter des jetons personnalisés à list=recentchanges
1.13.0 APIQueryRevisionsTokens (supprimé en 1.36) Utilisez cette accroche pour ajouter des jetons personnalisés à prop=revisions
1.18 APIQuerySiteInfoGeneralInfo Used to add extra information to the SiteInfo general information output.
1.22 APIQuerySiteInfoStatisticsInfo Used to add extra information to the SiteInfo statistics information output.
1.24 ApiQueryTokensRegisterTypes Use this hook to add additional token types to action=query&meta=tokens. Note that most modules will probably be able to use the 'csrf' token instead of creating their own token types.
1.15 APIQueryUsersTokens (supprimé en 1.36) Use this hook to add custom token to list=users.
1.29 ApiQueryWatchlistExtractOutputData Extraire les données de ligne pour ApiQueryWatchlist.
1.29 ApiQueryWatchlistPrepareWatchedItemQueryServiceOptions Populate the options to be passed from ApiQueryWatchlist to WatchedItemQueryService.
1.17 ApiRsdServiceApis Add or remove APIs from the RSD services list.
1.20 ApiTokensGetTokenTypes (supprimé en 1.36) Use this hook to extend action=tokens with new token types.
1.29 ApiValidatePassword This will allow for checking passwords against the wiki's password.
1.23.0 AddNewAccountApiForm (obsolète depuis v. 1.27) permet de modifier le formulaire interne de connexion lorsque l'on crée un compte via l'API.
1.23.0 AddNewAccountApiResult (obsolète depuis v. 1.27) modifie la sortie de l'API lorsqu'un compte a été créé via l'API.
Importer / Exporter 1.17.0 AfterImportPage Lorsqu'une importation de page est terminée
1.17.0 ImportHandleLogItemXMLTag Lors de l'analyse syntaxique d'une balise XML appartenant à un élément du journal
1.17.0 ImportHandlePageXMLTag Lors de l'analyse syntaxique d'une balise XML dans une page
1.17.0 ImportHandleRevisionXMLTag Lors de l'analyse syntaxique d'une balise XML dans une révision de page
1.17.0 ImportHandleToplevelXMLTag Lors de l'analyse syntaxique d'une balise XML de haut niveau
1.31 ImportHandleUnknownUser When a user doesn't exist locally, this hook is called to give extensions an opportunity to auto-create it. If the auto-creation is successful, return false.
1.17.0 ImportHandleUploadXMLTag lors de l'analyse syntaxique d'une balise XML dans un fichier téléversé
1.27 ImportLogInterwikiLink Hook to change the interwiki link used in log entries and edit summaries for transwiki imports.
1.27 ImportSources Called when reading from the $wgImportSources configuration variable.
1.16.0 ModifyExportQuery modifier la requête utilisée par l'exporteur
1.15.0 WikiExporter::dumpStableQuery fournit la requête SELECT pour les dumps des versions «  stables »
1.16.0 XmlDumpWriterOpenPage appelé à la fin de XmlDumpWriter::openPage, pour permettre d'ajouter des métadonnées supplémentaires.
1.16.0 XmlDumpWriterWriteRevision appelé à la fin d'une révision de dump XML, pour y ajouter des métadonnées supplémentaires.
Différences 1.14 AbortDiffCache Peut être utilisé pour annuler la mise en cache d'une différence
1.17 ArticleContentOnDiff Avant d'afficher le contenu de l'article sous une différence.
1.29 DifferenceEngineAfterLoadNewText Called in DifferenceEngine::loadNewText() after the new revision's content has been loaded into the class member variable.
1.29 DifferenceEngineLoadTextAfterNewContentIsLoaded Called in DifferenceEngine::loadText() after the new revision's content has been loaded into the class member variable $differenceEngine->mNewContent but before checking if the variable's value is null.
1.29 DifferenceEngineMarkPatrolledLink Allow extensions to change the markpatrolled link, which is shown both on the diff header as well as on the bottom of a page, usually wrapped in a ‎<span> element which has class="patrollink".
1.29 DifferenceEngineMarkPatrolledRCID Allows extensions to possibly change the rcid parameter.
1.29 DifferenceEngineNewHeader Allows extensions to change the $newHeader variable, which contains information about the new revision, such as the revision's author, whether.
1.29 DifferenceEngineOldHeaderNoOldRev Change the $oldHeader variable in cases when there is no old revision.
1.29 DifferenceEngineOldHeader Allows extensions to change the $oldHeader variable, which contains information about the old revision, such as the revision's author, whether the revision was marked as a minor edit or not, etc.
1.29 DifferenceEngineRenderRevisionAddParserOutput Allows extensions to change the parser output. Return false to not add parser output via OutputPage's addParserOutput method.
1.29 DifferenceEngineRenderRevisionShowFinalPatrolLink An extension can hook into this hook point and return false to not show the final "mark as patrolled" link on the bottom of a page.
1.29 DifferenceEngineShowDiffPageMaybeShowMissingRevision Appelé dans DifferenceEngine::showDiffPage() quand les données d'une révision ne peuvent pas être chargées.
1.29 DifferenceEngineShowDiffPage Add additional output via the available OutputPage object into the diff view.
1.29 DifferenceEngineShowDiff Allows extensions to affect the diff text which eventually gets sent to the OutputPage object.
1.29 DifferenceEngineShowEmptyOldContent Allows extensions to change the diff table body (without header) in cases when there is no old revision or the old and new revisions are identical.
1.35 DifferenceEngineViewHeader Appelé avant l'affichage du diff.
1.21 DiffRevisionTools (obsolète depuis v. 1.35) Override or extend the revision tools available from the diff view, i.e. undo, etc.
1.35 DiffTools Use this hook to override or extend the revision tools available from the diff view, i.e. undo, etc.
1.7 DiffViewHeader (obsolète depuis v. 1.35) Appelé avant l'affichage du diff.
1.25.0 GetDifferenceEngine autorise les extensions du type moteur de différences personnalisé tel que Extension:WikEdDiff .
1.21 EditPageGetDiffContent Allow modifying the wikitext that will be used in "Show changes". Note that it is preferable to implement diff handling for different data types using the ContentHandler facility.
1.15 NewDifferenceEngine Appelé lorsqu'un nouvel objet DifferenceEngine est créé.
1.32 GetSlotDiffRenderer Replace or wrap the standard SlotDiffRenderer for some content type.
1.41 TextSlotDiffRendererTablePrefix Allows to change the HTML that is included in a prefix container directly before the diff table
Divers 1.19.0 AlternateUserMailer Appelé avant que le courriel ne soit envoyé de sorte à ce qu'il puisse être tracé (ou équivalent) au lieu d'utiliser PEAR ou mail() de PHP.
1.6.0 ArticleEditUpdatesDeleteFromRecentchanges (obsolète depuis v. 1.35) se produit avant de sauvegarder une base de données.
1.19 BacklinkCacheGetConditions Allows to set conditions for query when links to certain title.
1.19 BacklinkCacheGetPrefix Allows to set prefix for a spefific link table.
1.16 BeforeInitialize Occurs before anything is initialised in MediaWiki::performRequest().
1.36 BeforeRevertedTagUpdate This hook is called before scheduling a RevertedTagUpdateJob.
1.21.0 CategoryAfterPageAdded Appelé après qu'une page ait été ajoutée à une catégorie
1.21.0 CategoryAfterPageRemoved Appelé après qu'une page ait été retirée d'une catégorie
1.19.0 Collation::factory permet aux extensions d'enregistrer de nouveaux noms de collations, à utiliser avec $wgCategoryCollation
1.8.0 DisplayOldSubtitle Permet aux extensions de modifier l'affichage des liens vers d'autres révisions lors de la navigation dans les révisions.
1.17 ExtensionTypes Appelé lors de la génération des crédits d'extensions, utilisez ceci pour modifier l'entête des tables.
1.37 GetActionName Use this hook to override the action name depending on request parameters.
1.13 GetCacheVaryCookies Get cookies that should vary cache options.
1.18 GetCanonicalURL Allows to modify fully-qualified URLs used for IRC and e-mail notifications.
1.18.0 GetDefaultSortkey permet de réécraser la clé de tri définie par défaut, telle qu'elle est utilisée pour classer les pages dans une catégorie.
1.21.0 GetDoubleUnderscoreIDs accroche pour modifier la liste des mots magiques
1.6.0 GetFullURL utilisé pour modifier les URLs complètement spécifiées utilisées dans les redirections, les exportations et les données hors connexion
1.6.0 GetInternalURL utilisé pour modifier les URLs complètement spécifiées (utile pour purger le cache squid)
1.17 GetIP Modify the ip of the current user (called only once).
1.6.0 GetLocalURL utilisé pour modifier les URLs locales en tant que liens de pages
1.19 GetLocalURL::Article Allows to modify local URLs specifically pointing to article paths without any fancy queries or variants.
1.19 GetLocalURL::Internal Allows to modify local URLs to internal pages.
1.35 GetMagicVariableIDs Use this hook to modify the list of magic variables.
1.35 HtmlCacheUpdaterAppendUrls This hook is used to declare extra URLs to purge from HTTP caches.
1.35 HtmlCacheUpdaterVaryUrls This hook is used to add variants of URLs to purge from HTTP caches.
1.20 InfoAction When building information to display on the action=info page.
1.13 InitializeArticleMaybeRedirect Appelé pour vérifier qu'un titre est une redirection.
1.18 InterwikiLoadPrefix (obsolète depuis v. 1.36) This hook is called when resolving whether a given prefix is an interwiki or not.
1.18 IRCLineURL When constructing the URL to use in an IRC notification.
1.19 Language::getMessagesFileName Use to change the path of a localisation file.
1.18 LanguageGetTranslatedLanguageNames Provide translated language names.
1.22.0 LanguageLinks Manipule les liens de langue d'une page.
1.14.0 LinkBegin (supprimé en 1.36) Utilisé lors de la génération des liens internes et des liens inter-wikis dans Linker::link()
1.14.0 LinkEnd (supprimé en 1.36) Utilisé lors de la génération des liens internes et des liens inter-wikis dans Linker::link(), juste avant que la fonction ne retourne une valeur.
1.12 LinksUpdate At the beginning of LinksUpdate::doUpdate() just before the actual update.
1.21 LinksUpdateAfterInsert Occurs right after new links have been inserted into the links table.
1.12 LinksUpdateComplete At the end of LinksUpdate::doUpdate() when updating has completed.
1.11 LinksUpdateConstructed At the end of LinksUpdate() is construction.
1.10.1 LoadExtensionSchemaUpdates Fired when MediaWiki is updated to allow extensions to register updates for the database schema.
1.24 LocalisationCacheRecacheFallback Called for each language when merging fallback data into the cache.
1.16 LocalisationCacheRecache Called when loading the localisation data into cache.
1.23 LocalisationChecksBlacklist When fetching the blacklist of localisation checks.
1.24 LocalisationIgnoredOptionalMessages args = array &$ignoredMessageKeys, array &$optionalMessageKeys
1.6.0 MagicWordwgVariableIDs (obsolète depuis v. 1.35) indique à MediaWiki qu'un ou plusieurs IDs de mots magiques doivent être traités comme des variables.
1.18 MaintenanceRefreshLinksInit Before executing the refreshLinks.php maintenance script.
1.33 MaintenanceUpdateAddParams Allow extensions to add params to the update.php maintenance script.
1.23 MathMLChanged Is called before the MathML property is changed can be used e.g. for compression, normalisation or introduction of custom hyperlinks etc.
1.12.0 MediaWikiPerformAction Écrase MediaWiki::performAction()
1.32 MediaWikiPHPUnitTest::endTest Occurs when a MediaWiki PHPUnit test has ended.
1.32 MediaWikiPHPUnitTest::startTest Occurs when a MediaWiki PHPUnit test has started.
1.27.0 MediaWikiServices appelé lorsqu'une instance globale de MediaWikiServices est initialisée.
1.23 MessageCache::get Allows changing a message key, to customise it before the translation is accessed.
1.41 MessageCacheFetchOverrides Allows changing message keys, to customise it before the translation is accessed
1.15 MessageCacheReplace When a message page is changed. Useful for updating caches.
1.5.7 MessagesPreLoad se produit au chargement d'un message de la base de données
1.24 MimeMagicGuessFromContent Allows MW extensions guess the MIME by content.
1.24 MimeMagicImproveFromExtension Allows MW extensions to further improve the MIME type detected by considering the file extension.
1.24 MimeMagicInit Before processing the list mapping MIME types to media types and the list mapping MIME types to file extensions. As an extension author, you are encouraged to submit patches to MediaWiki's core to add new MIME types to mime.types.
1.13 OpenSearchUrls Appelé lors de la création du XML de description OpenSearch. Hooks can alter or append to the array of URLs for search & suggestion formats.
1.25 OpportunisticLinksUpdate Permet d'effectuer des mises à jour lorsqu'une page est reconstruite à nouveau.
1.20 ParserTestGlobals Allows to define globals for parser tests.
1.6.0 ParserTestParser appelé à la création d'une nouvelle instance de Parser pour les tests de l'analyseur syntaxique
1.10 ParserTestTables (obsolète depuis v. 1.36) Alter the list of tables to duplicate when parser tests are run. Use when page save hooks require the presence of custom tables to ensure that tests continue to run properly.
1.12 PrefixSearchBackend (obsolète depuis v. 1.27) Override the title prefix search used for OpenSearch and AJAX search suggestions.
1.25 PrefixSearchExtractNamespace Called if core was not able to extract a namespace from the search string so that extensions can attempt it.
1.10 RawPageViewBeforeOutput Appelé avant d'afficher une page avec action=raw. Renvoie true si l'affichage est autorisé, ou false s'il ne l'est pas.
1.30 RecentChangesPurgeRows Appelé lorsque les anciennes lignes recentchanges sont purgées, après les avoir supprimé et dans une même transaction.
1.27 RequestHasSameOriginSecurity Appelé pour déterminer si la demande est quelque part marquée comme manquant de sécurité pour la même origine.
1.8.0 RecentChange_save appelé après qu'une Modification récente ait été validée dans la base de données
1.16 SearchableNamespaces Option pour modifier dans quels espaces de noms la recherche est autorisée.
1.21 SearchAfterNoDirectMatch Dans le cas où le résultat ne correspond pas exactement. This runs before lettercase variants are attempted, whereas SearchGetNearMatch runs after.
1.28 SearchDataForIndex Allows to provide custom content fields when indexing a document.
1.40 SearchDataForIndex2 Allows to provide custom content fields when indexing a document.
1.16 SearchGetNearMatchBefore Perform exact-title-matches in "go" searches before the normal operations.
1.16 SearchGetNearMatchComplete A chance to modify exact-title-matches in "go" searches.
1.12 SearchGetNearMatch An extra chance for exact-title-matches in "go" searches.
1.28 SearchIndexFields Add fields to search index mapping.
1.20 SearchResultInitFromTitle Set the revision used when displaying a page in search results.
1.35 SearchResultProvideDescription Called when generating search results in order to fill the "description" field in an extension.
1.35 SearchResultProvideThumbnail This hook is called when generating search results in order to fill the thumbnail field in an extension.
1.28 SearchResultsAugment Allows extension to add its code to the list of search result augmentors.
1.25 SecondaryDataUpdates (obsolète depuis v. 1.32) Allows modification of the list of DataUpdates to perform when page content is modified.
1.24 SelfLinkBegin Appelé pour générer un auto-lien sur une page.
1.23 SendWatchlistEmailNotification Peut être utilisé pour annuler les notifications par courriel de la liste de suivi (enotifwatchlist) pour une modification.
1.14 SetupAfterCache Appelé dans Setup.php, une fois que les objets du cache sont définis.
1.15 SoftwareInfo Appelé par Special:Version pour renvoyer les informations à propos du logiciel.
1.18 TestCanonicalRedirect Appelé quand on est sur le point de forcer la redirection vers une URL canonique pour un titre quand il n'y a pas d'autres paramètres dans l'URL.
1.22.0 TitleSquidURLs pour modifier ou fournir des URLs alternatives pour envoyer les requêtes HTTP PURGE.
1.30.0 UnitTestsAfterDatabaseSetup appelé juste après l'infrastructure de test de MediaWiki ait fini de créer ou de dupliquer les tables du noyau pour les tests unitaires.
1.30.0 UnitTestsBeforeDatabaseTeardown appelé juste avant que l'infrastructure de test de MediaWiki ne commence à déchirer les tables pour les tests unitaires.
1.17.0 UnitTestsList Ajoute les tests à exécuter qui feront partie de la suite des tests unitaires.
1.24.0 UserMailerChangeReturnPath appelé pour générer une adresse de retour VERP quand UserMailer envoie un courriel, avec une extension qui gère les rebonds.
1.29 WatchedItemQueryServiceExtensions Add a WatchedItemQueryServiceExtension.
1.19 WebRequestPathInfoRouter While building the PathRouter to parse the REQUEST_URI.
1.22 WebResponseSetCookie Utilisé pour modifier le cookie initialisé par WebResponse::setcookie().
1.20 wfShellWikiCmd Appelé lors de la génération de la chaîne échappée d'une ligne de commande pour exécuter un script cli[1].
1.6.0 wgQueryPages Est exécuté à chaque page spéciale qui étend la classe QueryPage (déclenché par l'inclusion du fichier QueryPage.php). Utile uniquement pour maintenance/updateSpecialPages.php et l'API QueryPage.


Liste alphabétique des accroches

Pour une liste complète des accroches, utilisez la catégorie , qui devrait être plus à jour.

Voir aussi

  1. CLI — command line interface