Liste des événements dans le noyau

Pour plus d’informations sur le fonctionnement des événements, visitez Events.

Note

Some events are marked with sequence this means those events also have a :before and :after event Also see Event sequence

Some events are marked with results this means those events allow altering the output of an event

Événements système

activate, plugin

Renvoyez false pour empêcher l’activation du plugin.

cache:clear, system sequence

Efface les caches internes et externes, par défaut, y compris system_cache, simplecache et memcache. Il est possible de l’utiliser pour réinitialiser d’autres caches comme APC, OPCache ou WinCache.

cache:generate, <view> results

Filtre la sortie de la vue pour une URL /cache quand 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 sequence

Invalide les caches internes et externes.

cache:purge, system sequence

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

commands, cli results

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\Command pour être exécutables.

cron, <period> results

Déclenché par le cron pour chaque période.

cron:intervals, system results

Permet la configuration d’intervalles de cron personnalisés

deactivate, plugin

Renvoyez false pour éviter la désactivation du plugin.

diagnostics:report, system results

Filtre la sortie pour le téléchargement du rapport de diagnostic.

elgg.data, page results

Filtre les données de configuration non mises en cache et spécifiques à la page à transmettre au client. Plus d’informations

elgg.data, site results

Filtre les données de configuration mises en cache pour les transmettre au client. Plus d’informations

format, friendly:title results

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

format, friendly:time results

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

format, strip_tags results

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 results

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

generate, password results

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 sequence

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

languages, translations results

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 par Elgg\SystemLog\Logger::log() pour remplir la table system_log.

login_url, site results

Filters site’s login URL. $params array contains an array of query elements added to the login URL by the invoking script. The event must return an absolute URL of the login page.

output:before, page results

In elgg_view_page(), this filters $vars before it’s passed to the page shell view (page/<page_shell>). To stop sending the X-Frame-Options header, unregister the handler Elgg\Page\SetXFrameOptionsHeaderHandler::class from this event.

output, page results

Dans elgg_view_page(), ceci filtre la valeur de retour renvoyée.

parameters, menu:<menu_name> results

Déclenché par elgg_view_menu(). Utilisé pour modifier les variables de menu (comme l’ordre de tri) avant le rendu.

Le tableau $params va contenir :

  • name - nom du menu

  • sort_by - paramètre de tri préféré

  • d’autres paramètres passés à elgg_view_menu()

plugins_load, system sequence

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 sequence

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

prepare, html results

Déclenché par elgg_format_html() et utilisé pour préparer du HTML non sûr.

La valeur $return est un tableau :

  • html - La chaîne de caractères HTML en train d’être préparée

  • options - Options de préparation

prepare, menu:<menu_name> results

Filters the array of menu sections before they’re displayed. Each section is a string key mapping to an area of menu items. This is a good event to sort, add, remove, and modify menu items. Triggered by elgg_view_menu() and elgg()->menus->prepareMenu().

Le tableau $params va contenir :

  • selected_item - ElggMenuItem sé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> results

More granular version of the menu event triggered before the prepare, menu:<menu_name> event.

