Wikipédia:LiveRC/Documentation/Extensions/fr

(fr)(en)(it)[edit]

IntroductionModifier

Depuis la version 0.4.2, LiveRC intègre dans son code source des hooks pour ajouter des extensions. Ces hooks permettent à des fonctions annexes d'être exécutées à des moments précis du processus, afin de modifier le comportement ou le rendu de LiveRC.

Liste des hooks existantsModifier

LiveRC hooks (±)
  1. BeforeInitActivationProcess
  2. AfterInitActivationProcess
  3. AfterGotUserInfos
  4. AfterGotSiteInfos
  5. AfterTranslationsLoaded
  6. AfterSpecialLogList
  7. AfterOptions
  8. BeforeRC
  9. AfterSpecialLogListUpdated
  10. AfterAllSpecialLogListUpdated
  11. AfterRC
  12. AfterRCNotification
  13. AfterMiniDiffPrewiew
  14. AfterPreviewDiff
  15. AfterPreviewArticle
  16. AfterPreviewHistory
  17. AfterPreviewContribs
  18. AfterPreviewDeletedContribs
  19. AfterPreviewLog
  20. AfterPreviewFilter
  21. AfterPreviewEdit
  22. AfterPreviewMove
  23. AfterPreviewProtect
  24. AfterPreviewDelete
  25. AfterPreviewBlock
  26. AfterPreviewRevisiondelete
  27. AfterPreviewWhatlinkshere
  28. AfterPreviewFeedback
  29. AfterPreviewStabilization
  30. AfterPreviewInterwiki
  31. AfterFillParamPanel
  32. AfterCreateParamPanel
  33. BeforeParamPanelSaved
  34. AfterDisplayDebug
  35. AfterDisplayTchat
  36. AfterDisplayNewWindowTchat

Il existe actuellement (version 1.0.5 m) 36 hooks. Ils sont nommés selon le moment où les fonctions qu'ils contiennent sont exécutées.

Voir la liste ci-contre.


  • Les fonctions exécutées via un hook post-prévisualisation "AfterPreview?????" acceptent en paramètre une Array. Cette array contient l'équivalent de la variable data qui est disponible après l'exécution de la requête. Elle contient donc toutes les variables nécessaires à l'affichage de la prévisualisation. Leur nom et leur nombre dépend du type de prévisualisation ciblé par le hook.
    • Exemple d'utilisation :
function MyFunc(Args){
  var PageName = Args.page;  
  var User = Args.user;
  var Url = Args.url;
}
LiveRC_AddHook("AfterPreviewArticle", MyFunc);

SyntaxeModifier

Pour ajouter une fonction dans un hook, il suffit d’utiliser la syntaxe suivante :

LiveRC_AddHook("type", func);
  • "type" : le type de hook, c'est à dire une des valeurs citées plus haut.
  • func : la fonction à être exécutée au moment du hook.

Afin que l'extension ne provoque pas d'erreur en dehors de la page de LiveRC, il est nécessaire de l'entourer d'un test, le plus simple étant de tester l'existence de la fonction LiveRC_AddHook() et sa qualité de function. La syntaxe est la suivante :

if(typeof(LiveRC_AddHook)==="function") {
    LiveRC_AddHook("type", func);
}


Ces extensions doivent être ajouté à la page User:<VOTRE-NOM>/LiveRCparam.js, en dehors de la partie qui est personnalisée automatiquement et délimitée par des commentaires spécifiques. Elles peuvent être directement codées dans cette page ou importées via une fonction importScript() ou importScriptURI(). Dans ce deuxième cas, il est même préférables de les déclarer en tant qu'extensions disponibles dans le menu de personnalisation (voir Wikipédia:LiveRC/Documentation/Configuration/fr#Extensions).

Variables et fonctions utilesModifier

  • LiveRC_addNeededMessages(NomDuMessage)
    Fonction permettant d'ajouter un messages système nécessaire à LiveRC. Si une extension a besoin d'un message qui n'est pas encore demandé, il est nécessaire de l'ajouter de façon à ce qu'une requête ait lieu au démarrage de LiveRC pour en récupérer la valeur. Exemple :
    LiveRC_addNeededMessages("NomDuMessage");
    
  • lrcGetMediawikiMessage(Message, translate, replaceItems)
  • lrcGetNamespaceName(nsnumber, translate)
  • lrcIsExtensionInstalled(ExtensionName)
  • lrcUserHasRight(Right)
  • lrcMakeParam(ParamID)
  • lrcMakeOption(OptionID)
  • lrcMakeText(TextID)
  • lrcMakeParamDescription(TextID)
  • lrcMakeIcon(ID)
  • lrcGetDiffLink(rc)
  • lrcGetArticleLink(rc)
  • lrcGetHistoryLink(rc)
  • lrcGetEditLink(rc)
  • lrcGetMoveLink(rc, def)
  • lrcGetDeleteLink(rc, def)
  • lrcGetProtectLink(rc, def)
  • lrcGetStableLink(rc, def)
  • lrcGetWatchersIcon(rc, def)
  • UserIsIP(user)
  • LiveRC_ManageIPv6(user)
  • lrcGetUserLink(user, linkstyle, linkclass)
  • lrcGetUserTalkLink(rc)
  • lrcGetUserContribsLink(rc)
  • lrcGetBlockLink(rc, def)
  • lrcCreateWatchPageLink(title, watched, type, trID)
  • lrcCreateWatchUserLink(user, watched, type, trID)
  • lrcCreateHideUserLink(user, hidden, type, trID)
  • lrcGetPageURL(page)
  • lrcGetUglyPageURL(page, params)
  • lrcGetOtherPagename(page)
  • lrcEscapeStr(str)
  • lrcEscapeStrHTML(str)
  • lrcToggleNextSibling(Link)
  • lrcTogglePreviousSibling(Link)
  • lrcHasClass(node, className)
  • lrcAddClass(node, className)
  • lrcRemoveClass(node, className)
  • lrcGetElementsByClass(searchClass, node, tag)
  • lrcGetObjectLength(obj)
  • lrcGetArgFromURL(URL, Arg)
  • getElementWithId(elementId, elementTagName, elementParentNode)
  • getNamespaceInfoFromPage(Page, ToReturn)
  • LiveRC_alert(text)
  • LiveRC_confirm(text, onOK, onCancel)
  • LiveRC_prompt(text, onOK, onCancel, suggestion)
  • LiveRC_alert_setOpacity(id, removefunc, diff, delay)
  • LiveRC_alert_stopOpacity(id)
  • LiveRC_GetScreenHeight()
  • LiveRC_GetScreenWidth()
  • LiveRC_SetMoveZone(anchorNode, elementsToMove)
  • LiveRC_SetVerticalResizeZone(anchorNode, ToResizeNodes, containerNode)
  • LiveRC_SetTotalResizeZone(anchorNode, elementsToResize, Container)
  • LiveRC_Suggest_AddPageSuggestion(Args)
  • LiveRC_Suggest_AddUserSuggestion(Args)
  • AddButtonToControlBar(Button, AddSeparator)
  • createChecklistMenu(ID, Lines)
  • lrcHasState(state, thisState)
  • lrcAddState(state, thisState)
  • lrcRemoveState(state, thisState)
  • lrcAddToHistory(Type, Params, URL, Text)
  • getPageContent(Req, ID)
  • getFormFromThisInput(Input)
  • getFormParams(Form, searchedname)