De 3.x à 4.0
Composer
Pré-requis PHP
Pour être compatible avec PHP 8, nous devions augmenter la version minimale de PHP à 7.4. Les versions PHP < 7.4 sont déjà en fin de vie.
Projet composer
La racine du projet composer n’est plus gérée comme un plugin semi-fonctionnel. Les langues du répertoire languages
ne sont plus importées, les vues du répertoire views
ne sont plus enregistrées, les services PHP DI du elgg-services.php
ne sont plus enregistrés et le fichier start.php
n’est plus inclus.
Si vous avez besoin d’une modification spécifique à votre installation Elgg, vous devez créer un plugin et vous assurer que le plugin est le dernier dans l’ordre des plugins pour vous permettre de surcharger tout ce que vous avez besoin de changer.
Doctrine DBAL
Elgg a remplacé la v2 de la dépendance doctrine/dbal
par la v3. L’un des changements les plus notables est que si vous travaillez avec QueryBuilders et utilisez la fonction $qb->fetch()
, vous n’obtiendrez plus un objet, mais un tableau. Si vous voulez que vos lignes soient utilisables comme classes, vous pouvez utiliser elgg()->db->getData($qb)
. Un autre changement important est que si vous fournissez vos propres paramètres de requête, vous ne devez plus préfixer les clés avec deux points dans les paramètres, mais continuer à le faire dans la requête.
PHP-DI
Cette fonctionnalité a été mise à jour pour utiliser la dernière version de PHP-DI. Le changement le plus notable pour Elgg est la nécessité de changer la définition de votre service de plugin pour utiliser \DI\create()
au lieu de \DI\object()
.
ZendMail remplacé par LaminasMail
En raison de la dépréciation de la bibliothèque Zend\Mail
et de son remplacement par Laminas\Mail
toutes les références ont été mises à jour.
Dépendances composer supprimées
bower-asset/jquery-treeview
les js et css associés ne sont plus disponibles dans le systèmebower-asset/jquery.imgareaselect
les js et css associés ne sont plus disponibles dans le systèmenpm-asset/formdata-polyfill
tous les navigateurs modernes ont un support, plus besoin d’un polyfillnpm-asset/jquery-form
utilisez la fonctionnalité native FormDatanpm-asset/weakmap-polyfill
tous les navigateurs modernes ont un support, plus besoin d’un polyfillsimpletest/simpletest
JavaScript
AJAX
Les fonctions d’assistance Ajax suivantes ont été supprimées au profit de leurs homologues dans le module asynchrone elgg/Ajax
. * elgg.action()
* elgg.get()
* elgg.getJSON()
* elgg.post()
La fonction ajax elgg.api
a été déplacée vers la fonction executeMethod
dans le module asynchrone elgg/webservices
du plugin webservices. D’autres fonctions et attributs elgg.ajax
ont été supprimés du système. De plus, la gestion héritée des appels ajax a été supprimée du système.
Classes
La logique javascript pour démarrer automatiquement du javascript pour votre plugin et enregistrer des hooks via la classe Elgg/Plugin
a été supprimée du système. Cette fonctionnalité n’a jamais été utilisée par le noyau et à peine vue dans les plugins. Utilisez le javascript chargé par AMD ou étendez elgg.js
pour un javascript toujours chargé.
La classe javascript ElggPriorityList
a été supprimée du système.
Hooks système
Les modules AMD pour elgg/init
et elgg/ready
ont été supprimés. Le hook init, system
est toujours disponible, mais cela n’a de sens de s’appuyer sur ce hook que pour des bibliothèques js non chargées par AMD. Les déclencheurs boot, system
et ready, system
ont été supprimés du système. Remplacez par init, system
pour le même effet.
jQuery
La bibliothèque jQuery a été mise à jour vers la dernière version (v3.5.x). Il s’agit d’une mise à jour majeure de la version utilisée dans Elgg 3.x. Pour plus d’informations sur ce qui a changé entre ces versions, vous devriez jeter un œil au site Web de jQuery.
jQuery UI
La bibliothèque jQuery UI a été mise à jour vers la v1.12.x. La bibliothèque n’est plus chargée en entier par défaut. Si vous devez utiliser des fonctionnalités de la bibliothèque, vous pouvez les exiger dans votre propre script. Par exemple, pour pouvoir utiliser la fonctionnalité de tri, procédez comme suit :
require('jquery-ui/widgets/sortable');
// or in your own AMD script
define(['jquery-ui/widgets/sortable'], function() {
// use the sortable
});
Changements JS divers
Le module AMD
elgg/widgets
ne renvoie plus d’objet et ne vous oblige plus à appelerinit
sur le module
Notifications
La gestion des notifications avant Elgg 1.9 a été supprimée. Les fonctions et hooks associés n’existent plus.
Abonnements
La relation dans la base de données qui stocke la méthode d’abonnement pour les notifications a été modifiée de notifymethod
à notify:method
.
Destinataires multiples
Un ElggEmail prend désormais en charge plusieurs destinataires en To, Cc et Bcc. Les fonctions de récupération associées telles que getTo()
renverront désormais toujours un tableau.
Paramètres
Un stockage générique pour les préférences de notification a été introduit dans \ElggUser::setNotificationSetting()
et \ElggUser::getNotificationSettings()
, les paramètres de notification ont maintenant un but “purpose”.
Par exemple, group_join
peut être utilisé pour gérer l’abonnement par défaut que vous obtenez avec un groupe lorsque vous rejoignez le groupe.
Le plugin Notifications a une gestion générique de l’affichage et de l’enregistrement des paramètres. Pour afficher le paramètre, étendez la vue notifications/settings/records
(pluriel) avec une vue qui utilise notifications/settings/record
(singulier).
Lors de la demande de paramètres de notification autres que le paramètre par défaut, si l’utilisateur n’a pas encore enregistré de paramètre, cela reviendra aux paramètres de notification par défaut.
La gestion des préférences de notification pour l’ajout de nouveaux utilisateurs à une collection d’amis a été supprimée.
Salutation et signature de la notification
Pour pouvoir avoir une salutation et une signature plus génériques pour les notifications de courrier sortant, nous avons supprimé ces textes de diverses chaînes de traduction et les avons déplacés vers des traductions génériques. Cela signifie que vous devrez mettre à jour vos traductions pour refléter le nouveau texte et également vérifier votre code pour les utilisations des notifications où vous fournissez votre propre texte de salutation ou de signature. Vous pouvez en savoir plus sur ce nouveau comportement dans Notifications.
Plugin Notifications
Le plugin Notifications a été supprimé. Toutes les fonctionnalités du plugin font désormais partie du noyau Elgg. Certaines pages (comme les paramètres de notification de groupe) ont été déplacées vers le bon plugin.
Cela signifie que les gestionnaires d’événements, les gestionnaires de crochets, les actions, les vues et les clés de langue ont été déplacés, retirés ou renommés.
Gestion de l’événement de notification
Les hooks de notification ne reçoivent plus le paramètre origin
.
Notification sur le site
Le plugin de notifications du site affiche désormais l’objet de la notification par défaut. Si une notification de site a été créée avec la fonction d’usine SiteNotification::factory()
, davantage d’informations de la notification d’origine sont stockées avec la notification de site :
Le sujet de la notification
subject
est stocké danstitle
Le résumé de la notification
summary
est stocké danssummary
Le corps de la notification
body
est stocké dansdescription
Séparation de OkResponse, ErrorResponse et RedirectResponse
Les classes Elgg\Http\ErrorResponse
et Elgg\Http\RedirectResponse
étaient des extensions de Elgg\Http\OkReponse
, ce qui compliquait la validation des réponses (par exemple dans les hooks). Les classes ont été séparées pour permettre des contrôles plus faciles et plus clairs.
Toutes les classes étendent maintenant Elgg\Http\Response
et implémentent Elgg\Http\ReponseBuilder
. Le code d’erreur HTTP par défaut lors de l’utilisation de elgg_error_response()
a été modifié pour renvoyer un code d’état 400.
Modèle de données
Modifications de schéma
Les colonnes
access_id
,owner_guid
etenabled
dans la tablemetadata
ont été suppriméesLa colonne
enabled
dans la tableriver
a été suppriméeLa colonne
relationship
dans la tableentity_relationships
a maintenant une longueur maximale de 255 (au lieu de 50)
Attributs ElggEntity
Définir les attributs type
, subtype
et enabled
d’une ElggEntity
n’est plus possible en utilisant la fonction de définition magique. Changer le type
n’est plus possible, utilisez la classe de base correcte pour votre entité (ex. ElggObject
, ElggGroup
ou ElggUser
).
Pour changer le subtype
utilisez la fonction setSubtype($subtype)
// this no longer works and throws an \Elgg\Exceptions\InvalidArgumentException
$object = new ElggObject();
$object->subtype = 'my_subtype';
// The correct use is
$object->setSubtype('my_subtype');
Pour changer l’état activé enabled
d’une entité utilisez les fonctions correctes
// this no longer works and throws an \Elgg\Exceptions\InvalidArgumentException
$object = new ElggObject();
$object->enabled = 'no';
// The correct use is
$object->enable(); // to enable
$object->disable(); // to disable
Attributs ElggUser
La définition des métadonnées admin
et banned
d’un ElggUser
n’est plus possible en utilisant la fonction de définition magique.
Pour changer l’état d’administrateur admin
, utilisez les fonctions makeAdmin()
and removeAdmin()
// this no longer works and throws an \Elgg\Exceptions\InvalidArgumentException
$user = new ElggUser()
$user->admin = 'yes';
// The correct use is
$user->makeAdmin(); // to give the admin role
$user->removeAdmin(); // to remove the admin role
Pour changer l’état de bannissement banned
, utilisez les fonctions ban()
et unban()
// this no longer works and throws an \Elgg\Exceptions\InvalidArgumentException
$user = new ElggUser()
$user->banned = 'yes';
// The correct use is
$user->ban(); // to ban the user
$user->unban(); // to unban the user
Développement de plugin
Initialisation du plugin
Les fichiers suivants ne sont plus inclus lors de l’amorçage d’un plugin :
activate.php
utilisezPluginBootstrap->activate()
deactivate.php
utilisezPluginBootstrap->deactivate()
views.php
utilisezelgg-plugin.php
start.php
utilisezelgg-plugin.php
et/ouPluginBootstrap
Manifeste du plugin
Le fichier manifeste du plugin n’est plus utilisé. Des éléments du manifeste ont été supprimés ou déplacés vers différents emplacements.
Il n’est plus possible d’exiger un paramètre php ini spécifique.
pré-requis de version de php -> composer require
pré-requis d’extension php -> composer require
conflits du plugin -> conflits composer
pré-requis du plugin -> elgg-plugin
pré-requis de position du plugin -> elgg-plugin
version du plugin -> elgg-plugin
activation du plugin lors de l’installation -> elgg-plugin
nom du plugin -> elgg-plugin
description du plugin -> composer.json
catégories du plugin -> composer.json
licence du plugin -> composer.json
lien vers le repo du plugin -> composer.json
lien de publication du plugin -> composer.json
lien vers la page d’accueil du plugin -> composer.json
auteurs/contributeurs du plugin -> composer.json
Champs de configuration hookables
Certains plugins avaient la possibilité de configurer les champs des entités dans leur configuration. Ces fonctionnalités ont été remplacées par un service central qui fournit un mécanisme pour demander une configuration de champ hookable pour un certain type/sous-type.
Vous pouvez demander ces configurations à l’aide du code suivant :
$fields = elgg()->fields->get('<entity_type>', '<entity_subtype');
Les résultats seront un tableau avec des configurations de champs utilisables dans elgg_view_field($field)
La fonctionnalité associée suivante a été remplacée par cette nouvelle méthode :
La configuration pour
pages
n’est plus disponible danselgg_get_config('pages')
utilisezelgg()->fields->get('object', 'page')
La configuration pour
group
n’est plus disponible danselgg_get_config('group')
utilisezelgg()->fields->get('group', 'group')
La configuration de
profile_fields
n’est plus disponible danselgg_get_config('profile_fields')
utilisezelgg()->fields->get('user', 'user')
La configuration de
pages
,group
etuser:profile
viaelgg_set_config
n’est plus possible. Utilisez une fonction de rappel sur le hookfields, <entity_type>:<entity_subtype>
.Le hook
profile:fields, group
a été remplacé par le nouveau hookfields, group:group
Le hook
profile:fields, user
a été remplacé par le nouveau hookfields, user:user
Enregistrement des noms de métadonnées de balise
En raison de diverses limitations de cette implémentation, elle a été supprimée du système. Les fonctions d’API associées suivantes ont été supprimées :
elgg_get_registered_tag_metadata_names()
elgg_register_tag_metadata_name()
elgg_unregister_tag_metadata_name()
Si vous avez besoin que des champs spécifiques puissent être recherchés, vous devez les enregistrer avec les crochets search:fields
associés. Les clés de langue des balises tagnames:xxx
associées ne sont plus enregistrées dans le système.
La fonction ElggEntity::getTags()
renverra désormais uniquement les métadonnées de balise avec le nom tags
par défaut. Si vous souhaitez vérifier des champs supplémentaires contenant des balises, vous devez le demander spécifiquement.
Widgets par défaut
La gestion magique de la création de widgets par défaut a été réduite. Vous devez maintenant enregistrer le rappel Elgg\Widgets\CreateDefaultWidgetsHandler
dans l’événement lorsque vous souhaitez que les widgets par défaut soient créés. La configuration default_widget_info
n’est plus présente dans le système. Utilisez le hook get_list
, default_widgets
pour obtenir la valeur.
Vous devez également mettre à jour les données de votre gestionnaire de hook get_list
, default_widgets
pour renvoyer event_name
(anciennement event
) et event_type
.
Permissions du conteneur
Les paramètres de fonction pour ElggEntity::canWriteToContainer()
nécessitent maintenant un $type
et un $subtype
à transmettre. Il s’agit de donner plus d’informations au hook résultant afin de pouvoir déterminer si un utilisateur est autorisé à accéder en écriture au conteneur.
Plugins
Plugin Activity
Ce plugin a reçu une réécriture bien nécessaire. Les différentes pages (all/owner/friends) ont maintenant leurs propres vues de ressources et de listes.
Plugin Diagnostics
Ce plugin a été supprimé, mais l’action pour générer un rapport est toujours disponible. Vous pouvez le trouver sur la page d’administration Information/Server
.
Plugin Discussions
Ce plugin n’ajoute plus d’onglet au menu des filtres sur les pages des groupes
L’élément de menu du site
discussions
est maintenant toujours présent
Plugin Search
La sortie des résultats de la recherche n’utilise plus la classe d’assistance Elgg\Search\Formatter
pour la préparation du contenu du résultat. Cette logique a été entièrement déplacée dans les vues.
Les fonctions associées prepareEntity
et getSearchView
dans la classe Elgg\Search\Service
ont été supprimées.
Le hook search:format, entity
a été retiré.
Plugin Web services
Le plugin Web Services a reçu une réécriture complète, ceci est principalement lié au fonctionnement interne du plugin.
Classes retirées
ElggHMACCache
a été remplacé par_elgg_services()->hmacCacheTable
(pour un usage interne uniquement)Elgg\Notifications\Event
a été remplacé parElgg\Notifications\SubscriptionNotificationEvent
Fonctions supprimées
create_api_user()
a été remplacé par_elgg_services()->apiUsersTable->createApiUser()
create_user_token()
a été remplacé par_elgg_services()->usersApiSessions->createToken()
get_api_user()
a été remplacé par_elgg_services()->apiUsersTable->getApiUser()
get_standard_api_key_array()
utilisez\Elgg\WebServices\ElggApiClient::setApiKeys()
get_user_tokens()
a été remplacé par_elgg_services()->usersApiSessions->getUserTokens()
pam_auth_session()
remove_api_user()
a été remplacé par_elgg_services()->apiUsersTable->removeApiUser()
remove_expired_user_tokens()
a été remplacé par_elgg_services()->usersApiSessions->removeExpiresTokens()
remove_user_token()
a été remplacé par_elgg_services()->usersApiSessions->removeToken()
send_api_call()
utilisez\Elgg\WebServices\ElggApiClient
send_api_get_call()
utilisez\Elgg\WebServices\ElggApiClient
send_api_post_call()
utilisez\Elgg\WebServices\ElggApiClient
service_handler()
validate_user_token()
a été remplacé par_elgg_services()->usersApiSessions->validateToken()
ws_page_handler()
ws_rest_handler()
a été remplacé par\Elgg\WebServices\RestServiceController
Changements divers
La valeur de configuration pour
servicehandler
a été suppriméeDans certains cas extrêmes, la valeur par défaut d’un paramètre API ne sera pas appliquée
Fonctions typées
Les fonctions suivantes ont maintenant leurs arguments typés, cela peut provoquer des erreurs TypeError
. De plus, certaines fonctions de classe ont une valeur de retour typée, et vous devriez mettre à jour votre définition de fonction.
Paramètres de la fonction de classe
ElggEntity::setLatLong()
requiert maintenant un nombre à virgule flottantefloat
pour$lat
et$long
ElggUser::setNotificationSetting()
requiert maintenant une chaîne de caractèresstring
pour$method
et un booléenbool
pour$enabled
Elgg\Database\Seeds\Seed::__construct()
requiert maintenant un entierint
pour$limit
Elgg\Http\ErrorResponse::__construct()
requiert maintenant un entierint
pour$status_code
Elgg\Http\OkResponse::__construct()
requiert maintenant un entierint
pour$status_code
Elgg\Http\RedirectResponse::__construct()
requiert maintenant un entierint
pour$status_code
Elgg\I18n\Translator::getInstalledTranslations()
requiert maintenant un booléenbool
pour$calculate_completeness
SiteNotification::setActor()
requiert maintenant une chaîneElggEntity
pour$entity
SiteNotification::setURL()
requiert maintenant une chaîne de caractèresstring
pour$url
SiteNotification::setRead()
requiert maintenant un booléenbool
pour$read
Type de retour d’une fonction de classe
Elgg\Upgrade\Batch::getVersion()
requiert maintenant une valeur de retour entièreint
Elgg\Upgrade\Batch::shouldBeSkipped()
requiert maintenant une valeur de retour booléennebool
Elgg\Upgrade\Batch::needsIncrementOffset()
requiert maintenant une valeur de retour booléennebool
Elgg\Upgrade\Batch::countItems()
requiert maintenant un entierint
comme valeur de retourElgg\Upgrade\Batch::run()
requiert maintenant une valeur de retourElgg\Upgrade\Result
Paramètres de la fonction de bibliothèque
add_user_to_access_collection()
requiert maintenant un entierint
pour$user_guid
et$collection_id
can_edit_access_collection()
requiert maintenant un entierint
pour$collection_id
et$user_guid
create_access_collection()
requiert maintenant une chaîne de caractèresstring
pour$name
et un entierint
pour$owner_guid
delete_access_collection()
requiert maintenant un entierint
pour$collection_id
elgg_action_exists()
exige maintenant une chaîne de caractèresstring
pour$action
elgg_add_admin_notice()
requiert maintenant une chaîne de caractèresstring
pour$id
et$message
elgg_admin_notice_exists()
requiert maintenant une chaîne de caractèresstring
pour$id
elgg_annotation_exists()
requiert maintenant un entierint
pour$entity_guid
, une chaîne de caractèresstring
pour$name
et un entierint
pour$owner_guid
elgg_delete_admin_notice()
requiert maintenant une chaîne de caractèresstring
pour$id
elgg_delete_annotation_by_id()
requiert maintenant un entierint
pour$id
elgg_deprecated_notice()
requiert maintenant une chaîne de caractèresstring
pour$msg
et$dep_version
elgg_error_response()
requiert maintenant un entierint
pour$status_code
elgg_get_access_collections()
requiert maintenant un tableauarray
pour$options
elgg_get_annotation_from_id()
requiert maintenant un entierint
pour$id
elgg_get_subscriptions_for_container()
requiert maintenant un entierint
pour$container_guid
elgg_get_plugin_from_id()
requiert maintenant une chaîne de caractèresstring
pour$plugin_id
elgg_get_plugin_setting()
requiert maintenant une chaîne de caractèresstring
pour$name
et$plugin_id
elgg_get_plugin_user_setting()
requiert maintenant une chaîne de caractèresstring
pour$name
et$plugin_id
et un entierint
pour$user_guid
elgg_get_plugins()
requiert maintenant une chaîne de caractèresstring
pour$status
elgg_get_river_item_from_id()
requiert maintenant un entierint
pour$id
elgg_list_annotations()
requiert maintenant un tableauarray
pour$options
elgg_ok_response()
requiert maintenant un entierint
pour$status_code
elgg_plugin_exists()
requiert maintenant une chaîne de caractèresstring
pour$plugin_id
elgg_redirect_response()
requiert maintenant un entierint
pour$status_code
elgg_register_action()
requiert maintenant une chaîne de caractèresstring
pour$action
et$access
elgg_send_email()
requiert maintenant un\Elgg\Email
pour$email
elgg_set_plugin_user_setting()
requiert maintenant une chaîne de caractèresstring
pour$name
et$plugin_id
et un entierint
pour$user_guid
elgg_unregister_action()
requiert maintenant une chaîne de caractèresstring
pour$action
get_access_array()
requiert maintenant un entierint
pour$user_guid
get_access_collection()
requiert maintenant un entierint
pour$collection_id
get_entity_statistics()
requiert maintenant un entierint
pour$owner_guid
get_members_of_access_collection()
requiert maintenant un entierint
pour$collection_id
et un booléenbool
pour$guids_only
get_readable_access_level()
requiert maintenant un entierint
pour$entity_access_id
get_write_access_array()
requiert maintenant un entierint
pour$user_guid
et un booléenbool
for$flush
has_access_to_entity()
requiert maintenant uneElggEntity
pour$entity
etElggUser
pour$user
remove_user_from_access_collection()
requiert maintenant un entierint
pour$user_guid
et$collection_id
system_log_get_log()
requiert maintenant un tableauarray
pour$options
messageboard_add()
requiert maintenant les typesElggUser
,ElggUser
,string
etint
elgg_register_external_file()
requiert maintenant que tous les arguments soient de typestring
elgg_unregister_external_file()
requiert maintenant que tous les arguments soient de typestring
elgg_load_external_file()
requiert maintenant que tous les arguments soient de typestring
elgg_get_loaded_external_files()
requiert maintenant que tous les arguments soient de typestring
Modification dans les paramètres de fonction
Fonctions de classe
Elgg\Http\ResponseBuilder::setStatusCode()
n’a plus de valeur par défautElggEntity::canWriteToContainer()
n’a plus de valeur par défaut pour$type
et$subtype
mais ces paramètres sont obligatoires
Fonctions de la bibliothèque
elgg_get_page_owner_guid()
n’accepte plus$guid
comme paramètreget_access_array()
n’accepte plus$flush
comme paramètreelgg_register_external_file()
n’accepte plus$priority
comme paramètre
Renommage des fonctions de callback du gestionnaire de hook/d’événement
Une attention particulière est requise si vous désenregistrez les callbacks dans vos plugins car vous devrez peut-être mettre à jour votre code.
Noyau
access_friends_acl_get_name()
changé pourElgg\Friends\AclNameHandler::class
access_friends_acl_add_friend()
changé pourElgg\Friends\AddToAclHandler::class
access_friends_acl_create()
changé pourElgg\Friends\CreateAclHandler::class
access_friends_acl_remove_friend()
changé pourElgg\Friends\RemoveFromAclHandler::class
_elgg_add_admin_widgets()
changé pourElgg\Widgets\CreateAdminWidgetsHandler::class
_elgg_admin_check_admin_validation()
changé pourElgg\Users\Validation::checkAdminValidation()
_elgg_admin_header_menu()
changé pourElgg\Menus\AdminHeader::register()
etElgg\Menus\AdminHeader::registerMaintenance()
_elgg_admin_footer_menu()
changé pourElgg\Menus\AdminFooter::registerHelpResources()
_elgg_admin_notify_admins_pending_user_validation()
changé pourElgg\Users\Validation::notifyAdminsAboutPendingUsers()
_elgg_admin_page_menu()
changé pourElgg\Menus\Page::registerAdminAdminister()
etElgg\Menus\Page::registerAdminConfigure()
etElgg\Menus\Page::registerAdminInformation()
_elgg_admin_page_menu_plugin_settings()
changé pourElgg\Menus\Page::registerAdminPluginSettings()
_elgg_admin_prepare_admin_notification_make_admin()
changé pourElgg\Notifications\MakeAdminUserEventHandler
_elgg_admin_prepare_admin_notification_remove_admin()
changé pourElgg\Notifications\RemoveAdminUserEventHandler
_elgg_admin_prepare_user_notification_make_admin()
changé pourElgg\Notifications\MakeAdminUserEventHandler
_elgg_admin_prepare_user_notification_remove_admin()
changé pourElgg\Notifications\RemoveAdminUserEventHandler
_elgg_admin_save_notification_setting()
changé pourElgg\Users\Settings::setAdminValidationNotification()
_elgg_admin_set_registration_forward_url()
changé pourElgg\Users\Validation::setRegistrationForwardUrl()
_elgg_admin_user_unvalidated_bulk_menu()
changé pourElgg\Menus\UserUnvalidatedBulk::registerActions()
_elgg_admin_user_validation_login_attempt()
changé pourElgg\Users\Validation::preventUserLogin()
_elgg_admin_user_validation_notification()
changé pourElgg\Users\Validation::notifyUserAfterValidation()
_elgg_admin_upgrades_menu()
changé pourElgg\Menus\Filter::registerAdminUpgrades()
Les actions
_elgg_cache_init()
ont été combinées dansElgg\Application\SystemEventHandlers::ready()
_elgg_clear_caches()
changé pourElgg\Cache\EventHandlers::clear()
_elgg_comments_access_sync()
changé pourElgg\Comments\SyncContainerAccessHandler::class
_elgg_comments_container_permissions_override()
changé pourElgg\Comments\ContainerPermissionsHandler::class
_elgg_comments_permissions_override()
changé pourElgg\Comments\EditPermissionsHandler::class
_elgg_comments_prepare_content_owner_notification()
changé pourElgg\Notifications\CreateCommentEventHandler
_elgg_comments_prepare_notification()
changé pourElgg\Notifications\CreateCommentEventHandler
_elgg_comments_social_menu_setup()
changé pourElgg\Menus\Social::registerComments()
_elgg_create_default_widgets()
changé pourElgg\Widgets\CreateDefaultWidgetsHandler::class
_elgg_create_notice_of_pending_upgrade()
changé pourElgg\Upgrade\CreateAdminNoticeHandler::class
_elgg_db_register_seeds()
changé pourElgg\Database\RegisterSeedsHandler::class
_elgg_disable_caches()
changé pourElgg\Cache\EventHandlers::disable()
_elgg_default_widgets_permissions_override()
changé pourElgg\Widgets\DefaultWidgetsContainerPermissionsHandler::class
_elgg_disable_password_autocomplete()
changé pourElgg\Input\DisablePasswordAutocompleteHandler::class
_elgg_enable_caches()
changé pourElgg\Cache\EventHandlers::enable()
_elgg_filestore_move_icons()
changé pourElgg\Icons\MoveIconsOnOwnerChangeHandler::class
_elgg_filestore_touch_icons()
changé pourElgg\Icons\TouchIconsOnAccessChangeHandler::class
_elgg_head_manifest()
changé pourElgg\Views\AddManifestLinkHandler::class
_elgg_annotations_default_menu_items()
changé pourElgg\Menus\Annotation::registerDelete()
_elgg_walled_garden_menu()
changé pourElgg\Menus\WalledGarden::registerHome()
_elgg_site_menu_init()
changé pourElgg\Menus\Site::registerAdminConfiguredItems()
_elgg_site_menu_setup()
changé pourElgg\Menus\Site::reorderItems()
_elgg_entity_menu_setup()
changé pourElgg\Menus\Entity::registerEdit()
etElgg\Menus\Entity::registerDelete()
_elgg_entity_navigation_menu_setup()
changé pourElgg\Menus\EntityNavigation::registerPreviousNext()
_elgg_enqueue_notification_event()
changé pourElgg\Notifications\EnqueueEventHandler::class
_elgg_groups_container_override()
changé pourElgg\Groups\MemberPermissionsHandler::class
_elgg_groups_comment_permissions_override()
changé pourElgg\Comments\GroupMemberPermissionsHandler::class
_elgg_htmlawed_filter_tags()
changé pourElgg\Input\ValidateInputHandler::class
_elgg_invalidate_caches()
changé pourElgg\Cache\EventHandlers::invalidate()
_elgg_widget_menu_setup()
changé pourElgg\Menus\Widget::registerEdit()
etElgg\Menus\Widget::registerDelete()
_elgg_login_menu_setup()
changé pourElgg\Menus\Login::registerRegistration()
etElgg\Menus\Widget::registerResetPassword()
_elgg_nav_public_pages()
changé pourElgg\WalledGarden\ExtendPublicPagesHandler::class
_elgg_notifications_cron()
changé pourElgg\Notifications\ProcessQueueCronHandler::class
_elgg_notifications_smtp_default_message_id_header()
changé pourElgg\Email\DefaultMessageIdHeaderHandler::class
_elgg_notifications_smtp_thread_headers()
changé pourElgg\Email\ThreadHeadersHandler::class
_elgg_rebuild_public_container()
changé pourElgg\Cache\EventHandlers::rebuildPublicContainer()
_elgg_river_update_object_last_action()
changé pourElgg\River\UpdateLastActionHandler::class
_elgg_rss_menu_setup()
changé pourElgg\Menus\Footer::registerRSS()
_elgg_plugin_entity_menu_setup()
changé pourElgg\Menus\Entity::registerPlugin()
_elgg_purge_caches()
changé pourElgg\Cache\EventHandlers::purge()
_elgg_river_menu_setup()
changé pourElgg\Menus\River::registerDelete()
_elgg_save_notification_user_settings()
changé pourElgg\Notifications\SaveUserSettingsHandler::class
_elgg_session_cleanup_persistent_login()
changé pourElgg\Users\CleanupPersistentLoginHandler::class
_elgg_set_lightbox_config()
changé pourElgg\Javascript\SetLightboxConfigHandler::class
_elgg_set_user_default_access()
changé pourElgg\Users\Settings::setDefaultAccess()
_elgg_set_user_email()
changé pourElgg\Users\Settings::setEmail()
_elgg_set_user_password()
changé pourElgg\Users\Settings::setPassword()
_elgg_set_user_language()
changé pourElgg\Users\Settings::setLanguage()
_elgg_set_user_name()
changé pourElgg\Users\Settings::setName()
_elgg_set_user_username()
changé pourElgg\Users\Settings::setUsername()
_elgg_send_email_notification()
changé pourElgg\Notifications\SendEmailHandler::class
_elgg_upgrade_completed()
changé pourElgg\Upgrade\UpgradeCompletedAdminNoticeHandler::class
_elgg_upgrade_entity_menu()
changé pourElgg\Menus\Entity::registerUpgrade()
_elgg_user_ban_notification()
changé pourElgg\Users\BanUserNotificationHandler::class
_elgg_user_get_subscriber_unban_action()
changé pourElgg\Notifications\UnbanUserEventHandler
_elgg_user_prepare_unban_notification()
changé pourElgg\Notifications\UnbanUserEventHandler
_elgg_user_settings_menu_register()
changé pourElgg\Menus\Page::registerUserSettings()
etElgg\Menus\Page::registerUserSettingsPlugins()
_elgg_user_settings_menu_prepare()
changé pourElgg\Menus\Page::cleanupUserSettingsPlugins()
elgg_user_hover_menu()
changé pourElgg\Menus\UserHover::registerAvatarEdit()
etElgg\Menus\UserHover::registerAdminActions()
_elgg_user_set_icon_file()
changé pourElgg\Icons\SetUserIconFileHandler::class
_elgg_user_title_menu()
changé pourElgg\Menus\Title::registerAvatarEdit()
_elgg_user_page_menu()
changé pourElgg\Menus\Page::registerAvatarEdit()
_elgg_user_topbar_menu()
changé pourElgg\Menus\Topbar::registerUserLinks()
_elgg_user_unvalidated_menu()
changé pourElgg\Menus\UserUnvalidated::register()
_elgg_views_amd()
changé pourElgg\Views\AddAmdModuleNameHandler::class
_elgg_views_file_help_upload_limit()
changé pourElgg\Input\AddFileHelpTextHandler::class
_elgg_views_init()
a été combiné dansElgg\Application\SystemEventHandlers::init()
_elgg_views_minify()
changé pourElgg\Views\MinifyHandler::class
_elgg_views_prepare_favicon_links()
changé pourElgg\Page\AddFaviconLinksHandler::class
_elgg_views_preprocess_css()
changé pourElgg\Views\PreProcessCssHandler::class
_elgg_views_send_header_x_frame_options()
changé pourElgg\Page\SetXFrameOptionsHeaderHandler::class
_elgg_walled_garden_init()
fusionné dansElgg\Application\SystemEventHandlers::initLate()
_elgg_walled_garden_remove_public_access()
changé pourElgg\WalledGarden\RemovePublicAccessHandler::class
_elgg_widgets_widget_urls()
changé pourElgg\Widgets\EntityUrlHandler::class
elgg_prepare_breadcrumbs()
changé pourElgg\Page\PrepareBreadcrumbsHandler::class
Elgg\Profiler::handleOutput
changé pourElgg\Debug\Profiler::class
users_init
combiné dansElgg\Application\SystemEventHandlers::initLate()
Plugins
_developers_entity_menu
changé pourElgg\Developers\Menus\Entity::registerEntityExplorer
_developers_page_menu
changé pourElgg\Developers\Menus\Page::register
_elgg_activity_owner_block_menu
changé pourElgg\Activity\Menus\OwnerBlock::registerUserItem
etElgg\Activity\Menus\OwnerBlock::registerGroupItem
blog_archive_menu_setup
changé pourElgg\Blog\Menus\BlogArchive::register
blog_owner_block_menu
changé pourElgg\Blog\Menus\OwnerBlock::registerUserItem
etElgg\Blog\Menus\OwnerBlock::registerGroupItem
blog_prepare_notification
changé pourElgg\Blog\Notifications\PublishBlogEventHandler
blog_register_db_seeds
changé pourElgg\Blog\Database::registerSeeds
bookmarks_footer_menu
changé pourElgg\Bookmarks\Menus\Footer::register
bookmarks_owner_block_menu
changé pourElgg\Bookmarks\Menus\OwnerBlock::registerUserItem
etElgg\Bookmarks\Menus\OwnerBlock::registerGroupItem
bookmarks_page_menu
changé pourElgg\Bookmarks\Menus\Page::register
bookmarks_prepare_notification
changé pourElgg\Bookmarks\Notifications\CreateBookmarksEventHandler
bookmarks_register_db_seeds
changé pourElgg\Bookmarks\Database::registerSeeds
ckeditor_longtext_id
changé pourElgg\CKEditor\Views::setInputLongTextIDViewVar
ckeditor_longtext_menu
changé pourElgg\CKEditor\Menus\LongText::registerToggler
dashboard_default_widgets
changé pourElgg\Dashboard\Widgets::extendDefaultWidgetsList
developers_log_events
changé pourElgg\Developers\HandlerLogger::trackEvent
etElgg\Developers\HandlerLogger::trackHook
diagnostics_basic_hook
changé pourElgg\Diagnostics\Reports::getBasic
diagnostics_globals_hook
changé pourElgg\Diagnostics\Reports::getGlobals
diagnostics_phpinfo_hook
changé pourElgg\Diagnostics\Reports::getPHPInfo
diagnostics_sigs_hook
changé pourElgg\Diagnostics\Reports::getSigs
discussion_comment_permissions
changé pourElgg\Discussions\Permissions::preventCommentOnClosedDiscussion
discussion_get_subscriptions
changé pourElgg\Discussions\Notifications::addGroupSubscribersToCommentOnDiscussionSubscriptions
discussion_owner_block_menu
changé pourElgg\Discussions\Menus\OwnerBlock::registerGroupItem
discussion_prepare_comment_notification
changé pourElgg\Discussions\Notifications::prepareCommentOnDiscussionNotification
discussion_prepare_notification
changé pourElgg\Discussions\Notifications\CreateDiscussionEventHandler
discussion_register_db_seeds
changé pourElgg\Discussions\Database::registerSeeds
Elgg\DevelopersPlugins\*
changé pourElgg\Developers\*
Elgg\Discussions\Menus::registerSiteMenuItem
changé pourElgg\Discussions\Menus\Site::register
Elgg\Discussions\Menus::filterTabs
changé pourElgg\Discussions\Menus\Filter::filterTabsForDiscussions
embed_longtext_menu
changé pourElgg\Embed\Menus\LongText::register
embed_select_tab
changé pourElgg\Embed\Menus\Embed::selectCorrectTab
embed_set_thumbnail_url
changé pourElgg\Embed\Icons::setThumbnailUrl
expages_menu_register_hook
changé pourElgg\ExternalPages\Menus\ExPages::register
file_handle_object_delete
changé pourElgg\File\Icons::deleteIconOnElggFileDelete
file_prepare_notification
changé pourElgg\File\Notifications\CreateFileEventHandler
file_register_db_seeds
changé pourElgg\File\Database::registerSeeds
file_set_custom_icon_sizes
changé pourElgg\File\Icons::setIconSizes
file_set_icon_file
changé pourElgg\File\Icons::setIconFile
file_set_icon_url
changé pourElgg\File\Icons::setIconUrl
file_owner_block_menu
changé pourElgg\File\Menus\OwnerBlock::registerUserItem
etElgg\File\Menus\OwnerBlock::registerGroupItem
_elgg_friends_filter_tabs
changé pourElgg\Friends\Menus\Filter::registerFilterTabs
_elgg_friends_page_menu
changé pourElgg\Friends\Menus\Page::register
_elgg_friends_register_access_type
changé pourElgg\Friends\Access::registerAccessCollectionType
_elgg_friends_setup_title_menu
changé pourElgg\Friends\Menus\Title::register
_elgg_friends_setup_user_hover_menu
changé pourElgg\Friends\Menus\UserHover::register
_elgg_friends_topbar_menu
changé pourElgg\Friends\Menus\Topbar::register
_elgg_friends_widget_urls
changé pourElgg\Friends\Widgets::setWidgetUrl
_elgg_send_friend_notification
changé pourElgg\Friends\Notifications::sendFriendNotification
Elgg\Friends\FilterMenu::addFriendRequestTabs
changé pourElgg\Friends\Menus\Filter::addFriendRequestTabs
Elgg\Friends\RelationshipMenu::addPendingFriendRequestItems
changé pourElgg\Friends\Menus\Relationship::addPendingFriendRequestItems
Elgg\Friends\RelationshipMenu::addPendingFriendRequestItems
changé pourElgg\Friends\Menus\Relationship::addPendingFriendRequestItems
Elgg\Friends\Relationships::createFriendRelationship
changé pourElgg\Friends\Relationships::removePendingFriendRequest
_groups_gatekeeper_allow_profile_page
changé pourElgg\Groups\Access::allowProfilePage
_groups_page_menu
changé pourElgg\Groups\Menus\Page::register
_groups_page_menu_group_profile
changé pourElgg\Groups\Menus\Page::registerGroupProfile
_groups_relationship_invited_menu
changé pourElgg\Groups\Menus\Relationship::registerInvitedItems
_groups_relationship_member_menu
changé pourElgg\Groups\Menus\Relationship::registerRemoveUser
_groups_relationship_membership_request_menu
changé pourElgg\Groups\Menus\Relationship::registerMembershipRequestItems
_groups_title_menu
changé pourElgg\Groups\Menus\Title::register
_groups_topbar_menu_setup
changé pourElgg\Groups\Menus\Topbar::register
groups_access_default_override
changé pourElgg\Groups\Access::overrideDefaultAccess
groups_create_event_listener
changé pourElgg\Groups\Group::createAccessCollection
groups_default_page_owner_handler
changé pourElgg\Groups\PageOwner::detectPageOwner
groups_entity_menu_setup
changé pourElgg\Groups\Menus\Entity::register
etElgg\Groups\Menus\Entity::registerFeature
groups_fields_setup
changé pourElgg\Groups\FieldsHandler
groups_members_menu_setup
changé pourElgg\Groups\Menus\GroupsMembers::register
groups_set_access_collection_name
changé pourElgg\Groups\Access::getAccessCollectionName
groups_set_url
changé pourElgg\Groups\Group::getEntityUrl
groups_setup_filter_tabs
changé pourElgg\Groups\Menus\Filter::registerGroupsAll
groups_update_event_listener
changé pourElgg\Groups\Group::updateGroup
groups_user_join_event_listener
changé pourElgg\Groups\Group::joinGroup
groups_user_leave_event_listener
changé pourElgg\Groups\Group::leaveGroup
groups_write_acl_plugin_hook
changé pourElgg\Groups\Access::getWriteAccess
invitefriends_add_friends
changé pourElgg\InviteFriends\Users::addFriendsOnRegister
invitefriends_register_page_menu
changé pourElgg\InviteFriends\Menus\Page::register
likes_permissions_check
changé pourElgg\Likes\Permissions::allowLikedEntityOwner
likes_permissions_check_annotate
changé pourElgg\Likes\Permissions::allowLikeOnEntity
likes_social_menu_setup
changé pourElgg\Likes\Menus\Social::register
members_register_filter_menu
changé pourElgg\Members\Menus\Filter::register
messages_can_edit
changé pourElgg\Messages\Permissions::canEdit
messages_can_edit_container
changé pourElgg\Messages\Permissions::canEditContainer
messages_purge
changé pourElgg\Messages\User::purgeMessages
messages_register_topbar
changé pourElgg\Messages\Menus\Topbar::register
messages_user_hover_menu
changé pourElgg\Messages\Menus\UserHover::register
etElgg\Messages\Menus\Title::register
notifications_update_collection_notify
changé pourElgg\Notifications\Relationships::updateUserNotificationsPreferencesOnACLChange
notifications_update_friend_notify
changé pourElgg\Friends\Relationships::applyFriendNotificationsSettings
notifications_relationship_remove
changé pourElgg\Friends\Relationships::deleteFriendNotificationSubscription
etElgg\Groups\Relationships::removeGroupNotificationSubscriptions
_notifications_page_menu
changé pourElgg\Notifications\Menus\Page::register
_notification_groups_title_menu
changé pourElgg\Notifications\Menus\Title::register
pages_container_permission_check
changé pourElgg\Pages\Permissions::allowContainerWriteAccess
pages_entity_menu_setup
changé pourElgg\Pages\Menus\Entity::register
pages_icon_url_override
changé pourElgg\Pages\Icons::getIconUrl
pages_owner_block_menu
changé pourElgg\Pages\Menus\OwnerBlock::registerUserItem
etElgg\Pages\Menus\OwnerBlock::registerGroupItem
pages_prepare_notification
changé pourElgg\Pages\Notifications\CreatePageEventHandler
pages_register_db_seeds
changé pourElgg\Pages\Database::registerSeeds
pages_set_revision_url
changé pourElgg\Pages\Extender::setRevisionUrl
pages_write_access_options_hook
changé pourElgg\Pages\Views::removeAccessPublic
pages_write_access_vars
changé pourElgg\Pages\Views::preventAccessPublic
pages_write_permission_check
changé pourElgg\Pages\Permissions::allowWriteAccess
Elgg\Pages\Menus::registerPageMenuItems
changé pourElgg\Pages\Menus\PagesNav::register
_profile_admin_page_menu
changé pourElgg\Profile\Menus\Page::registerAdminProfileFields
_profile_fields_setup
changé pourElgg\Profile\FieldsHandler
_profile_title_menu
changé pourElgg\Profile\Menus\Title::register
_profile_topbar_menu
changé pourElgg\Profile\Menus\Topbar::register
_profile_user_hover_menu
changé pourElgg\Profile\Menus\UserHover::register
_profile_user_page_menu
changé pourElgg\Profile\Menus\Page::registerProfileEdit
profile_default_widgets_hook
changé pourElgg\Profile\Widgets::getDefaultWidgetsList
reportedcontent_user_hover_menu
changé pourElgg\ReportedContent\Menus\UserHover::register
search_exclude_robots
changé pourElgg\Search\Site::preventSearchIndexing
search_output_tag
changé pourElgg\Search\Views::setSearchHref
site_notifications_register_entity_menu
changé pourElgg\SiteNotifications\Menus\Entity::register
site_notifications_send
changé pourElgg\SiteNotifications\Notifications::createSiteNotifications
_uservalidationbyemail_user_unvalidated_bulk_menu
changé pourElgg\UserValidationByEmail\Menus\UserUnvalidatedBulk::register
_uservalidationbyemail_user_unvalidated_menu
changé pourElgg\UserValidationByEmail\Menus\UserUnvalidated::register
uservalidationbyemail_after_registration_url
changé pourElgg\UserValidationByEmail\Response::redirectToEmailSent
uservalidationbyemail_check_manual_login
changé pourElgg\UserValidationByEmail\User::preventLogin
uservalidationbyemail_disable_new_user
changé pourElgg\UserValidationByEmail\User::disableUserOnRegistration
system_log_archive_cron
changé pourElgg\SystemLog\Cron::rotateLogs
system_log_default_logger
changé pourElgg\SystemLog\Logger::log
system_log_delete_cron
changé pourElgg\SystemLog\Cron::deleteLogs
system_log_listener
changé pourElgg\SystemLog\Logger::listen
system_log_user_hover_menu
changé pourElgg\SystemLog\Menus\UserHover::register
thewire_add_original_poster
changé pourElgg\TheWire\Notifications\CreateTheWireEventHandler
thewire_owner_block_menu
changé pourElgg\TheWire\Menus\OwnerBlock::register
thewire_prepare_notification
changé pourElgg\TheWire\Notifications\CreateTheWireEventHandler
thewire_setup_entity_menu_items
changé pourElgg\TheWire\Menus\Entity::register
Exceptions retravaillées
Toutes les exceptions du système Elgg étendent désormais Elgg\Exceptions\Exception
et se trouvent dans l’espace de noms Elgg\Exceptions
Exceptions déplacées
ClassException
utilisezElgg\Exceptions\ClassException
ConfigurationException
utilisezElgg\Exceptions\ConfigurationException
CronException
utilisezElgg\Exceptions\CronException
DatabaseException
utilisezElgg\Exceptions\DatabaseException
DataFormatException
utilisezElgg\Exceptions\DataFormatException
InstallationException
utilisezElgg\Exceptions\Configuration\InstallationException
InvalidParameterException
utilisezElgg\Exceptions\InvalidParameterException
IOException
utilisezElgg\Exceptions\FileSystem\IOException
LoginException
utilisezElgg\Exceptions\LoginException
PluginException
utilisezElgg\Exceptions\PluginException
RegistrationException
utilisezElgg\Exceptions\Configuration\RegistrationException
SecurityException
utilisezElgg\Exceptions\SecurityException
Elgg\Database\EntityTable\UserFetchFailureException
utilisezElgg\Exceptions\Database\UserFetchFailureException
Elgg\Di\FactoryUncallableException
utilisezElgg\Exceptions\Di\FactoryUncallableException
Elgg\Di\MissingValueException
utilisezElgg\Exceptions\Di\MissingValueException
Elgg\Http\Exception\AdminGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\AdminGatekeeperException
Elgg\Http\Exception\AjaxGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\AjaxGatekeeperException
Elgg\Http\Exception\GroupToolGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\GroupToolGatekeeperException
Elgg\Http\Exception\LoggedInGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\LoggedInGatekeeperException
Elgg\Http\Exception\LoggedOutGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\LoggedOutGatekeeperException
Elgg\Http\Exception\UpgradeGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\UpgradeGatekeeperException
Elgg\I18n\InvalidLocaleException
utilisezElgg\Exceptions\I18n\InvalidLocaleException
Elgg\BadRequestException
utilisezElgg\Exceptions\Http\BadRequestException
Elgg\CsrfException
utilisezElgg\Exceptions\Http\CsrfException
Elgg\EntityNotFoundException
utilisezElgg\Exceptions\Http\EntityNotFoundException
Elgg\EntityPermissionsException
utilisezElgg\Exceptions\Http\EntityPermissionsException
Elgg\GatekeeperException
utilisezElgg\Exceptions\Http\GatekeeperException
Elgg\GroupGatekeeperException
utilisezElgg\Exceptions\Http\Gatekeeper\GroupGatekeeperException
Elgg\HttpException
utilisezElgg\Exceptions\HttpException
Elgg\PageNotFoundException
utilisezElgg\Exceptions\Http\PageNotFoundException
Elgg\ValidationException
utilisezElgg\Exceptions\Http\ValidationException
Elgg\WalledGardenException
utilisezElgg\Exceptions\Http\Gatekeeper\WalledGardenException
Exceptions supprimées
CallException
ClassNotFoundException
IncompleteEntityException
InvalidClassException
NotificationException
NotImplementedException
du plugin Web Services
Traits retravaillés
Afin de mieux organiser l’espace de noms Elgg, tous les Traits ont été déplacés vers l’espace de noms Elgg\Traits
Elgg\Cacheable
a été déplacé versElgg\Traits\Cacheable
Elgg\Cli\PluginsHelper
a été déplacé versElgg\Traits\Cli\PluginsHelper
Elgg\Cli\Progressing
a été déplacé versElgg\Traits\Cli\Progressing
Elgg\Database\Seeds\Seeding\GroupHelpers
a été déplacé versElgg\Traits\Seeding\GroupHelpers
Elgg\Database\Seeds\Seeding\TimeHelpers
a été déplacé versElgg\Traits\Seeding\TimeHelpers
Elgg\Database\Seeds\Seeding
a été déplacé versElgg\Traits\Seeding
Elgg\Database\LegacyQueryOptionsAdapter
a été déplacé versElgg\Traits\Database\LegacyQueryOptionsAdapter
Elgg\Debug\Profilable
a été déplacé versElgg\Traits\Debug\Profilable
Elgg\Di\ServiceFacade
a été déplacé versElgg\Traits\Di\ServiceFacade
Elgg\Entity\ProfileData
a été déplacé versElgg\Traits\Entity\ProfileData
Elgg\Loggable
a été déplacé versElgg\Traits\Loggable
Elgg\Notifications\EventSerialization
a été déplacé versElgg\Traits\Notifications\EventSerialization
Elgg\TimeUsing
a été déplacé versElgg\Traits\TimeUsing
Modifications d’API diverses
La valeur par défaut pour
ignore_empty_body
etprevent_double_submit
lors de l’utilisation deelgg_view_form
a été changé pourtrue
.Les formulaires de paramètres de plugin (
plugins/{$plugin_id}/settings
) ne reçoivent plus$vars['plugin']
, utilisez$vars['entity']
Elgg\Router\Middleware\WalledGarden::isPublicPage()
ne peut plus être appelé de manière statiqueElgg\Cli\Plugin Helper::get Dependents()
n’est plus disponible publiquementElggPlugin::getLanguagesPath()
n’est plus disponible publiquementUn
\ElggBatch
n’implémente plus l’interfaceElgg\BatchResult
mais a toujours les mêmes fonctionnalitésUne
\ElggEntity
n’implémente plus l’interfaceLocatable
mais a toujours les mêmes fonctionnalitésUn
\Elgg\Event
n’implémente plus les interfaces\Elgg\ObjectEvent
et\Elgg\UserEvent
mais a toujours les mêmes fonctionnalitésLa vue
output/icon
n’utilise plus la variable de vueconvert
ElggData::save()
renvoie désormais toujours unbool
tel que documenté. Toutes les classes d’extension ont été mises à jour (par exempleElggEntity
,ElggMetadata
,ElggRelationship
, etc.)Elgg\Email::getTo()
renvoie désormais toujours unarray
ElggPlugin::activate()
etElggPlugin::deactivate()
peuvent maintenant lancer uneElgg\Exceptions\PluginException
avec plus d’informations sur l’échec\ElggRelationship::RELATIONSHIP_LIMIT
a été supprimé utilisez ElggDatabaseRelationshipsTable::RELATIONSHIP_COLUMN_LENGTH``Les constantes
ORIGIN_SUBSCRIPTIONS
etORIGIN_INSTANT
dans\Elgg\Notifications\Notification
ont été suppriméesVous ne pouvez plus utiliser l’événement
delete, <entity_type>
pour empêcher la suppression d’une entité. Utilisez l’événementdelete:before, <entity_type>
Les fichiers externes ne sont plus classés par priorité mais seront retournés dans le même ordre qu’ils sont enregistrés
L’interface
Friendable
a été supprimée. Les fonctions implémentées dansElggUser
ont été déplacées versElgg\Traits\Entity\Friends
Le drapeau de configuration
profile_using_custom
n’est plus disponibleLa valeur de retour de
elgg_create_river_item()
serafalse
dans le cas où la création a été empêchée par l’événement'create:before', 'river'
La constante
ELGG_PLUGIN_USER_SETTING_PREFIX
a été supprimée, utilisez la fonction d’assistance\ElggUser::getNamespacedPluginSettingName()
La constante
ELGG_PLUGIN_INTERNAL_PREFIX
a été supprimée, pour obtenir le nom de paramètre privé de priorité du plugin utilisez\ElggPlugin::PRIORITY_SETTING_NAME
La classe
SiteNotificationFactory
a été supprimée, utilisezSiteNotification::factory()
La classe
Elgg\Email\Address
ne lance plusLaminas\Mail\Exception\InvalidArgumentException
mais lance maintenantElgg\Exceptions\InvalidArgumentException
APIs dépréciées
Fonctions de classe
ElggPlugin::getUserSetting()
utilisezElggUser::getPluginSetting()
ElggPlugin::setUserSetting()
utilisezElggUser::setPluginSetting()
Fonctions de la bibliothèque
forward()
utilisez des instancesElgg\Exceptions\HttpException
ouelgg_redirect_response()
Hooks plugin
'usersettings', 'plugin'
utilisez le hook'plugin_setting', '<entity type>'
Fonctions supprimées
Fonctions de classe
Elgg\Config::getEntityTypes()
utilisez la constanteElgg\Config::ENTITY_TYPES
ElggFile::setDescription()
utilisez$file->description = $new_description
ElggGroup::addObjectToGroup()
ElggGroup::removeObjectFromGroup()
ElggPlugin::getAllUserSettings()
ElggPlugin::getDependencyReport()
ElggPlugin::getError()
ElggPlugin::unsetAllUserSettings()
ElggPlugin::unsetAllUserAndPluginSettings()
utilisezElggPlugin::unsetAllEntityAndPluginSettings()
ElggWidget::getContext()
utilisez$entity->context
ElggWidget::setContext()
utilisez$entity->context = $context
Elgg\Notifications\NotificationsService::getDeprecatedHandler()
Elgg\Notifications\NotificationsService::getMethodsAsDeprecatedGlobal()
utilisezelgg_get_notification_methods()
Elgg\Notifications\NotificationsService::registerDeprecatedHandler()
Elgg\Notifications\NotificationsService::setDeprecatedNotificationSubject()
Elgg\Email::getRecipient()
utilisezElgg\Email::getTo()
Elgg\Email::setRecipient()
Elgg\Entity::getLocation()
utilisez$entity->location
Elgg\Entity::setLocation()
utilisez$entity->location = $location
Fonctions de la bibliothèque
access_get_show_hidden_status()
utilisezelgg()->session->getDisabledEntityVisibility()
diagnostics_md5_dir()
elgg_add_subscription()
utilisez\ElggEntity::addSubscription()
elgg_get_available_languages()
utilisezelgg()->translator->getAvailableLanguages()
elgg_get_all_plugin_user_settings()
elgg_get_entities_from_plugin_user_settings()
utilisezelgg_get_entities()
avec les paramètres de configuration privés et préfixez le nom de votre paramètre avecplugin:user_setting:
elgg_get_filter_tabs()
utilise les hooks de menu sur'register', 'menu:filter:<filter_id>'
elgg_get_loaded_css()
utilisezelgg_get_loaded_external_files('css', 'head')
elgg_get_loaded_js()
utilisezelgg_get_loaded_external_files('js', $location)
elgg_get_system_messages()
utilisezelgg()->system_messages->loadRegisters()
elgg_prepend_css_urls()
elgg_remove_subscription()
utilisez\ElggEntity::removeSubscription()
elgg_set_plugin_setting()
utilisez$plugin->setSetting($name, $value)
elgg_set_plugin_user_setting()
utilisezElggUser::setPluginSetting()
elgg_set_system_messages()
utilisezelgg()->system_messages->saveRegisters()
elgg_unset_plugin_setting()
utilisez$plugin->unsetSetting($name)
elgg_unset_plugin_user_setting()
utilisezElggUser::removePluginSetting()
get_language_completeness()
utilisezelgg()->translator->getLanguageCompleteness()
get_installed_translations()
utilisezelgg()->translator->getInstalledTranslations()
group_access_options()
pages_is_page()
system_log_get_log()
system_log_get_log_entry()
system_log_get_object_from_log_entry()
system_log_get_seconds_in_period()
system_log_archive_log()
system_log_browser_delete_log()
thewire_get_parent()
utilisez\ElggWire::getParent()
validate_email_address()
utilisezelgg()->accounts->assertValidEmail()
validate_password()
utilisezelgg()->accounts->assertValidPassword()
validate_username()
utilisezelgg()->accounts->assertValidUsername()
Vues / ressources supprimées
admin/develop_tools/inspect/webservices
elgg/thewire.js
input/urlshortener
messages/js
a été déplacé versforms/messages/process.js
navigation/menu/elements/item_deps
la fonctionnalité a été fusionnée dansnavigation/menu/elements/item
object/plugin/elements/contributors
notifications/groups
notifications/personal
utiliseznotifications/settings
ounotifications/users
notifications/settings/personal
a été déplacé versnotifications/settings/records
notifications/settings/collections
notifications/settings/other
étendnotifications/settings/records
notifications/subscriptions/groups
utilisezforms/notifications/subscriptions/groups
notifications/subscriptions/users
utilisezforms/notifications/subscriptions/users
resources/comments/view
utilisez\Elgg\Controllers\CommentEntityRedirector
resources/river
utilisezresources/activity/all
ouresources/activity/owner
ouresources/activity/friends
reportedcontent/admin_css
thewire/previous
Hooks/événements retirés
L’événement
created, river
a été supprimé. Utilisez l’événementcreate:after, river
.Le hook
creating, river
a été supprimé. Utilisez l’événementcreate:before, river
si vous souhaitez bloquer la création d’un élément river.Le hook
filter_tabs, <context>
a été supprimé. Utilisez le hookregister, menu:filter:<filter_id>
Le hook
output, ajax
a été supprimé. Utilisez le hookajax_response
si vous souhaitez modifier les résultats.Le hook
reportedcontent:add
a été supprimé. Utilisez l’événementcreate, object
pour empêcher la création.Le hook
reportedcontent:archive
a été supprimé. Utilisez le hookpermissions_check, object
.Le hook
reportedcontent:delete
a été supprimé. Utilisez l’événementdelete, object
pour empêcher la suppression.
Actions supprimées
L’action
reportedcontent/delete
a été remplacée par une action de suppression d’entité générique