Liste des événements dans le noyau
Pour plus d’informations sur le fonctionnement des événements, visitez Événements.
Contenu
Note
Certains événements sont marqués avec
, ce qui signifie que ces événements ont également un événement :before et :after. Voir également Séquence d’événements
Certains événements sont marqués avec
cela signifie que ces événements permettent de modifier la sortie d’un événement
Événements système
- activate, plugin
Renvoyez false pour empêcher l’activation du plugin.
- cache:clear, system

Clear internal and external caches.
- cache:generate, <view>

Filtre la sortie de la vue pour une URL
/cachequand simplecache est désactivé. Notez que cela sera déclenché pour chaque requête à/cache– aucun entête Expires n’est utilisé quand simplecache est désactivé.- cache:invalidate, system

Invalide les caches internes et externes.
- cache:purge, system

Purge les caches internes et externes. Il s’agit de supprimer le contenu ancien/obsolète des caches.
- commands, cli

Permet aux plugins d’enregistrer leurs propres commandes exécutables via le binaire
elgg-cli. Les gestionnaires doivent renvoyer un tableau de noms de classes de commande. Les commandes doivent étendre\Elgg\Cli\Commandpour être exécutables.- cron, <period>

Déclenché par le cron pour chaque période.
Le tableau
$paramsva contenir :time- l’horodatage du lancement de la commande crondt- the\DateTimeImmutableobject of when the cron command was startedlogger- instance de\Elgg\Logger\Cronpour enregistrer toute information dans le journal cron
- cron:intervals, system

Permet la configuration d’intervalles de cron personnalisés
- deactivate, plugin
Renvoyez false pour éviter la désactivation du plugin.
- diagnostics:report, system

Filtre la sortie pour le téléchargement du rapport de diagnostic.
- elgg.data, page

Filtre les données non mises en cache, de configuration spécifiques à la page, à transmettre au client. Plus d’informations
- format, friendly:title

Formate un titre « sympathique » pour les chaînes de caractères. Ceci est utilisé pour générer des URLs.
- format, friendly:time

Formate une date « sympathique » pour le timestamp
$params['time'].- format, strip_tags

Filtre une chaîne pour supprimer les balises. La chaîne d’origine est passée par
$params['original_string']et un ensemble facultatif de balises autorisées est passé par$params['allowed_tags'].- gc, system

Autorise les plugins à exécuter la collecte des déchets - « garbage collection » - pour
$params['period'].- generate, password

Permet aux plugins de générer de nouveaux mots de passe textuels aléatoires.
- init:cookie, <name>
Renvoyez false pour remplacer la définition d’un cookie.
- init, system

Les plugins ont tendance à utiliser cet événement pour l’initialisation (extension des vues, enregistrement des rappels, etc.)
- languages, translations

Permet aux plugins d’ajouter/supprimer des langues des langues configurables du système.
- log, systemlog
Appelé pour tous les événements déclenchés par le plugin
system_log. Utilisé en interne parElgg\SystemLog\Logger::log()pour remplir la tablesystem_log.- login_url, site

Filtre l’URL de connexion du site. Le tableau
$paramscontient un tableau d’éléments de requête ajoutés à l’URL de connexion par le script appelant. L’événement doit renvoyer une URL absolue de la page de connexion.- output:before, page

Dans
elgg_view_page(), ceci filtre$varsavant qu’il soit transmis à la vue de la coquille de la page (page/<page_shell>). Pour arrêter d’envoyer l’entête X-Frame-Options, désenregistrez le gestionnaireElgg\Page\SetXFrameOptionsHeaderHandler::classde cet événement.- output, page

Dans
elgg_view_page(), ceci filtre la valeur de retour renvoyée.- parameters, menu:<menu_name>

Déclenché par
elgg_view_menu(). Utilisé pour modifier les variables de menu (comme l’ordre de tri) avant le rendu.Le tableau
$paramsva contenir :name- nom du menusort_by- paramètre de tri préféréd’autres paramètres passés à
elgg_view_menu()
- plugins_load, system

Déclenché avant que les plugins ne soient chargés. Rarement utilisé. init, system est utilisé à la place. Peut être utilisé pour charger des bibliothèques supplémentaires.
- plugins_boot, system

Déclenché juste après le chargement des plugins. Rarement utilisé. init, system est utilisé à la place.
- prepare, html

Déclenché par
elgg_format_html()et utilisé pour préparer du HTML non sûr.La valeur
$returnest un tableau :html- La chaîne de caractères HTML en train d’être préparéeoptions- Options de préparation
- prepare, menu:<menu_name>

Filtre le tableau des sections de menu avant leur affichage. Chaque section est une touche de chaîne mappée à une zone d’éléments de menu. Il s’agit d’un bon événement pour trier, ajouter, supprimer et modifier des éléments de menu. Déclenché par
elgg_view_menu()etelgg()->menus->prepareMenu().Le tableau
$paramsva contenir :selected_item-ElggMenuItemsélectionné dans le menu, le cas échéant
La valeur de retour est une instance de
\Elgg\Menu\PreparedMenu. Le menu préparé est une collection d’objets\Elgg\Menu\MenuSection, qui sont à leur tour des collections d’objets\ElggMenuItem.- prepare, menu:<menu_name>:<type>:<subtype>

Version plus granulaire de l’événement de menu déclenché avant l’événement prepare, menu:<menu_name>.
Uniquement appliqué si les paramètres de menu contiennent - params[“entity”] avec un
\ElggEntity(<type>est\ElggEntity::typeet<subtype>est\ElggEntity::subtype` `) ou - params['annotation'] avec un ``\ElggAnnotation(<type>est\ElggAnnotation::getType()et<subtype>est\ElggAnnotation::getSubtype() ``) ou - params['relationship'] avec un ``\ElggRelationship(<type>est\ElggRelationship::getType()et<subtype>est\ElggRelationship::getSubtype( ))- ready, system

Déclenché après l’événement
init, system. Tous les plugins sont entièrement chargés et le moteur est prêt à servir les pages.- regenerate_site_secret:before, system
Renvoyez false pour annuler la régénération du secret du site. Vous devez également fournir un message à l’utilisateur.
- regenerate_site_secret:after, system
Déclenché après que le secret du site a été régénéré.
- register, menu:<menu_name>

Filtre la liste initiale des éléments de menu issus de la configuration, avant que le menu n’ait été divisé en sections. Déclenché par
elgg_view_menu()etelgg()->menus->getMenu().Le tableau
$paramscontiendra les paramètres renvoyés par l’événementparameters, menu:<menu_name>.La valeur de retour est une instance de
\Elgg\Menu\MenuItemscontenant des objets\ElggMenuItem.Les gestionnaires d’événements peuvent ajouter/supprimer des éléments à la collection à l’aide de l’API collection, ainsi que des opérations d’accès au tableau.
- register, menu:<menu_name>:<type>:<subtype>