Uniquement appliqué si les paramètres de menu contiennent - params[“entity”] avec un \ElggEntity (<type> est \ElggEntity::type et <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 sequence

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> results

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() et elgg()->menus->getMenu().

The $params array will contain parameters returned by parameters, menu:<menu_name> event.

La valeur de retour est une instance de \Elgg\Menu\MenuItems contenant des objets \ElggMenuItem.

Event handlers can add/remove items to the collection using the collection API, as well as array access operations.

register, menu:<menu_name>:<type>:<subtype> results

More granular version of the menu event triggered before the register, menu:<menu_name> event.

Uniquement appliqué si les paramètres de menu contiennent - params[“entity”] avec un \ElggEntity (<type> est \ElggEntity::type et <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> results

Allows plugins to modify layout filter tabs on layouts that specify <filter_id> parameter. Parameters and return values are same as in register, menu:<menu_name> event.

Si filter_id vaut filter (valeur par défaut), alors les onglets all, mine et friends seront 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 all

  • params[“mine_link”] sera utilisé pour l’onglet mine

  • params[“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'] et params['entity_subtype']. S’il n’est pas fourni, entity_type et entity_subtype seront basés sur la détection de la route actuelle. Par exemple, si la route actuelle est collection:object:blog:all entity_type sera object et entity_subtype sera blog. - L’onglet all sera basé sur la route collection:<entity_type>:<entity_subtype>:all - L’onglet mine sera basé sur la route collection:<entity_type>:<entity_subtype>:owner - L’onglet `` friend`` sera basé sur la route collection:<entity_type>:<entity_subtype>:friends

Si les routes ne sont pas enregistrés, les onglets n’apparaîtront pas.

registration_url, site results

Filters site’s registration URL. Can be used by plugins to attach invitation codes, referrer codes etc. to the registration URL. $params array contains an array of query elements added to the registration URL by the invoking script. The event must return an absolute URL to the registration page.

reload:after, translations

Déclenché après que les traductions ont été (re)chargées.

sanitize, input results

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

seeds, database results

Permet aux plugins d’enregistrer leurs propres semences de base de données. Les graines remplissent la base de données avec de fausses entités à des fins de test. Les graines doivent étendre la classe \Elgg\Database\Seeds\Seed pour qu’elle soit exécutable via elgg-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 pourraient être faites ici sans que cela fasse attendre 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

Cet événement est préféré à l’utilisation de register_shutdown_function car vous n’avez peut-être pas accès à tous les services Elgg (par ex. la base de données) dans la fonction d’arrêt, alors que vous l’aurez dans l’événement.

Note

La session Elgg est déjà terminée avant cet événement. La manipulation de la session n’est plus possible.

simplecache:generate, <view> results

Filtre la sortie de la vue pour une URL /cache quand simplecache est activé.

upgrade, system

Déclenché une fois la mise à niveau du système terminée. Tous les scripts de mise à niveau sont exécutés, mais les caches ne sont pas effacés.

upgrade:execute, system sequence

Déclenché lors de l’exécution d’un ElggUpgrade. L’objet $object de l’événement est le ElggUpgrade.

Événements utilisateur

ban, user

Déclenché avant qu’un utilisateur ne soit banni. Retournez false pour l’éviter.

change:email, user results

Triggered before the user email is changed. Allows plugins to implement additional logic required to change email, e.g. additional email validation. The event handler must return false to prevent the email from being changed right away.

Le tableau $params va contenir :

  • user - \ElggUser, dont les paramètres ont été sauvegardés

  • email - Adresse e-mail qui passe les vérifications sanitaires

  • request - \Elgg\Request vers 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:after, user

Déclenché après que l’utilisateur se soit identifié.

login:before, user

Déclenché lors de la connexion. Renvoyer false empêche l’utilisateur de se connecter

login:forward, user results

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. Retournez false pour l’éviter.

profileiconupdate, user

L’utilisateur a modifié son icône de profil

profileupdate, user

L’utilisateur a modifié son profil

register, user results

Triggered by the register action after the user registers. Return false to delete the user. Note the function register_user does not trigger this event. Event handlers can throw \Elgg\Exceptions\Configuration\RegistrationException with an error message to be displayed to the user.

Le tableau $params va contenir :

  • user - L’entité utilisateur nouvellement enregistrée

  • Tous les paramètres envoyés avec la requête à l’action (comprend password, friend_guid, invitecode, etc.)

registeruser:validate:email, all results

Return boolean for if the string in $params['email'] is valid for an email address. Event handler can throw \Elgg\Exceptions\Configuration\RegistrationException with an error message to be shown to the user.

registeruser:validate:password, all results

Return boolean for if the string in $params['password'] is valid for a password. Event handler can throw \Elgg\Exceptions\Configuration\RegistrationException with an error message to be shown to the user.

registeruser:validate:username, all results

Return boolean for if the string in $params['username'] is valid for a username. Event handler can throw \Elgg\Exceptions\Configuration\RegistrationException with an error message to be shown to the user.

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 results

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 results

Triggered in the aggregate action to save user settings. The event handler must return false to prevent sticky forms from being cleared (i.e. to indicate that some of the values were not saved). Do not return true from your event handler, as you will override other events” output, instead return null to indicate successful operation.

Le tableau $params va contenir :

  • user - \ElggUser, dont les paramètres ont été sauvegardés

  • request - \Elgg\Request vers 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é après la création d’une relation. Renvoyez false pour supprimer la relation qui vient d’être créée.

delete, relationship

Déclenché avant la suppression d’une relation. Renvoyez false pour éviter qu’elle soit supprimée.

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> results

Déclenché dans elgg_view_comments(). S’il renvoie du contenu, celui-ci remplace la vue page/elements/comments.

comments:count, <entity_type> results

Renvoie le nombre de commentaires sur $params['entity'].

create, <entity type>

Triggered for user, group, object, and site entities after creation. Triggered just before the create:after event, mostly for BC reasons. The use of the create:after event is preferred.

create:after, <entity type>

Triggered for user, group, object, and site entities after creation.

create:before, <entity type>

Triggered for user, group, object, and site entities before creation. Return false to prevent creating the entity.

delete, <entity type>

Déclenché avant la suppression d’une entité.

delete:after, <entity type>

Déclenché après la suppression d’une entité.

delete:before, <entity type>

Déclenché avant la suppression d’une entité. Retournez false pour éviter la suppression.

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> results

Renvoie le nombre de mentions J’aime pour $params['entity'].

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.

disable, annotations

Appelé lors de la désactivation d’annotations. Retournez false pour éviter la désactivation.

enable, annotation

Appelé lors de l’activation d’annotations. Retournez false pour éviter l’activation.

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 false pour 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.

Access events

access_collection:url, access_collection results

Peut être utilisé pour filtrer l’URL de la collection d’accès.

Le tableau $params va contenir :

  • access_collection - ElggAccessCollection

access_collection:name, access_collection results

Peut être utilisé pour filtrer le nom affiché (niveau d’accès lisible) de la collection d’accès.

Le tableau $params va contenir :

  • access_collection - ElggAccessCollection

access:collections:read, user results

Filtre le tableau des IDs d’accès que l’utilisateur $params['user_id'] peut voir.

Avertissement

The handler needs to either not use parts of the API that use the access system (triggering the event again) or to ignore the second call. Otherwise, an infinite loop will be created.

access:collections:write, user results

Filters an array of access IDs that the user $params['user_id'] can write to. In elgg_get_write_access_array(), this event filters the return value, so it can be used to alter the available options in the input/access view. For core plugins, the value « input_params » has the keys « entity » (ElggEntity|false), « entity_type » (string), « entity_subtype » (string), « container_guid » (int) are provided. An empty entity value generally means the form is to create a new object.

Avertissement

The handler needs to either not use parts of the API that use the access system (triggering the event again) or to ignore the second call. Otherwise, an infinite loop will be created.

access:collections:write:subtypes, user results

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 results

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 results

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 sequence

Triggered during the creation of an ElggAccessCollection.

delete, access_collection sequence

Triggered during the deletion of an ElggAccessCollection.

get_sql, access results

Filtre les clauses SQL limitant/autorisant l’accès aux entités et aux annotations.

Note

The event is triggered regardless if the access is ignored. The handlers may need to check if access is ignored and return early, if appended clauses should only apply to access controlled contexts.

La valeur $return est un tableau imbriqué de ands et de ors.

$params comprend :

  • table_alias - alias de la table principale utilisée dans la clause de sélection

  • ignore_access - selon que les accès sont ignorés ou activés

  • use_enabled_clause - selon que les entités désactivées sont affichées/cachées

  • access_column - colonne de la table principale contenant l’ID de la collection d’accès

  • owner_guid_column - colonne de la table principale faisant référence au GUID du propriétaire

  • guid_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 de QueryBuilder

update, access_collection sequence

Triggered during the update of an ElggAccessCollection.

Permission events

container_logic_check, <entity_type> results

Triggered by ElggEntity:canWriteToContainer() before triggering permissions_check and container_permissions_check events. Unlike permissions events, logic check can be used to prevent certain entity types from being contained by other entity types, e.g. discussion replies should only be contained by discussions. This event can also be used to apply status logic, e.g. do disallow new replies for closed discussions.

The handler should return false to prevent an entity from containing another entity. The default value passed to the event is null, so the handler can check if another event has modified the value by checking if return value is set. Should this event return false, container_permissions_check and permissions_check events will not be triggered.

Le tableau $params va contenir :

  • container - Une entité qui sera utilisée comme conteneur

  • user - L’utilisateur qui sera propriétaire de l’entité à écrire dans le conteneur

  • subtype - Subtype of the entity to be written to container (entity type is assumed from event type)

container_permissions_check, <entity_type> results

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'].

In the rare case where an entity is created with neither the container_guid nor the owner_guid matching the logged in user, this event is called twice, and in the first call $params['container'] will be the owner, not the entity’s real container.

Le tableau $params va contenir :

  • container - Une entité qui sera utilisée comme conteneur

  • user - L’utilisateur qui sera propriétaire de l’entité à écrire dans le conteneur

  • subtype - Subtype of the entity to be written to container (entity type is assumed from event type)

permissions_check, <entity_type> results

Renvoie un booléen pour indiquer si l’utilisateur $params['user'] peut modifier l’entité $params['entity'].

permissions_check:delete, <entity_type> results

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 results

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 à true pour les administrateurs et false pour les autres utilisateurs.

permissions_check:download, file results

Renvoie un booléen pour indiquer si l’utilisateur $params['user'] peut télécharger le fichier dans $params['entity'].

Le tableau $params va contenir :

  • entity - Instance de ElggFile

  • user - Utilisateur qui va télécharger le fichier

permissions_check, widget_layout results

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> results

Renvoie un booléen pour indiquer si l’utilisateur $params['user'] peut commenter l’entité $params['entity'].

permissions_check:annotate:<annotation_name>, <entity_type> results

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

This is called before the more general permissions_check:annotate event, and its return value is that event’s initial value.

permissions_check:annotate, <entity_type> results

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 results

Déclenché dans la classe \Elgg\WebServices\PAM\API\APIKey. Renvoyer false empêche l’authentification de la clef.

gatekeeper, <entity_type>:<entity_subtype> results

Filters the result of elgg_entity_gatekeeper() to prevent or allow access to an entity that user would otherwise have or not have access to. A handler can return false or an instance of \Elgg\Exceptions\HttpException to prevent access to an entity. A handler can return true to override the result of the gatekeeper. Important that the entity received by this event is fetched with ignored access and including disabled entities, so you have to be careful to not bypass the access system.

le tableau $params comprend :

  • entity - Entité à laquelle on accède

  • user - L’utilisateur qui accède à l’entité (null implique 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

The following events are listed chronologically in the lifetime of the notification event. Note that not all events apply to instant notifications.

enqueue, notification results

Can be used to prevent a notification event from sending subscription notifications. Event handler must return false to prevent a subscription notification event from being enqueued.

le tableau $params comprend :

  • object - objet de l’événement de notification

  • action - action qui a déclenché l’événement de notification. Par exemple, correspond à publish quand elgg_trigger_event('publish', 'object', $object) est appelé

get, subscriptions results

Filtre les abonnés de l’événement de notification. S’applique aux notifications d’abonnement subscriptions et instantanées instant. Lors d’un événement d’abonnement, par défaut, la liste des abonnés se compose des utilisateurs abonnés à l’entité conteneur de l’objet de l’événement. En cas d’événement de notification instantanée, la liste des abonnés se compose des utilisateurs précédemment passés en tant que destinataires à notify_user()

IMPORTANT Always validate the notification event, object and/or action types before adding any new recipients to ensure that you do not accidentally dispatch notifications to unintended recipients. Consider a situation, where a mentions plugin sends out an instant notification to a mentioned user - any event acting on a subject or an object without validating an event or action type (e.g. including an owner of the original wire thread) might end up sending notifications to wrong users.

le tableau $params comprend :

  • event - instance de \Elgg\Notifications\NotificationEvent qui décrit l’événement de notification

  • origin - subscriptions_service ou instant_notifications

  • methods_override - préférence de méthode de remise pour les notifications instantanées

Les gestionnaires doivent renvoyer un tableau de la forme :

array(
        <user guid> => array('sms'),
        <user_guid2> => array('email', 'sms', 'ajax')
);
send:before, notifications results

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 $params comprend :

  • event - instance de \Elgg\Notifications\NotificationEvent qui décrit l’événement de notification

  • subscriptions - a list of subscriptions. See 'get', 'subscriptions' event for details

prepare, notification results

A high level event that can be used to alter an instance of \Elgg\Notifications\Notification before it is sent to the user. Applies to subscriptions and instant notifications. This event is triggered before a more granular 'prepare', 'notification:<action>:<entity_type>:<entity_subtype>' and after 'send:before', 'notifications. Event handler should return an altered notification object.

$params peut varier en fonction du type de notification et peut comprendre :

  • event - instance de \Elgg\Notifications\NotificationEvent qui décrit l’événement de notification

  • object - objet de la notification event. Peut être null pour les notifications instantanées

  • action - action qui a déclenché la notification event. Peut avoir pour valeur par défaut notify_user pour les notifications instantanées

  • method - méthode d’envoi (par ex. email, site)

  • sender - expéditeur

  • recipient - destinataire

  • language - langue de la notification (langue du destinataire)

  • origin - subscriptions_service ou instant_notifications

prepare, notification:<action>:<entity_type>:<entity_type> results

A granular event that can be used to filter a notification \Elgg\Notifications\Notification before it is sent to the user. Applies to subscriptions and instant notifications. In case of instant notifications that have not received an object, the event will be called as 'prepare', 'notification:<action>'. In case of instant notifications that have not received an action name, it will default to notify_user.

$params comprend :

  • event - instance de \Elgg\Notifications\NotificationEvent qui décrit l’événement de notification

  • object - objet de la notification event. Peut être null pour les notifications instantanées

  • action - action qui a déclenché la notification event. Peut avoir pour valeur par défaut notify_user pour les notifications instantanées

  • method - méthode d’envoi (par ex. email, site)

  • sender - expéditeur

  • recipient - destinataire

  • language - langue de la notification (langue du destinataire)

  • origin - subscriptions_service ou instant_notifications

format, notification:<method> results

This event can be used to format a notification before it is passed to the 'send', 'notification:<method>' event. Applies to subscriptions and instant notifications. The event handler should return an instance of \Elgg\Notifications\Notification. The event does not receive any $params. Some of the use cases include:

  • 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> results

Délivre une notification. S’applique aux notifications d’abonnement subscriptions et instantanées instant. Le gestionnaire doit retourner true ou false pour indiquer le résultat de la remise.

le tableau $params comprend :

  • notification - un objet de notification \Elgg\Notifications\Notification

send:after, notifications results

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 $params comprend :

  • event - instance de \Elgg\Notifications\NotificationEvent qui décrit l’événement de notification

  • subscriptions - a list of subscriptions. See 'get', 'subscriptions' event for details

  • deliveries - une matrice des statuts de remise par utilisateur pour chaque méthode de livraison

E-mails

prepare, system:email results

Triggered by elgg_send_email(). Applies to all outgoing system and notification emails. This event allows you to alter an instance of \Elgg\Email before it is passed to the email transport. This event can be used to alter the sender, recipient, subject, body, and/or headers of the email.

$params est vide. La valeur de retour $return est une instance de \Elgg\Email.

transport, system:email results

Triggered by elgg_send_email(). Applies to all outgoing system and notification emails. This event allows you to implement a custom email transport, e.g. delivering emails via a third-party proxy service such as SendGrid or Mailgun. The handler must return true to indicate that the email was transported.

$params contient :

  • email - Une instance de \Elgg\Email

validate, system:email results

Triggered by elgg_send_email(). Applies to all outgoing system and notification emails. This event allows you to suppress or whitelist outgoing emails, e.g. when the site is in a development mode. The handler must return false to supress the email delivery.

$params contient :

  • email - Une instance de \Elgg\Email

zend:message, system:email results

Triggered by the default email transport handler (Elgg uses laminas/laminas-mail). 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 \Laminas\Mail\Message before it is passed to the Laminas email transport.

$params contient :

  • email - Une instance de \Elgg\Email

Événements des fichiers

download:url, file results
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 $params comprend :

  • entity - instance de ElggFile

  • use_cookie - whether or not to use a cookie to secure download link

  • expires - a string representation of when the download link should expire

inline:url, file results
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 $params comprend :

  • entity - instance de ElggFile

  • use_cookie - whether or not to use a cookie to secure download link

  • expires - a string representation of when the download link should expire

mime_type, file results

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 results

The event provides $params['mime_type'] (e.g. application/pdf or image/jpeg) and determines an overall category like document or image. The bundled file plugin and other-third party plugins usually store simpletype metadata on file entities and make use of it when serving icons and constructing ege* filters and menus.

upload, file results

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 true pour indiquer que le fichier téléchargé a été déplacé. Le gestionnaire doit renvoyer false pour indiquer que le fichier téléchargé n’a pas pu être déplacé. D’autres valeurs de retour indiqueront que ElggFile::acceptUploadedFile devrait poursuivre la logique de téléchargement par défaut.

le tableau $params comprend :

  • file - instance de ElggFile dans laquelle écrire

  • upload - instance de UploadedFile de 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 ElggFile dans lequel le fichier téléchargé a été écrit. Le ElggFile peut ou non être une entité avec un GUID.

Action events

action:validate, <action> results

Trigger before action script/controller is executed. This event should be used to validate/alter user input, before proceeding with the action. The event handler can throw an instance of \Elgg\Exceptions\Http\ValidationException or return false to terminate further execution.

le tableau $params comprend :

  • request - instance de \Elgg\Request

action_gatekeeper:permissions:check, all results

Déclenché après la validation d’un jeton CSRF. Renvoyez false pour empêcher la validation.

forward, <reason> results

Filtre l’URL pour rediriger un utilisateur lorsque forward($url, $reason) est appelé. Dans certains cas, le tableau params va contenir une instance de \Elgg\Exceptions\HttpException qui a déclenché l’erreur.

response, action:<action> results

Filter an instance of \Elgg\Http\ResponseBuilder before it is sent to the client. This event can be used to modify response content, status code, forward URL, or set additional response headers. Note that the <action> value is parsed from the request URL, therefore you may not be able to filter the responses of action() calls if they are nested within the another action script file.

Ajax

ajax_response, * results

When the elgg/Ajax AMD module is used, this event gives access to the response object (\Elgg\Services\AjaxResponse) so it can be altered/extended. The event type depends on the method call:

méthode elgg/Ajax

event type

action()

action:<action_name>

path()

path:<url_path>

view()

view:<view_name>

form()

form:<action_name>

ajax_response, action:<action_name> results

Filtre les réponses action/ avant qu’elles soient renvoyées au module elgg/Ajax.

ajax_response, path:<path> results

Filters ajax responses before they’re sent back to the elgg/Ajax module. This event type will only be used if the path did not start with « action/ » or « ajax/ ».

ajax_response, view:<view> results

Filtre les réponses ajax/view/ avant qu’elles soient renvoyées au module elgg/Ajax.

ajax_response, form:<action_name> results

Filtre les réponses ajax/form/ avant qu’elles soient renvoyées au module elgg/Ajax.

Routage

response, path:<path> results

Filter an instance of \Elgg\Http\ResponseBuilder before 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. Note that the <path> value is parsed from the request URL, therefore plugins using the route event should use the original <path> to filter the response, or switch to using the route:rewrite event.

route:config, <route_name> results

Allows altering the route configuration before it is registered. This event can be used to alter the path, default values, requirements, as well as to set/remove middleware. Please note that the handler for this event should be registered outside of the init event handler, as core routes are registered during plugins_boot event.

route:rewrite, <identifier> results

Allows altering the site-relative URL path for an incoming request. See Routage for details. Please note that the handler for this event should be registered outside of the init event handler, as route rewrites take place after plugins_boot event has completed.

Vues

attributes, htmlawed results

Allows changes to individual attributes.

allowed_styles, htmlawed results

Configure allowed styles for HTMLawed.

config, htmlawed results

Filtre le tableau HTMLawed $config.

form:prepare:fields, <form_name> results

Prepare field values for use in the form. Eg. when editing a blog, fill this with the current values of the blog. Sticky form values will automatically be added to the field values (when available).

head, page results

Dans elgg_view_page(), filtre la valeur de retour de $vars['head'], qui contient un tableau avec les clefs title, metas et links, où metas est un tableau d’éléments à formater sous la forme de balises d’entête <meta>, et links est 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 results

Dans elgg_view_layout(), filtre le nom de la disposition. Le tableau $params comprend :

  • identifier - identifiant de la page en cours de rendu

  • segments - Segments d’URL de la page en cours de rendu

  • autres $vars reçues par elgg_view_layout()

response, form:<form_name> results

Filter an instance of \Elgg\Http\ResponseBuilder before 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.

response, view:<view_name> results

Filter an instance of \Elgg\Http\ResponseBuilder before 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.

shell, page results

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

spec, htmlawed results

Filtre la chaîne HTMLawed $spec (vide par défaut).

table_columns:call, <name> results

When the method elgg()->table_columns->$name() is called, this event is called to allow plugins to override or provide an implementation. Handlers receive the method arguments via $params['arguments'] and should return an instance of Elgg\Views\TableColumn if they wish to specify the column directly.

vars:compiler, css results

Permet aux plugins de modifier les variables CSS transmises à CssCrush pendant la compilation. Voyez les variables CSS <_guides/theming#css-vars>.

view, <view_name> results

Filtre le contenu renvoyé par la vue

view_vars, <view_name> results

Filtre le tableau $vars passé à la vue

Autres

config, comments_per_page results

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. Utilisez elgg_comments_per_page() pour obtenir la valeur.

config, comments_latest_first results

Filtre l’ordre des commentaires. Vaut true par 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 results

In elgg_get_default_access(), this event filters the return value, so it can be used to alter the default value in the input/access view. For core plugins, the value « input_params » has the keys « entity » (ElggEntity|false), « entity_type » (string), « entity_subtype » (string), « container_guid » (int) are provided. An empty entity value generally means the form is to create a new object.

classes, icon results

Can be used to filter CSS classes applied to icon glyphs. By default, Elgg uses FontAwesome. Plugins can use this event to switch to a different font family and remap icon classes.

config, amd results

Filtre la configuration AMD pour la bibliothèque requirejs.

entity:icon:sizes, <entity_type> results

Déclenché par elgg_get_icon_sizes(), définit le type d’entité/le sous-type de tailles d’icônes spécifiques. entity_subtype sera transmis dans le tableau $params à la fonction de rappel.

entity:<icon_type>:sizes, <entity_type> results

Permet de filtrer les tailles pour les types d’icônes personnalisés, voir entity:icon:sizes, <entity_type>.

The event must return an associative array where keys are the names of the icon sizes (e.g. « large »), and the values are arrays with the following keys:

  • w - Largeur de l’image en pixels

  • h - Hauteur de l’image en pixels

  • square - 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> results

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
 */
function gravatar_icon_handler(\Elgg\Event $event) {
        $entity = $event->getEntityParam();

        // Allow users to upload avatars
        if ($entity->icontime) {
                return $url;
        }

        // 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 "http://www.gravatar.com/avatar/$hash?s=$size";
}
entity:<icon_type>:url, <entity_type> results

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

entity:icon:file, <entity_type> results

Déclenché par ElggEntity::getIcon(), et permet aux plugins de fournir un objet alternatif ElggIcon qui pointe vers un emplacement personnalisé de l’icône dans le répertoire de fichiers. Le gestionnaire doit renvoyer une instance de ElggIcon ou une exception sera lancée.

entity:<icon_type>:file, <entity_type> results

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> results

Triggered by ElggEntity::saveIcon*() methods and can be used to prepare an image from uploaded/linked file. This event can be used to e.g. rotate the image before it is resized/cropped, or it can be used to extract an image frame if the uploaded file is a video. The handler must return an instance of ElggFile with a simpletype that resolves to image. The $return value passed to the event is an instance of ElggFile that points to a temporary copy of the uploaded/linked file.

Le tableau $params contient :

  • entity - entité propriétaire des icônes

  • file - original input file before it has been modified by other events

entity:<icon_type>:save, <entity_type> results

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 renvoyer true pour empêcher les API du noyau de redimensionner/rogner les icônes. Le tableau $params contient :

  • entity - entité propriétaire des icônes

  • file - objet ElggFile qui pointe vers le fichier image à utiliser comme source pour les icônes

  • x1, y1, x2, y2 - coordonnées de découpe

entity:<icon_type>:saved, <entity_type> results

Triggered by ElggEntity::saveIcon*() methods once icons have been created. This event can be used by plugins to create river items, update cropping coordinates for custom icon types etc. The handler can access the created icons using ElggEntity::getIcon(). The $params array contains:

  • entity - entité propriétaire des icônes

  • x1, y1, x2, y2 - coordonnées de découpe

entity:<icon_type>:delete, <entity_type> results

Triggered by ElggEntity::deleteIcon() method and can be used for clean up operations. This event is triggered before the icons are deleted. The handler can return false to prevent icons from being deleted. The $params array contains:

  • entity - entité propriétaire des icônes

entity:url, <entity_type> results

Return the URL for the entity $params['entity']. Note: Generally it is better to override the getUrl() method of ElggEntity. This event should be used when it’s not possible to subclass (like if you want to extend a bundled plugin without overriding many views).

extender:url, <annotation|metadata> results

Return the URL for the annotation or metadata $params['extender'].

fields, <entity_type>:<entity_subtype> results

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 fournir name et #type pour chaque champ.

$result = [];

$result[] = [
        '#type' => 'longtext',
        'name' => 'description',
];

return $result;
get_list, default_widgets results

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 results

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 context ou multiple.

maintenance:allow, url results
Retourne un booléen si l’URL $params['current_url'] et le chemin $params['current_path']

sont autorisés pendant le mode de maintenance.

plugin_setting, <entity type> results

Peut être utilisé pour modifier la valeur du paramètre en cours d’enregistrement

Params contient : - entity - L”ElggEntity où 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’enregistrement

La 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 results

Filters a list of URLs (paths) that can be seen by logged out users in a walled garden mode. Handlers must return an array of regex strings that will allow access if matched. Please note that system public routes are passed as the default value to the event, and plugins must take care to not accidentally override these values.

Le tableau $params contient :

  • url - URL de la page testée pour l’accessibilité publique

relationship:url, <relationship_name> results

Filtre l’URL pour l’objet de la relation $params['relationship'].

robots.txt, site results

Filtre les valeurs de robots.txt pour $params['site'].

setting, plugin results

Filtre les paramètres du plugin. $params contient :

  • plugin - Une instance de ElggPlugin

  • plugin_id - L’ID du plugin

  • name - Le nom du paramètre

  • value - 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

Groupes

tool_options, group results

Filtre une collection d’outils disponibles au sein d’un groupe spécifique :

Le retour $return est \Elgg\Collections\Collection<\Elgg\Groups\Tool>, une collection d’outils de groupe.

Le tableau $params contient :

  • entity - \ElggGroup

Web Services

register, api_methods`` results

Triggered when the ApiRegistrationService is constructed which allows to add/remove/edit webservice configurations

rest, init results

Déclenché par le gestionnaire de webservices rest. Les plugins peuvent configurer leurs propres gestionnaires d’authentification, puis renvoyer true pour empêcher les gestionnaires par défaut d’être enregistrés.

rest:output, <method_name> results

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