# CHAPITRE 30 — Référence des hooks et triggers

### <span style="color: rgb(35, 111, 161);">Hooks Dolibarr utilisés par le module</span>

<table id="bkmrk-hookm%C3%A9thode-appel%C3%A9er" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Hook

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Méthode appelée

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Rôle

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">main</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">checkSecureAccess</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">Sécurité de l'accès aux médias via </span>

`<span class="editor-theme-code">document.php?modulepart=infrasstudio</span>`

.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">login</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">divers

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Initialisations à la connexion.

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">websitepage</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">completeHtmlOutput</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Résolution des slots et shortcodes au moment du rendu public. Cœur du module.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">websitenav</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">divers

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Personnalisation des menus du module Website.

</td></tr></tbody></table>

<span style="white-space: pre-wrap;">Implémentation : </span>`<span class="editor-theme-code">htdocs/custom/infrasstudio/class/actions_infrasstudio.class.php</span>`.

### <span style="color: rgb(35, 111, 161);">Triggers Dolibarr écoutés</span>

<span style="white-space: pre-wrap;">Trigger </span>`<span class="editor-theme-code">InterfaceInfrasstudiotrigger</span>`<span style="white-space: pre-wrap;"> dans </span>`<span class="editor-theme-code">core/triggers/interface_99_modinfrasstudio_Infrasstudiotrigger.class.php</span>`.

<table id="bkmrk-%C3%89v%C3%A9nementr%C3%A9actionpro" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Événement

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Réaction

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">PRODUCT_CREATE</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Régénération des wrappers solution-\*.php

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">PRODUCT_MODIFY</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">idem

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">PRODUCT_DELETE</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">idem

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">PRODUCT_PRICE_MODIFY</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">idem

</td></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">CATEGORY_LINK</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">idem (uniquement si </span>

`<span class="editor-theme-code">$object->element === 'product'</span>`

)

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">CATEGORY_UNLINK</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">idem

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Triggers Dolibarr émis par le module</span>

<table id="bkmrk-trigger-%C3%A9misquandpro" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Trigger émis

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Quand

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">PRODUCT_MODIFY</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">Modification du libellé ou de la description en français depuis le Studio (via </span>

`<span class="editor-theme-code">Product::update()</span>`

).

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">PRODUCT_SET_MULTILANGS</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Modification des traductions natives produit depuis le Studio.

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Tâches planifiées déclarées</span>

<table id="bkmrk-t%C3%A2chefr%C3%A9quencer%C3%B4lest" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.92em;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Tâche

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Fréquence

</th><th class="align-left" style="padding: 0.5rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Rôle

</th></tr><tr><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">StudioSolutionWrapper::rebuildAllConfigured</span>`

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Toutes les heures

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Filet de sécurité pour la régénération des wrappers solution.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Purge des slots orphelins

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Quotidien

</td><td style="padding: 0.5rem; border: 1px solid rgb(229, 231, 235);">Suppression des slots orphelins de plus de 30 jours.

</td></tr></tbody></table>