Version plus granulaire de l’événement de menu déclenché avant l’événement prepare, menu:<menu_name>.
Uniquement appliqué si les paramètres de menu contiennent - params[“entity”] avec un
\ElggEntity(<type>est\ElggEntity::typeet<subtype>est\ElggEntity::subtype` `) ou - params['annotation'] avec un ``\ElggAnnotation(<type>est\ElggAnnotation::getType()et<subtype>est\ElggAnnotation::getSubtype() ``) ou - params['relationship'] avec un ``\ElggRelationship(<type>est\ElggRelationship::getType()et<subtype>est\ElggRelationship::getSubtype( ))- register, menu:filter:<filter_id>

Permet aux plugins de modifier les onglets de filtre de mise en page sur les mises en page qui spécifient le paramètre
<filter_id>. Les paramètres et les valeurs de retour sont les mêmes que dans l’événementregister, menu:<menu_name>Si
filter_idvautfilter(valeur par défaut), alors les ongletsall,mineetfriendsseront générés sur la base d’informations fournies, ou seront testés pour des routes similaires à la route actuelle.params[“all_link”] sera utilisé pour l’onglet
allparams[“mine_link”] sera utilisé pour l’onglet
mineparams[“friends_link”] sera utilisé pour l’onglet
friend
Si ce qui précède n’est pas fourni, une route sera essayée en fonction de
params['entity_type']etparams['entity_subtype']. S’il n’est pas fourni,entity_typeetentity_subtypeseront basés sur la détection de la route actuelle. Par exemple, si la route actuelle estcollection:object:blog:allentity_typeseraobjectetentity_subtypeserablog. - L’ongletallsera basé sur la routecollection:<entity_type>:<entity_subtype>:all- L’ongletminesera basé sur la routecollection:<entity_type>:<entity_subtype>:owner- L’onglet `` friend`` sera basé sur la routecollection:<entity_type>:<entity_subtype>:friendsSi les routes ne sont pas enregistrés, les onglets n’apparaîtront pas.
- registration_url, site

Filtre l’URL d’inscription du site. Peut être utilisé par les plugins pour attacher des codes d’invitation, des codes de référence, etc. à l’URL d’inscription. Le tableau
$paramscontient un tableau d’éléments de requête ajoutés à l’URL d’enregistrement par le script appelant. L’événement doit renvoyer une URL absolue vers la page d’inscription.- reload:after, translations
Déclenché après que les traductions ont été (re)chargées.
- sanitize, input

Filtre l’entrée GET et POST. Ceci est utilisé par
get_input()pour assainir les entrées utilisateur.- seeds, database

Permet aux plugins d’enregistrer leurs propres génération de données pour l’ensemencement de la base de données. Les graines remplissent la base de données avec de fausses entités à des fins de test. Les plugins peuvent enregistrer leurs propres graines : Les graines doivent étendre la classe
\Elgg\Database\Seeds\Seedpour qu’elle soit exécutable viaelgg-cli database:seed.- send:before, http_response
Déclenché avant l’envoi d’une réponse HTTP. Les gestionnaires recevront une instance de la réponse SymfonyComponentHttpFoundationResponse qui doit être envoyée au demandeur. Les gestionnaires peuvent mettre fin à l’événement et empêcher l’envoi de la réponse en renvoyant false.
- send:after, http_response
Déclenché après l’envoi d’une réponse HTTP. Les gestionnaires recevront une instance de la réponse SymfonyComponentHttpFoundationResponse qui a été envoyée au demandeur.
- shutdown, system
Déclenché après l’envoi de la page à l’utilisateur. Des opérations coûteuses peuvent être faites ici sans que cela impacte sur le délai perçu par l’utilisateur.
Note
Selon la configuration de votre serveur, la sortie PHP peut ne pas être affichée avant la fin du processus. Cela signifie que tous les processus longs retarderont toujours le chargement de la page.
Note
This event is preferred above using register_shutdown_function as you may not have access
to all the Elgg services (eg. database) in the shutdown function but you will in the event.
Note
La session Elgg est déjà terminée avant cet événement. La manipulation de la session n’est donc plus possible à ce moment.
- simplecache:generate, <view>

Filtre la sortie de la vue pour une URL
/cachequand simplecache est activé.- upgrade, system
Déclenché une fois la mise à niveau du système terminée. Tous les scripts de mise à niveau ont été exécutés, cependant les caches n’ont pas été effacés.
- upgrade:execute, system

Déclenché lors de l’exécution d’un
ElggUpgrade. L’objet$objectde l’événement est leElggUpgrade.
Événements utilisateur
- ban, user
Déclenché avant qu’un utilisateur ne soit banni. Retourner false pour empêcher cette action.
- change:email, user

Déclenché avant la modification de l’adresse e-mail de l’utilisateur. Permet aux plugins d’implémenter une logique supplémentaire requise pour modifier l’e-mail, par ex. une validation supplémentaire par e-mail. Le gestionnaire d’événements doit renvoyer false pour empêcher que l’e-mail soit modifié immédiatement.
Le tableau
$paramsva contenir :user-\ElggUser, dont les paramètres ont été sauvegardésemail- Adresse e-mail qui passe les vérifications sanitairesrequest-\Elgg\Requestvers le contrôleur de l’action
- invalidate:after, user
Déclenché lorsque la validation du compte de l’utilisateur a été révoquée.
- login, user

Déclenché après que l’utilisateur se soit connecté.
- login:forward, user

Filtre l’URL vers laquelle l’utilisateur sera redirigé après la connexion.
- login:first, user
Déclenché après une connexion réussie. Uniquement s’il n’y a pas de connexion précédente.
- logout:after, user
Déclenché après que l’utilisateur se soit déconnecté.
- logout:before, user
Déclenché pendant la déconnexion. Renvoyer false empêche l’utilisateur de se déconnecter.
- make_admin, user
Déclenché avant qu’un utilisateur ne soit promu administrateur. Retourner false pour empêcher cette action.
- profileiconupdate, user
L’utilisateur a modifié son icône de profil
- profileupdate, user
L’utilisateur a modifié son profil
- register, user

Déclenché par l’action
registeraprès l’enregistrement de l’utilisateur. Renvoyezfalsepour supprimer l’utilisateur. Notez que la fonctionregister_userne déclenche pas cet événement. Les gestionnaires d’événements peuvent lancer\Elgg\Exceptions\Configuration\RegistrationExceptionavec un message d’erreur à afficher à l’utilisateur.Le tableau
$paramsva contenir :user- L’entité utilisateur nouvellement enregistréeTous les paramètres envoyés avec la requête à l’action (comprend
password,friend_guid,invitecode, etc.)
- registeruser:validate:email, all

Renvoie un booléen si la chaîne dans
$params['email']est une adresse email valide. Le gestionnaire d’événements peut lancer\Elgg\Exceptions\Configuration\RegistrationExceptionavec un message d’erreur à afficher à l’utilisateur.- registeruser:validate:password, all

Renvoie un booléen si la chaîne dans
$params['password']est un mot de passe valide. Le gestionnaire d’événements peut lancer une\Elgg\Exceptions\Configuration\RegistrationExceptionavec un message d’erreur à afficher à l’utilisateur.- registeruser:validate:username, all

Renvoie un booléen si la chaîne dans
$params['username']est un nom d’utilisateur valide. Le gestionnaire d’événements peut lancer une\Elgg\Exceptions\Configuration\RegistrationExceptionavec un message d’erreur à afficher à l’utilisateur.- remove_admin, user
Déclenché avant que le rôle d’administrateur ne soit retiré à un utilisateur. Retournez false pour l’éviter.
- unban, user
Déclenché avant qu’un utilisateur ne soit réintégré. Retournez false pour l’éviter.
- username:character_blacklist, user

Filtre la chaîne et supprime les caractères interdits pour valider le nom d’utilisateur lors de l’inscription. La valeur de retour doit être une chaîne composée des caractères refusés. La chaîne par défaut se trouve dans
$params['blacklist'].- usersettings:save, user

Déclenché dans l’action globale pour enregistrer les paramètres utilisateur. Le gestionnaire d’événements doit retourner
falsepour empêcher que les formulaires persistants ne soient effacés (c’est-à-dire pour indiquer que certaines valeurs n’ont pas été enregistrées). Ne renvoyez pastruedepuis votre gestionnaire d’événements, car vous écraseriez la sortie des autres événements, mais renvoyez plutôtnullpour indiquer une opération réussie.Le tableau
$paramsva contenir :user-\ElggUser, dont les paramètres ont été sauvegardésrequest-\Elgg\Requestvers le contrôleur de l’action
- validate, user
Lorsqu’un utilisateur s’inscrit, le compte de l’utilisateur est désactivé. Cet événement est déclenché pour permettre à un plugin de déterminer comment l’utilisateur doit être validé (par exemple, par le biais d’un e-mail avec un lien de validation).
- validate:after, user
Déclenché lorsque le compte utilisateur a été validé.
Événements des relations
- create, relationship

Déclenché durant la création d’une relation.
- delete, relationship

Déclenché durant la suppression d’une relation.
- join, group
Déclenché après que l’utilisateur
$params['user']a rejoint le groupe$params['group'].- leave, group
Déclenché avant que l’utilisateur
$params['user']n’ait quitté le groupe$params['group'].
Événements des entités
- comments, <entity_type>

Déclenché dans
elgg_view_comments(). S’il renvoie du contenu, celui-ci remplace la vuepage/elements/comments.- comments:count, <entity_type>

Renvoie le nombre de commentaires sur
$params['entity'].- create, <entity type>
Déclenché pour les entités user, group, object et site après leur création. Déclenché juste avant l’événement
create:after, principalement pour des raisons de rétrocompatibilité. L’utilisation de l’événementcreate:afterest préférable.- create:after, <entity type>
Déclenché pour les entités user, group, object et site après la création.
- create:before, <entity type>
Déclenché pour les entités user, group, object et site avant la création. Renvoyez false pour empêcher la création de l’entité.
- delete, <entity type>

Déclenché lorsqu’une entité est marquée comme supprimée définitivement dans la base de données. Voir aussi Capacité de restauration
- disable, <entity type>
Déclenché avant qu’une entité soit désactivée. Retournez false pour éviter la désactivation.
- disable:after, <entity type>
Déclenché après qu’une entité a été désactivée.
- enable, <entity type>
Retournez false pour éviter l’activation.
- enable:after, <entity type>
Déclenché après qu’une entité a été activée.
- likes:count, <entity_type>

Renvoie le nombre de mentions J’aime pour
$params['entity'].- trash, <entity type>

Déclenché lorsqu’une entité est marquée comme supprimée dans la base de données. Voir aussi Capacité de restauration
- update, <entity type>
Déclenché avant une mise à jour pour les entités user, group, object et site. Renvoyez false pour empêcher la mise à jour. La méthode d’entité
getOriginalAttributes()peut être utilisée pour identifier les attributs qui ont changé depuis la dernière fois que l’entité a été enregistrée.- update:after, <entity type>
Déclenché après une mise à jour pour les entités user, group, object et site. La méthode d’entité
getOriginalAttributes()peut être utilisée pour identifier les attributs qui ont changé depuis la dernière fois que l’entité a été enregistrée.
Événements des métadonnées
- create, metadata
Appelé après qu’une métadonnée a été créée. Retournez false pour supprimer la métadonnée qui vient d’être créée.
- delete, metadata
Appelé avant que métadonnée soit supprimée. Retournez false pour éviter la suppression.
- update, metadata
Appelé après qu’une métadonnée a été modifiée. Retournez false pour supprimer la métadonnée.
Événements des annotations
- annotate, <entity type>
Appelé avant que l’annotation soit créée. Retournez false pour éviter l’annotation de cette entité.
- create, annotation
Appelé après que l’annotation a été créée. Retournez false pour supprimer l’annotation.
- delete, annotation
Appelé avant que l’annotation soit supprimée. Retournez false pour éviter la suppression.
- update, annotation
Appelé après qu’une annotation a été modifiée. Retournez false pour supprimer l’annotation.
Événements de la rivière
- create:after, river
Appelé après qu’un élément de la rivière a été créé.
- create:before, river
Appelé avant que l’élément river ne soit enregistré dans la base de données. Renvoie
falsepour empêcher la création de l’élément.- delete:after, river
Déclenché après qu’un élément de la rivière a été supprimé.
- delete:before, river
Déclenché avant qu’un élément de la rivière soit supprimé. Renvoyer false annule la suppression.
Événements des accès
- access_collection:url, access_collection

Peut être utilisé pour filtrer l’URL de la collection d’accès.
Le tableau
$paramsva contenir :access_collection- ElggAccessCollection
- access_collection:name, access_collection

Peut être utilisé pour filtrer le nom affiché (niveau d’accès lisible) de la collection d’accès.
Le tableau
$paramsva contenir :access_collection- ElggAccessCollection
- access:collections:read, user

Filtre le tableau des IDs d’accès que l’utilisateur
$params['user_id']peut voir.Avertissement
Le gestionnaire doit soit ne pas utiliser les parties de l’API qui utilisent le système d’accès (déclenchant à nouveau l’événement), soit ignorer le deuxième appel. Sinon, une boucle infinie sera créée.
- access:collections:write, user

Filtre un tableau d’IDs d’accès sur lesquels l’utilisateur
$params['user_id']peut écrire. Danselgg_get_write_access_array(), cet événement filtre la valeur de retour, afin qu’il puisse être utilisé pour modifier les options disponibles dans la vueinput/access. Pour les plugins principaux, la valeur « input_params » a les clés « entity » (ElggEntity|false), « entity_type » (string), « entity_subtype » (string), « container_guid » (int) fournies. Une valeur d’entité vide signifie généralement que le formulaire doit créer un nouvel objet.Avertissement
Le gestionnaire doit soit ne pas utiliser les parties de l’API qui utilisent le système d’accès (déclenchant à nouveau l’événement), soit ignorer le deuxième appel. Sinon, une boucle infinie sera créée.
- access:collections:write:subtypes, user

Renvoie un tableau de sous-types de collection d’accès à utiliser lors de la récupération des collections d’accès appartenant à un utilisateur, dans le cadre de la fonction
elgg_get_write_access_array().- access:collections:add_user, collection

Déclenché avant d’ajouter l’utilisateur
$params['user_id']à la collection$params['collection_id']. Retournez false pour éviter l’ajout.- access:collections:remove_user, collection

Déclenché avant de supprimer l’utilisateur
$params[’user_id']de la collection$params['collection_id']. Renvoyez false pour éviter la suppression.- create, access_collection

Déclenché durant la création d’une
ElggAccessCollection.- delete, access_collection

Déclenché durant la suppression d’une
ElggAccessCollection.- get_sql, access

Filtre les clauses SQL limitant/autorisant l’accès aux entités et aux annotations.
Note
L’événement est déclenché même si l’accès est ignoré. Les gestionnaires devront peut-être vérifier si l’accès est ignoré et retourner une réponse plus tôt, si les clauses ajoutées ne doivent s’appliquer qu’à des contextes à accès contrôlé.
La valeur
$returnest un tableau imbriqué deandset deors.$paramscomprend :table_alias- alias de la table principale utilisée dans la clause de sélectionignore_access- selon que les accès sont ignorés ou activésuse_enabled_clause- selon que les entités désactivées sont affichées/cachéesaccess_column- colonne de la table principale contenant l’ID de la collection d’accèsowner_guid_column- colonne de la table principale faisant référence au GUID du propriétaireguid_column- colonne de la table principale faisant référence au GUID de l’entitéenabled_column- colonne de la table principale faisant référence à l’état activé de l’entitéquery_builder- une instance deQueryBuilder
- update, access_collection

Déclenché durant la mise à jour d’une
ElggAccessCollection.
Événements des permissions
- container_logic_check, <entity_type>

Déclenché par
ElggEntity:canWriteToContainer()avant de déclencher les événementspermissions_checketcontainer_permissions_check. Contrairement aux événements des permissions, la vérification logique peut être utilisée pour empêcher certains types d’entités d’être contenus par d’autres types d’entités, par ex. les réponses aux discussions ne doivent être contenues que par les discussions. Cet événement peut également être utilisé pour appliquer une logique d’état, par ex. pour interdire les nouvelles réponses pour les discussions fermées.Le gestionnaire devrait renvoyer
falsepour empêcher une entité de contenir une autre entité. La valeur par défaut transmise à l’événement estnull, donc le gestionnaire peut vérifier si un autre événement a modifié la valeur en vérifiant si la valeur de retour est définie. Si cet événement renvoiefalse, les événementscontainer_permissions_checketpermissions_checkne seront pas déclenchés.Le tableau
$paramsva contenir :container- Une entité qui sera utilisée comme conteneuruser- L’utilisateur qui sera propriétaire de l’entité à écrire dans le conteneursubtype- Subtype de l’entité à écrire dans le conteneur (le type d’entité est déduit à partir du type d’événement)
- container_permissions_check, <entity_type>

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut utiliser l’entité$params['container']comme conteneur pour une entité<entity_type>et le sous-type$params['subtype'].Dans les rares cas où une entité est créée sans le
container_guidni leowner_guidcorrespondant à l’utilisateur connecté, cet événement est appelé deux fois, et lors du premier appel$params['container ']sera le propriétaire, et pas le véritable conteneur de l’entité.Le tableau
$paramsva contenir :container- Une entité qui sera utilisée comme conteneuruser- L’utilisateur qui sera propriétaire de l’entité à écrire dans le conteneursubtype- Subtype de l’entité à écrire dans le conteneur (le type d’entité est déduit à partir du type d’événement)
- permissions_check, <entity_type>

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut modifier l’entité$params['entity'].- permissions_check:delete, <entity_type>

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut supprimer l’entité$params['entity']. Vaut par défaut$entity->canEdit().- permissions_check:delete, river

Renvoyez un booléen pour indiquer si l’utilisateur
$params['user']peut supprimer l’élément de la rivière$params['item']. Par défaut àtruepour les administrateurs etfalsepour les autres utilisateurs.- permissions_check:download, file

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut télécharger le fichier dans$params['entity'].Le tableau
$paramsva contenir :entity- Instance deElggFileuser- Utilisateur qui va télécharger le fichier
- permissions_check, widget_layout

Renvoie un booléen pour indiquer si
$params['user']peut modifier les widgets dans le contexte passé par$params['context']et avec le propriétaire de page$params['page_owner'].- permissions_check:comment, <entity_type>

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut commenter l’entité$params['entity'].- permissions_check:annotate:<annotation_name>, <entity_type>

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut créer une annotation<annotation_name>sur l’entité$params['entity']. Si l’utilisateur est connecté, la valeur par défaut est true.Note
Ceci est appelé avant l’événement plus général
permissions_check:annotate, et sa valeur de retour est la valeur initiale de cet événement.- permissions_check:annotate, <entity_type>

Renvoie un booléen pour indiquer si l’utilisateur
$params['user']peut créer une annotation$params['annotation_name']sur l’entité$params['entity']. Si l’utilisateur est connecté, la valeur par défaut est true.- api_key, use

Déclenché dans la classe
\Elgg\WebServices\PAM\API\APIKey. Renvoyer false empêche l’authentification de la clef.- gatekeeper, <entity_type>:<entity_subtype>

Filtre le résultat de
elgg_entity_gatekeeper()pour bloquer ou autoriser l’accès à une entité à laquelle l’utilisateur aurait ou n’aurait pas accès autrement. Un gestionnaire peut renvoyerfalseou une instance de\Elgg\Exceptions\HttpExceptionpour empêcher l’accès à une entité. Un gestionnaire peut retournertruepour remplacer le résultat du gatekeeper. Important l’entité reçue par cet événement est récupérée en ignorant les accès, et en incluant les entités désactivées, vous devez donc faire attention à ne pas contourner le système d’accès.le tableau
$paramscomprend :entity- Entité à laquelle on accèdeuser- L’utilisateur qui accède à l’entité (nullimplique l’utilisateur connecté)
Événements des notifications
- dequeue, notifications
Appelé lorsqu’un objet ElggData est supprimé de la file d’attente des notifications pour être traité
- enqueue, notifications
Appelé lorsqu’un objet ElggData est en train d’être ajouté à la file d’attente des notifications
Les événements suivants sont répertoriés chronologiquement au cours de la durée de vie de l’événement de notification. Notez que tous les événements ne s’appliquent pas aux notifications instantanées.
- enqueue, notification

Peut être utilisé pour empêcher un événement de notification d’envoyer des notifications subscription. Le gestionnaire d’événements doit renvoyer
falsepour empêcher qu’un événement de notification d’abonnement ne soit mis en file d’attente.le tableau
$paramscomprend :object- objet de l’événement de notificationaction- action qui a déclenché l’événement de notification. Par exemple, correspond àpublishquandelgg_trigger_event('publish', 'object', $object)est appelé
- get, subscriptions

Filtre les abonnés à l’événement de notification. S’applique aux abonnements subscriptions et aux notifications instantanées instant. Dans le cas d’un événement d’abonnement, la liste des abonnés comprend par défaut les utilisateurs abonnés à l’entité conteneur de l’objet événement. Dans le cas d’une notification instantanée, la liste des abonnés comprend l’utilisateur transmis comme destinataire à
elgg_notify_user()IMPORTANT Validez toujours les types d’événement, d’objet et/ou d’action de notification avant d’ajouter de nouveaux destinataires pour vous assurer que vous n’envoyez pas accidentellement des notifications à des destinataires inattendus. Prenons une situation dans laquelle un plugin de mentions envoie une notification instantanée à un utilisateur mentionné - tout événement agissant sur un sujet ou un objet sans valider un événement ou un type d’action (par exemple inclure un propriétaire du fil de discussion d’origine) pourrait finir par envoyer des notifications aux mauvais utilisateurs.
le tableau
$paramscomprend :event- instance de\Elgg\Notifications\NotificationEventqui décrit l’événement de notificationorigin-subscriptions_serviceouinstant_notificationsmethods_override- préférence de méthode de remise pour les notifications instantanéeshandler-\Elgg\Notifications\NotificationEventHandlerinstance that is handling this notification
Les gestionnaires doivent renvoyer un tableau de la forme :
array(
<user guid> => array('sms'),
<user_guid2> => array('email', 'sms', 'ajax')
);
- send:before, notifications

Déclenché avant le traitement de la file d’attente des événements de notification. Peut être utilisé pour mettre fin à l’événement de notification. S’applique aux notifications d’abonnement subscriptions et instantanées instant.
le tableau
$paramscomprend :event- instance de\Elgg\Notifications\NotificationEventqui décrit l’événement de notificationsubscriptions- une liste d’abonnements. Voir l’événement'get', 'subscriptions'pour plus de détailshandler-\Elgg\Notifications\NotificationEventHandlerinstance that is handling this notification
- prepare, notification

Un événement de haut niveau qui peut être utilisé pour modifier une instance de
\Elgg\Notifications\Notificationavant qu’elle ne soit envoyée à l’utilisateur. S’applique aux abonnements et aux notifications instantanées. Cet événement est déclenché avant une'prepare', 'notification:<action>:<entity_type>:<entity_subtype>'plus granulaire et après'send:before', 'notifications. Le gestionnaire d’événements doit renvoyer un objet de notification modifié.$paramspeut varier en fonction du type de notification et peut comprendre :event- instance de\Elgg\Notifications\NotificationEventqui décrit l’événement de notificationobject- objet de la notificationevent. Peut êtrenullpour les notifications instantanéesaction- action qui a déclenché la notificationevent. Peut avoir pour valeur par défautnotify_userpour les notifications instantanéesmethod- méthode d’envoi (par ex.email,site)sender- expéditeurrecipient- destinatairelanguage- langue de la notification (langue du destinataire)origin-subscriptions_serviceouinstant_notificationshandler-\Elgg\Notifications\NotificationEventHandlerinstance that is handling this notification
- prepare, notification:<action>:<entity_type>:<entity_type>

Un événement granulaire qui peut être utilisé pour filtrer une notification
\Elgg\Notifications\Notificationavant qu’elle ne soit envoyée à l’utilisateur. S’applique aux subscriptions et aux notifications instant. En cas de notifications instantanées qui n’ont pas reçu d’objet, l’événement sera appelé'prepare', 'notification:<action>'. Dans le cas de notifications instantanées qui n’ont pas reçu de nom d’action, il sera par défautnotify_user.$paramscomprend :event- instance de\Elgg\Notifications\NotificationEventqui décrit l’événement de notificationobject- objet de la notificationevent. Peut êtrenullpour les notifications instantanéesaction- action qui a déclenché la notificationevent. Peut avoir pour valeur par défautnotify_userpour les notifications instantanéesmethod- méthode d’envoi (par ex.email,site)sender- expéditeurrecipient- destinatairelanguage- langue de la notification (langue du destinataire)origin-subscriptions_serviceouinstant_notificationshandler-\Elgg\Notifications\NotificationEventHandlerinstance that is handling this notification
- format, notification:<method>

Cet événement peut être utilisé pour formater une notification avant qu’elle soit transmise à l’événement
'send', 'notification:<method>'. S’applique aux notifications subscriptions et instant. Le gestionnaire d’événement doit renvoyer une instance de\Elgg\Notifications\Notification. L’événement ne reçoit aucun$params. Quelques cas d’utilisation :Supprime les balises du titre et du corps de la notification pour les notifications par e-mail en texte brut
Styles HTML en ligne pour les e-mails de notification HTML
Envelopper la notification dans un modèle, ajouter une signature, etc.
- send, notification:<method>

Délivre une notification. S’applique aux notifications d’abonnement subscriptions et instantanées instant. Le gestionnaire doit retourner
trueoufalsepour indiquer le résultat de la remise.le tableau
$paramscomprend :notification- un objet de notification\Elgg\Notifications\Notification
- send:after, notifications

Déclenché après que toutes les notifications dans la file d’attente pour l’événement notifications ont été traitées. S’applique aux notifications d’abonnement subscriptions et instantanées instant.
le tableau
$paramscomprend :event- instance de\Elgg\Notifications\NotificationEventqui décrit l’événement de notificationsubscriptions- une liste d’abonnements. Voir l’événement'get', 'subscriptions'pour plus de détailsdeliveries- une matrice des statuts de remise par utilisateur pour chaque méthode de livraisonhandler-\Elgg\Notifications\NotificationEventHandlerinstance that is handling this notification
E-mails
- prepare, system:email

Déclenché par
elgg_send_email(). S’applique à tous les emails système et de notification sortants. Cet événement vous permet de modifier une instance de\Elgg\Emailavant qu’elle soit transmise à l’agent de transport de courrier électronique. Cet événement peut être utilisé pour modifier l’expéditeur, le destinataire, l’objet, le corps et/ou les entêtes de l’email.$paramsest vide. La valeur de retour$returnest une instance de\Elgg\Email.- transport, system:email

Déclenché par
elgg_send_email(). S’applique à tous les emails système et de notification sortants. Cet événement vous permet d’implémenter un transport de courrier électronique personnalisé, par ex. envoyer des emails via un service proxy tiers tel que SendGrid ou Mailgun. Le gestionnaire doit retournertruepour indiquer que l’email a bien été transporté.$paramscontient :email- Une instance de\Elgg\Email
- validate, system:email

Déclenché par
elgg_send_email(). S’applique à tous les emails système et de notification sortants. Cet événement vous permet de supprimer ou de mettre sur liste blanche les emails sortants, par ex. lorsque le site est en mode développement. Le gestionnaire doit retournerfalsepour supprimer l’envoi du courrier électronique.$paramscontient :email- Une instance de\Elgg\Email
- message, system:email

Triggered by the default email transport handler (Elgg uses
symfomy/mailer). Applies to all outgoing system and notification emails that were not transported using the transport, system:email event. This event allows you to alter an instance of\Symfony\Component\Mime\Emailbefore it is passed to the Symfony email transport.$paramscontient :email- Une instance de\Elgg\Email
Événements des fichiers
- download:url, file

- Permet aux plugins de filtrer l’URL de téléchargement du fichier.
Par défaut, l’URL de téléchargement est générée par le service de fichiers.
le tableau
$paramscomprend :entity- instance deElggFileuse_cookie- utiliser ou non un cookie pour sécuriser le lien de téléchargementexpires- une représentation sous forme de chaîne indiquant quand le lien de téléchargement doit expirer
- inline:url, file

- Permet aux plugins de filtrer l’URL en ligne du fichier image.
Par défaut, l’URL en ligne - inline - est générée par le service de fichiers.
le tableau
$paramscomprend :entity- instance deElggFileuse_cookie- utiliser ou non un cookie pour sécuriser le lien de téléchargementexpires- une représentation sous forme de chaîne indiquant quand le lien de téléchargement doit expirer
- mime_type, file

Renvoie le type MIME pour le nom de fichier
$params['filename']avec le nom de fichier original$params['original_filename']et avec le type MIME détecté par défaut de$params['default'].- simple_type, file

L’événement fournit
$params['mime_type'](par exempleapplication/pdfouimage/jpeg) et détermine une catégorie globale commedocumentouimage. Le plugin file fourni et les autres plugins tiers stockent généralement les métadonnéessimpletypesur les entités de fichiers et les utilisent lors du service d’icônes et de la construction de filtres et de menusege*.- upload, file

Permet aux plugins d’implémenter une logique personnalisée pour déplacer un fichier téléchargé dans une instance de ElggFile. Le gestionnaire doit renvoyer
truepour indiquer que le fichier téléchargé a été déplacé. Le gestionnaire doit renvoyerfalsepour indiquer que le fichier téléchargé n’a pas pu être déplacé. D’autres valeurs de retour indiqueront queElggFile::acceptUploadedFiledevrait poursuivre la logique de téléchargement par défaut.le tableau
$paramscomprend :file- instance deElggFiledans laquelle écrireupload- instance deUploadedFilede Symfony
- upload:after, file
Appelé après qu’un fichier téléchargé a été écrit dans le répertoire de fichiers. Reçoit une instance du
ElggFiledans lequel le fichier téléchargé a été écrit. LeElggFilepeut ou non être une entité avec un GUID.
Événements des actions
- action:validate, <action>

Déclenchement avant l’exécution du script d’action/du contrôleur. Cet événement doit être utilisé pour valider/modifier la saisie de l’utilisateur, avant de poursuivre l’action. Le gestionnaire d’événements peut lancer une instance de
\Elgg\Exceptions\Http\ValidationExceptionou renvoyerfalsepour interrompre l’exécution.le tableau
$paramscomprend :request- instance de\Elgg\Request
- action_gatekeeper:permissions:check, all

Déclenché après la validation d’un jeton CSRF. Renvoyez false pour empêcher la validation.
Ajax
- ajax_results, <event_type>*

When the
elgg/Ajaxmodule is used, this event gives access to the results object so it can be altered/extended. Handlers receive the request via$params['request'].The event type depends on the method call:
méthode elgg/Ajax
type d’événement
action()
action:<action_name>
path()
<route_name>
view()
view:<view_name>
form()
form:<action_name>
Routage
- response, <route_name>

Filter an instance of
\Elgg\Http\ResponseBuilderbefore it is sent to the client. This event type will only be used if the path did not start with « action/ » or « ajax/ ». This event can be used to modify response content, status code, forward URL, or set additional response headers. Handlers receive the request via$params['request'].- response, form:<form_name>

Filter an instance of
\Elgg\Http\ResponseBuilderbefore it is sent to the client. Applies to request to/ajax/form/<form_name>. This event can be used to modify response content, status code, forward URL, or set additional response headers. Handlers receive the request via$params['request'].- response, view:<view_name>

Filter an instance of
\Elgg\Http\ResponseBuilderbefore it is sent to the client. Applies to request to/ajax/view/<view_name>. This event can be used to modify response content, status code, forward URL, or set additional response headers. Handlers receive the request via$params['request'].- route:config, <route_name>

Permet de modifier la configuration de la route avant son enregistrement. Cet événement peut être utilisé pour modifier le chemin, les valeurs par défaut, les pré-requis, ainsi que pour définir/supprimer un middleware. Veuillez noter que le gestionnaire de cet événement doit être enregistré en dehors du gestionnaire d’événement
init, car les routes principales sont enregistrées lors de l’événementplugins_boot.- route:rewrite, <identifier>

Permet de modifier le chemin de l’URL relative au site pour une demande entrante. Voir Routage pour plus de détails. Veuillez noter que le gestionnaire de cet événement doit être enregistré en dehors du gestionnaire d’événement
init, car les réécritures de route ont lieu après la fin de l’événementplugins_boot.- route:match, system

When no route is registered for a given URL path this event is triggered to allow developers to provide a routing configuration for the given path. This will allow more generic URLs to be handled without the need to register every individual route.
le tableau
$paramscomprend :pathinfo- string with the URL path to be matchedThe expected result is an array with a route definition. See Routage for details. Also the result must contain a key
routewith the name of the route.
Vues
- attributes, htmlawed

Permet de modifier des attributs individuels.
- allowed_styles, htmlawed

Configure les styles autorisés pour HTMLawed.
- config, htmlawed

Filtre le tableau HTMLawed
$config.- form:prepare:fields, <form_name>

Préparez les valeurs des champs à utiliser dans le formulaire. Par ex. lors de la modification d’un blog, remplissez-le avec les valeurs actuelles du blog. Les valeurs du formulaire collant seront automatiquement ajoutées aux valeurs des champs (si disponibles).
- head, page

Dans
elgg_view_page(), filtre la valeur de retour de$vars['head'], qui contient un tableau avec les clefstitle,metasetlinks, oùmetasest un tableau d’éléments à formater sous la forme de balises d’entête<meta>, etlinksest un tableau d’éléments à formater sous la forme de baslises d’entête<link>. Chaque élément meta et link contient un ensemble de paires de clés/valeurs qui sont formatées en attributs de balise html, par ex.
return [
'title' => 'Current page title',
'metas' => [
'viewport' => [
'name' => 'viewport',
'content' => 'width=device-width',
]
],
'links' => [
'rss' => [
'rel' => 'alternative',
'type' => 'application/rss+xml',
'title' => 'RSS',
'href' => elgg_format_url($url),
],
'icon-16' => [
'rel' => 'icon',
'sizes' => '16x16',
'type' => 'image/png',
'href' => elgg_get_simplecache_url('graphics/favicon-16.png'),
],
],
];
- layout, page

Dans
elgg_view_layout(), filtre le nom de la disposition. Le tableau$paramscomprend :identifier- identifiant de la page en cours de rendusegments- Segments d’URL de la page en cours de renduautres
$varsreçues parelgg_view_layout()
- shell, page

Dans
elgg_view_page(), filtre le nom de la coquille - page shell - de la page- spec, htmlawed

Filtre la chaîne HTMLawed
$spec(vide par défaut).- table_columns:call, <name>

Lorsque la méthode
elgg()->table_columns->$name()est appelée, cet événement est appelé pour permettre aux plugins de remplacer ou de fournir une implémentation. Les gestionnaires reçoivent les arguments de la méthode via$params['arguments']et doivent renvoyer une instance deElgg\Views\TableColumns’ils souhaitent spécifier la colonne directement.- view, <view_name>

Filtre le contenu renvoyé par la vue
- view_vars, <view_name>

Filtre le tableau
$varspassé à la vue
Recherche
- search:config, search_types

Implémenté dans le plugin search. Filtre un tableau de types de recherche personnalisés. Cela permet aux plugins d’ajouter des types de recherche personnalisés (par ex. une recherche par mots-clefs ou par localisation géographique). L’ajout d’un type de recherche personnalisé permettra d’étendre l’interface utilisateur du plugin de recherche avec des liens et des listes appropriés.
- search:config, type_subtype_pairs

Implémenté dans le plugin search. Filtre les paires de types/sous-types d’entités avant l’exécution de la recherche d’entité. Permet aux plugins de supprimer certains types/sous-types d’entités des résultats de recherche, de regrouper plusieurs sous-types, ou de réorganiser des sections de recherche.
- search:fields, <entity_type>

Déclenché par
elgg_search(). Filtre les champs de recherche avant que les clauses de recherche ne soient préparées. La valeur$returncontient un tableau avec les noms de chaque type de propriété d’entité, qui devrait être comparé à la requête de recherche. Le tableau$paramscontient un tableau de paramètres de recherche transmis et filtrés parelgg_search().
return [
'attributes' => [],
'metadata' => ['title', 'description'],
'annotations' => ['revision'],
];
- search:fields, <entity_type>:<entity_subtype>

Voyez search:fields, <entity_type>
- search:fields, <search_type>

Voyez search:fields, <entity_type>
- search:format, entity

Implémenté dans le plugin search. Permet aux plugins de renseigner les données volatiles de l’entité avant qu’elles ne soient transmises à la vue de recherche. Ceci est utilisé pour mettre en surbrillance les correspondances de la recherche, extraire les sous-chaînes pertinentes dans les champs de texte long, etc.
- search:options, <entity_type>

Déclenché par
elgg_search(). Prépare les clauses de recherche (options) à transmettre àelgg_get_entities().- search:options, <entity_type>:<entity_subtype>

Voyez search:options, <entity_type>
- search:options, <search_type>

Voyez search:options, <entity_type>
- search:params, <search_type>

Déclenché par
elgg_search(). Filtre les paramètres de recherche (requête, tri, champs de recherche, etc.) avant que les clauses de recherche ne soient préparées pour un type de recherche donné. Le noyau de Elgg ne prend en charge que le type de rechercheentities.- search:results, <search_type>

Déclenché par
elgg_search(). Reçoit les options normalisées adaptées à l’appelelgg_get_entities()et doit renvoyer un tableau d’entités correspondant aux options de recherche. Cet événement est conçu pour être utilisé par des plugins intégrant des services d’indexation tiers, tels que Solr et Elasticsearch.
Autres
- config, comments_per_page

Filtre le nombre de commentaires affichés par page. La valeur par défaut est 25.
$params['entity']contiendra l’entité contenant ou null si elle n’est pas fournie. Utilisezelgg_comments_per_page()pour obtenir la valeur.- config, comments_latest_first

Filtre l’ordre des commentaires. Vaut
truepar défaut pour le plus récent en premier.$params['entity']indique l’entité contenante, ou null si elle n’est pas fournie.- default, access

Dans
elgg_get_default_access(), cet événement filtre la valeur de retour, afin de pouvoir l’utiliser pour modifier la valeur par défaut dans la vue input/access. Pour les plugins principaux, la valeur « input_params » fournit les clés « entity » (ElggEntity|false), « entity_type » (string), « entity_subtype » (string), « container_guid » (int). Une valeur d’entité vide signifie généralement que le formulaire doit créer un nouvel objet.- classes, icon

Peut être utilisé pour filtrer les classes CSS appliquées aux glyphes d’icônes. Par défaut, Elgg utilise FontAwesome. Les plugins peuvent utiliser cet événement pour passer à une autre famille de polices et remapper les classes d’icônes.
- entity:icon:sizes, <entity_type>

Déclenché par
elgg_get_icon_sizes(), définit le type d’entité/le sous-type de tailles d’icônes spécifiques.entity_subtypesera transmis dans le tableau$paramsà la fonction de rappel.- entity:<icon_type>:sizes, <entity_type>

Permet de filtrer les tailles pour les types d’icônes personnalisés, voir
entity:icon:sizes, <entity_type>.L’événement doit renvoyer un tableau associatif où les clés sont les noms des tailles d’icônes (par ex. « large ») et les valeurs sont des tableaux avec les clés suivantes :
w- Largeur de l’image en pixelsh- Hauteur de l’image en pixelssquare- Le ratio devrait-il être carré (true/false)upscale- L’image doit-elle être agrandie si elle est plus petite que la largeur et la hauteur indiquées (true/false)crop- Est-ce que le recadrage est autorisé sur cette taille d’image (true/false, par défaut : true)Si le tableau de configuration d’une taille d’image est vide, l’image sera enregistrée en tant que copie exacte de la source sans redimensionnement ni recadrage.
Exemple :
return [
'small' => [
'w' => 60,
'h' => 60,
'square' => true,
'upscale' => true,
],
'large' => [
'w' => 600,
'h' => 600,
'upscale' => false,
],
'original' => [],
];
- entity:icon:url, <entity_type>

Déclenché lorsque l’URL de l’icône de l’entité est demandée, voir les icônes des entités. La fonction de rappel doit renvoyer l’URL de l’icône de dimension
$params['size']pour l’entité$params['entity']. Les paramètres suivants sont disponibles via le tableau$params:- entity
Entité pour laquelle l’url de l’icône est demandée.
- viewtype
Le type de vue, par exemple
'default'ou'json'.- size
Dimension demandée, voir les icônes des entités pour les valeurs possibles.
Exemple sur comment mettre en place une icône par défaut Gravatar pour les utilisateurs qui n’ont pas encore téléchargé un avatar :
// Priority 600 so that handler is triggered after avatar handler
elgg_register_event_handler('entity:icon:url', 'user', 'gravatar_icon_handler', 600);
/**
* Default to icon from gravatar for users without avatar.
*
* @param \Elgg\Event $event 'entity:icon:url', 'user'
*
* @return string|null
*/
function gravatar_icon_handler(\Elgg\Event $event): ?string {
$entity = $event->getEntityParam();
$size = $event->getParam('size');
// Allow users to upload avatars
if ($entity->hasIcon($size)) {
return null;
}
// Generate gravatar hash for user email
$hash = md5(strtolower(trim($entity->email)));
// Default icon size
$size = '150x150';
// Use configured size if possible
$config = elgg_get_icon_sizes('user');
$key = $event->getParam('size');
if (isset($config[$key])) {
$size = $config[$key]['w'] . 'x' . $config[$key]['h'];
}
// Produce URL used to retrieve icon
return "https://www.gravatar.com/avatar/{$hash}?s={$size}";
}
- entity:<icon_type>:url, <entity_type>

Permet de filtrer les URLs pour les types d’icônes personnalisés, voir
entity:icon:url, <entity_type>- entity:icon:file, <entity_type>

Déclenché par
ElggEntity::getIcon(), et permet aux plugins de fournir un objet alternatifElggIconqui pointe vers un emplacement personnalisé de l’icône dans le répertoire de fichiers. Le gestionnaire doit renvoyer une instance deElggIconou une exception sera lancée.- entity:<icon_type>:file, <entity_type>

Permet de filtrer l’objet du fichier d’icône pour les types d’icônes personnalisés ; voyez
entity:icon:file, <entity_type>- entity:<icon_type>:prepare, <entity_type>

Déclenché par les méthodes
ElggEntity::saveIcon*()et peut être utilisé pour préparer une image à partir d’un fichier téléchargé ou lié. Cet événement peut être utilisé par ex. pour faire pivoter l’image avant qu’elle ne soit redimensionnée/recadrée, ou peut être utilisé pour extraire une image si le fichier téléchargé est une vidéo. Le gestionnaire doit renvoyer une instance deElggFileavec un simpletype qui se résout en image. La valeur$returntransmise à l’événement est une instance deElggFilequi pointe vers une copie temporaire du fichier téléchargé ou lié.Le tableau
$paramscontient :entity- entité propriétaire des icônesfile- fichier d’entrée original avant qu’il ne soit modifié par d’autres événements
- entity:<icon_type>:save, <entity_type>

Déclenché par les méthodes
ElggEntity:::saveIcon*(), et qui peut être utilisé pour appliquer une logique de manipulation d’image personnalisée pour redimensionner/recadrer les icônes. Le gestionnaire doit renvoyertruepour empêcher les API du noyau de redimensionner/rogner les icônes. Le tableau$paramscontient :entity- entité propriétaire des icônesfile- objetElggFilequi pointe vers le fichier image à utiliser comme source pour les icônesx1,y1,x2,y2- coordonnées de découpe
- entity:<icon_type>:saved, <entity_type>

Déclenché par les méthodes
ElggEntity::saveIcon*()une fois les icônes créées. Cet événement peut être utilisé par les plugins pour créer des éléments dans la rivière, mettre à jour les coordonnées de recadrage pour les types d’icônes personnalisés, etc. Le gestionnaire peut accéder aux icônes créées en utilisantElggEntity::getIcon(). Le tableau$paramscontient :entity- entité propriétaire des icônesx1,y1,x2,y2- coordonnées de découpe
- entity:<icon_type>:delete, <entity_type>

Déclenché par la méthode
ElggEntity::deleteIcon()et peut être utilisé pour les opérations de nettoyage. Cet événement est déclenché avant la suppression des icônes. Le gestionnaire peut renvoyerfalsepour empêcher la suppression des icônes. Le tableau$paramscontient :entity- entité propriétaire des icônes
- entity:url, <entity_type>:<entity_subtype>

Renvoie l’URL de l’entité
$params['entity']. Remarque : Généralement, il est préférable de remplacer la méthodegetUrl()d’ElggEntity. Cet événement doit être utilisé lorsqu’il n’est pas possible de sous-classer (comme si vous souhaitez étendre un plugin fourni sans remplacer de nombreuses vues).- entity:url, <entity_type>

Renvoie l’URL de l’entité
$params['entity']. Remarque : Généralement, il est préférable de remplacer la méthodegetUrl()d’ElggEntity. Cet événement doit être utilisé lorsqu’il n’est pas possible de sous-classer (comme si vous souhaitez étendre un plugin fourni sans remplacer de nombreuses vues).- extender:url, <annotation|metadata>

Renvoie l’URL de l’annotation ou les métadonnées
$params['extender'].- fields, <entity_type>:<entity_subtype>

Renvoie un tableau de champs utilisable par
elgg_view_field(). Le résultat doit être renvoyé sous la forme d’un tableau de champs. Il est nécessaire de fournirnameet#typepour chaque champ.
$result = [];
$result[] = [
'#type' => 'longtext',
'name' => 'description',
];
return $result;
- get_list, default_widgets

Filtre une liste de widgets par défaut à ajouter pour les utilisateurs nouvellement enregistrés. La liste est un tableau de tableaux dans le format :
array(
'name' => elgg_echo('name'),
'widget_columns' => 3,
'widget_context' => $widget_context,
'event_name' => $event_name,
'event_type' => $event_type,
'entity_type' => $entity_type,
'entity_subtype' => $entity_subtype,
)
- handlers, widgets

Déclenché lorsqu’une liste de widgets disponibles est nécessaire. Les plugins peuvent ajouter ou supprimer des widgets de cette liste de manière conditionnelle, ou modifier des attributs de widgets existants comme
contextoumultiple.- maintenance:allow, url

- Retourne un booléen si l’URL
$params['current_url']et le chemin$params['current_path'] sont autorisés pendant le mode de maintenance.
- Retourne un booléen si l’URL
- plugin_setting, <entity type>

Peut être utilisé pour modifier la valeur du paramètre en cours d’enregistrement
Params contient : -
entity- L”ElggEntityoù le paramètre du plugin est enregistré -plugin_id- L’ID du plugin pour lequel le paramètre est enregistré -name- Le nom du paramètre en cours d’enregistrement -valeur- La valeur d’origine du paramètre en cours d’enregistrementLa valeur de retour doit être un scalaire afin de pouvoir l’enregistrer dans la base de données. Une erreur sera journalisée si ce n’est pas le cas.
- public_pages, walled_garden

Filtre une liste d’URLs (chemins) qui peuvent être vues par les utilisateurs déconnectés en mode jardin clos - walled garden. Les gestionnaires doivent renvoyer un tableau de chaînes regex qui autoriseront l’accès si elles correspondent. Veuillez noter que les routes publiques du système sont transmises comme valeur par défaut à l’événement et que les plugins doivent veiller à ne pas remplacer accidentellement ces valeurs.
Le tableau
$paramscontient :url- URL de la page testée pour l’accessibilité publique
- relationship:url, <relationship_name>

Filtre l’URL pour l’objet de la relation
$params['relationship'].- robots.txt, site

Filtre les valeurs de robots.txt pour
$params['site'].- setting, plugin

Filtre les paramètres du plugin.
$paramscontient :plugin- Une instance de ElggPluginplugin_id- L’ID du pluginname- Le nom du paramètrevalue- La valeur à définir
- to:object, <entity_type|metadata|annotation|relationship|river_item>
Convertit l’entité
$params['entity']en objet StdClass. Ceci est utilisé principalement pour exporter des propriétés d’entité vers des formats de données portables comme JSON et XML.
Plugins
Site Pages
- names, externalpages

Returns a set of allowed names for external pages
Groupes
- tool_options, group

Filtre une collection d’outils disponibles au sein d’un groupe spécifique :
Le retour
$returnest\Elgg\Collections\Collection<\Elgg\Groups\Tool>, une collection d’outils de groupe.Le tableau
$paramscontient :entity-\ElggGroup
Web Services
- register, api_methods``

Déclenché lors de la construction de l’ApiRegistrationService, ce qui permet d’ajouter/supprimer/modifier des configurations de webservice
- rest, init

Déclenché par le gestionnaire de webservices rest. Les plugins peuvent configurer leurs propres gestionnaires d’authentification, puis renvoyer
truepour empêcher les gestionnaires par défaut d’être enregistrés.- rest:output, <method_name>

Filtrer le résultat (et par la suite la sortie) de la méthode API