De 4.x à 5.0
CKEditor
L’éditeur a été mis à jour vers la version 5. Cela apporte quelques nouvelles fonctionnalités (comme les mentions et les images dans le contenu) mais impacte également les plugins existants. Les plus notables sont The Wire (qui a désormais également mentionné le support) et la suppression du plugin Embed.
Le menu “longtext” associé n’est plus disponible.
Composer
Pré-requis PHP
La version minimale de PHP est maintenant 8.0.
Faker
La bibliothèque faker n’est plus maintenue par fzaninotto, nous sommes donc passés à un fork qui est maintenu par FakerPHP.
Événements et Hooks
Ces deux concepts similaires ont été fusionnés et nous ne ferons désormais référence qu’à des événements. Les « crochets » du service public n’existent plus. Tous les hooks peuvent maintenant être enregistrés dans la section « événements » de votre plugin. Si vous utilisez des rappels de hook qui attendent un argument ElggHook d’indication de type, vous devrez le mettre à jour vers ElggEvent.
Créer un événement
Les événements create, <object|group|user|site> ne peuvent plus être utilisés pour empêcher la création de l’entité. Utilisez create:before si vous souhaitez empêcher la création.
Paramètres privés
Le concept de paramètres privés a été supprimé du système. Tous les paramètres privés ont été copiés dans les métadonnées. Toutes les fonctions associées ont été supprimées.
Mises à niveau
Les mises à niveau asynchrones ou système ne sont plus des classes qui implémentent des interfaces, mais étendent des classes abstraites. Mettez à jour vos mises à niveau pour étendre les classes appropriées. La raison de ce changement est de pouvoir accéder à l’entité ElggUpgrade à partir du Batch qui exécute une partie de la mise à niveau. Vous pouvez accéder à la mise à niveau en appelant $this->getUpgrade().
Session
Si vous utilisez le service de session directement (ou via elgg_get_session()), vous devrez peut-être mettre à jour votre code. Diverses fonctions de cette classe ont été déplacées vers le service elgg()->session_manager.
Gestionnaires d’accès
Le middleware PageOwnerCanEditGatekeeper requiert désormais de définir un propriétaire de page. Ce contrôleur d’accès requiert désormais également un utilisateur connecté à tout moment.
Plugin Files
Les fichiers téléchargés à l’aide du plugin de fichiers « file » ne sont plus stockés avec le propriétaire mais avec l’entité du fichier. Les icônes de fichiers ont également été modifiées. Les images d’icônes ne sont disponibles que pour les types de fichiers image. La taille des icônes a été modifiée pour utiliser les tailles d’icône par défaut.
Plugin Embed
Le plugin embed a été supprimé.
JavaScript
Hooks système
Les fonctions de hook javascript ont été déplacées vers un module AMD. Si vous avez utilisé des hooks javascript, vous devez mettre à jour votre code pour utiliser le module elgg/hook. Le concept de “hooks instantanés” n’est plus présent dans le système.
L’événement 'init', 'system' n’est plus déclenché en javascript.
Fonctions supprimées
elgg.is_in_object_arrayelgg.is_instant_hookelgg.is_triggered_hookelgg.push_to_object_arrayelgg.register_hook_handlerutilise la fonctionregisterfournie par le moduleelgg\hookselgg.register_instant_hookelgg.set_triggered_hookelgg.trigger_hookutilisez la fonctiontriggerfournie par le moduleelgg\hooks
Exceptions
L’utilisation des exceptions dans Elgg a été revisitée. \Elgg\Exceptions\InvalidParameterException a été supprimé et remplacé par l’exception correcte. L’utilisation de \Elgg\Exceptions\InvalidArgumentException a également été vérifiée. Dans certains cas, l’exception a été remplacée par une exception plus appropriée.
ElggRiverItem
Il n’est désormais plus permis de définir des données arbitraires pendant l’exécution sur un ElggRiverItem. Étant donné que les données n’étaient disponibles que pendant l’exécution et n’étaient pas enregistrées dans la base de données, cette distinction a été supprimée. Lors de la définition d’un attribut non pris en charge, une \Elgg\Exceptions\RuntimeException est levée.
// this is allowed
$item = new \ElggRiverItem();
$item->subject_guid = elgg_get_logged_in_user_guid();
// this is no longer allowed (causes an \Elgg\Exceptions\RuntimeException)
$item = new \ElggRiverItem();
$item->foo = 'bar';
Options des métadonnées dans les fonctions de récupération (« getter »)
Auparavant, il existait une magie qui transformait la chaîne metadata_value en tableau si elle contenait un ,.
Cette magie a été supprimée. Vous devez maintenant fournir le tableau vous-même. En raison de cette magie, il était impossible de rechercher une valeur de métadonnées contenant un ,.
// previously
$options = [
'metadata_name_value_pairs' => [
'some_name' => 'some_value1, some_value2',
],
];
// would result into, thus giving it an OR value
$options = [
'metadata_name_value_pairs' => [
'name' => 'some_name',
'value' => [
'some_value1',
'some_value2',
],
'operand' => '=',
],
];
Modification dans les fonctions
Les fonctions suivantes ont maintenant leurs arguments et/ou valeurs de retour typées, ce qui peut provoquer des erreurs TypeError. De plus, certaines fonctions de classe ont leur type de valeur de retour indiqué et vous devez mettre à jour la définition de votre fonction. Certaines fonctions peuvent avoir leurs arguments modifiés, ou le type de retour a été modifié.
Types de retour des fonctions des bibliothèques
elgg_add_admin_notice()renvoie maintenantnullen cas d’erreur au lieu d’unboolelgg_create_river_item()renvoie désormaisunElggRiverItem, ounullen cas d’échecelgg_delete_metadata()ne renvoie plusnullelgg_delete_river()ne renvoie plusnullelgg_deprecated_notice()ne renvoie plusboolelgg_generate_entity_url()renvoie maintenantnullen cas d’erreur au lieu d’unboolelgg_generate_url()renvoie maintenantnullen cas d’erreur au lieu d’unboolelgg_get_annotation_from_id()renvoie désormaisnullau lieu d’unboolsi aucune annotation n’est trouvéeelgg_get_download_url()renvoie maintenantnullen cas d’erreurelgg_get_entity_as_row()renvoie désormaisnullau lieu d’unboolsi aucune entité n’est trouvéeelgg_get_entity_dates()ne renvoie plus unboolelgg_get_form_footer()ne renvoie plus unboolelgg_get_inline_url()renvoie maintenantnullen cas d’erreurelgg_get_metadata_from_id()renvoie désormaisnullsi aucune métadonnée n’a pu être trouvéeelgg_get_page_owner_entity()renvoie désormaisnullsi le propriétaire de la page n’a pas pu être trouvéelgg_get_river_item_from_id()renvoie désormaisnullsi aucun élément de rivière n’a pu être trouvéelgg_get_system_cache()renvoie désormais une instance de\Elgg\Cache\BaseCacheau lieu de\ElggCacheelgg_get_uploaded_file()renvoie désormaisnullsi aucun fichier n’a pu être trouvé ou si le fichier n’était pas valideelgg_normalize_site_url()renvoie désormaisnulllorsque l’URL n’est pas une URL de siteelgg_register_action()ne renvoie plus unboolelgg_register_menu_item()n’a plus de valeur de retourelgg_register_widget_type()n’a plus de valeur de retourelgg_set_form_footer()n’a plus de valeur de retourelgg_trigger_after_event()n’a plus de valeur de retourelgg_unregister_action()n’a plus de valeur de retourelgg_unregister_event_handler()n’a plus de valeur de retourelgg_unregister_notification_event()n’a plus de valeur de retourelgg_unregister_notification_method()n’a plus de valeur de retourelgg_unregister_widget_type()n’a plus de valeur de retourelgg_view_annotation()ne renvoie plus unboolelgg_view_comments()ne renvoie plus unboolelgg_view_list_item()ne renvoie plus unboolelgg_view_relationship()ne renvoie plus unboolget_entity()renvoie désormaisnullau lieu d’unboolsi aucune entité n’est trouvéeget_user()renvoie désormaisnullau lieu d’unboolsi aucun utilisateur n’est trouvéelgg_ws_expose_function()ne renvoie plus unbool
Paramètres de fonction des fonctions des bibliothèques
blog_prepare_form_vars()requiert désormais unElggBlogpour$bloget unElggAnnotationpour$revisionbookmarks_prepare_form_vars()requiert désormais unElggBookmarkpour$bookmarkdiscussion_prepare_form_vars()requiert désormais unElggDiscussionpour$topicelgg_add_action_tokens_to_url()requiert désormais unstringpour$urlet unboolpour$html_encodeelgg_can_edit_widget_layout()requiert désormais unstringpour$contextet unintpour$user_guidelgg_clear_event_handlers()requiert désormais unstringpour$eventet$typeelgg_clear_sticky_form()requiert désormais unstringpour$contextelgg_create_widget()requiert désormais unintpour$owner_guidet$access_idet unstringpour$handleret$contextelgg_define_js()requiert désormais unstringpour$nameet unarraypour$configelgg_delete_system_cache()requiert désormais unstringpour$typeelgg_echo()requiert désormais unstringpour$message_keyet unstringpour$languageelgg_enqueue_notification_event()n’a plus besoin d’un$typeelgg_entity_exists()requiert désormais unintpour$guidelgg_entity_gatekeeper()requiert désormais unintpour$guid, unstringpour$type, unstringpour$subtypeet unboolpour$validate_can_editelgg_error_response()requiert désormais unstringou unarraypour$messageet unstringpour$forward_urlelgg_extend_view()requiert désormais unstringpour$viewet$view_extensionelgg_extract()requiert désormais unboolpour$strictelgg_format_bytes()requiert désormais unintpour$sizeet$precisionelgg_format_element()requiert désormais unstringpour$tag_nameet unstringpour$textelgg_format_html()requiert désormais unstringpour$htmlelgg_generate_action_url()requiert désormais unstringpour$actionet un booléen pour$add_csrf_tokenselgg_generate_entity_url()requiert désormais unstringpour$resourceet$subresourceelgg_generate_url()requiert désormais unstringpour$nameelgg_get_config()requiert désormais unstringpour$nameelgg_get_download_url()requiert désormais unboolpour$use_cookieet unstringpour$expireselgg_get_embed_url()requiert désormais unstringpour$sizeelgg_get_entity_class()requiert désormais unstringpour$typeet unstringpour$subtypeelgg_get_excerpt()requiert désormais unstringpour$textet unintpour$num_charselgg_get_friendly_upload_error()requiert désormais unintpour$error_codeelgg_get_friendly_time()requiert désormais unintpour$timeet$current_timeelgg_get_friendly_title()requiert désormais unstringpour$titleelgg_get_icon_sizes()requiert désormais unstringpour$entity_typeet$entity_subtypeelgg_get_ini_setting_in_bytes()requiert désormais unstringpour$settingelgg_get_inline_url()requiert désormais unboolpour$use_cookieet unstringpour$expireselgg_get_login_url()requiert désormais unstringpour$fragmentelgg_get_metadata_from_id()requiert désormais unintpour$idelgg_get_registration_url()requiert désormais unstringpour$fragmentelgg_get_request_data()requiert désormais unboolpour$filter_resultelgg_get_simplecache_url()requiert désormais unstringpour$viewet$sub_viewelgg_get_sticky_value()requiert désormais unstringpour$form_nameet une chaine de caractères pour$variableet un aboolpour$filter_resultelgg_get_sticky_values()requiert désormais unstringpour$form_nameet unboolpour$filter_resultelgg_get_title_input()requiert désormais unstringpour$variableet une chaîne de caractères pour$defaultelgg_get_uploaded_file()requiert désormais unstringpour$input_nameet unboolpour$check_for_validityelgg_get_uploaded_files()requiert désormais unstringpour$input_nameelgg_get_view_extensions()requiert désormais unstringpour$viewelgg_get_widget_types()requiert désormais unstringou unarraypour$contextelgg_get_widgets()requiert désormais unintpour$owner_guidet unstringpour$contextelgg_group_tool_gatekeeper()requiert désormais unstringpour$tool_nameet unintpour$group_guidelgg_html_decode()requiert désormais unstringpour$stringelgg_http_add_url_query_elements()requiert désormais unstringpour$urlelgg_http_build_url()requiert désormais unboolpour$html_encodeelgg_http_get_signed_url()requiert désormais unstringpour$urlet$expireselgg_http_remove_url_query_element()requiert désormais unstringpour$urlet unstringpour$elementelgg_http_url_is_identical()requiert désormais unstringpour$url1et$url2et unarraypour$ignore_paramselgg_http_validate_signed_url()requiert désormais unstringpour$urlelgg_in_context()requiert désormais unstringpour$contextelgg_is_sticky_form()requiert désormais unstringpour$form_nameelgg_is_widget_type()requiert désormais unstringpour$handleret$contextelgg_language_key_exists()requiert désormais unstringpour$keyet unstringpour$languageelgg_list_entities()requiert désormais uncallablepour$getteret uncallablepour$viewerelgg_list_entities_from_relationship_count()requiert désormais unarraypour$optionselgg_list_relationships()requiert désormais unarraypour$optionselgg_load_system_cache()requiert désormais unstringpour$typeelgg_make_sticky_form()requiert désormais unstringpour$form_nameelgg_normalize_site_url()requiert désormais unstringpour$unsafe_urlelgg_normalize_url()requiert désormais unstringpour$urlelgg_ok_response()requiert désormais unstringou unarraypour$messageet unstringpour$forward_urlelgg_parse_emails()requiert désormais unstringpour$textelgg_push_context()requiert désormais unstringpour$contextelgg_redirect_response()requiert désormais unstringpour$forward_urlelgg_register_action()requiert désormais unstringpour$filenameelgg_register_ajax_view()requiert désormais unstringpour$viewelgg_register_error_message()requiert désormais unstring|arraypour$messageelgg_register_event_handler()requiert désormais unstringpour$eventet$typeet unintpour$priorityet uncallable|stringpour$callableelgg_register_menu_item()requiert désormais unstringpour$menu_nameet unarray|\ElggMenuItempour$menu_itemelgg_register_notification_event()requiert désormais unstringpour$object_typeet$object_subtypeelgg_register_notification_method()requiert désormais unstringpour$nameelgg_register_route()requiert désormais unstringpour$nameelgg_register_simplecache_view()requiert désormais unstringpour$view_nameelgg_register_success_message()requiert désormais unstring|arraypour$messageLe premier argument (
$handler) deelgg_register_title_button()a été supprimé et requiert unstringpour$name,$entity_typeet$entity_subtypeelgg_register_viewtype_fallback()requiert désormais unstringpour$viewtypeelgg_register_widget_type()ne supporte plus pour$optionsqu’unarrayadapté pour\Elgg\WidgetDefinition::factory()elgg_remove_config()requiert désormais unstringpour$nameelgg_require_js()requiert désormais unstringpour$nameelgg_save_config()requiert désormais unstringpour$nameelgg_save_resized_image()requiert désormais unstringpour$sourceet unstringpour$destinationelgg_save_system_cache()requiert désormais unstringpour$typeelgg_set_config()requiert désormais unstringpour$nameelgg_set_context()requiert désormais unstringpour$contextelgg_set_entity_class()requiert désormais unstringpour$typeet unstringpour$subtypeet unstringpour$classelgg_set_form_footer()requiert désormais unstringpour$footerelgg_set_http_header()requiert désormais unstringpour$headeret unboolpour$replaceelgg_set_page_owner_guid()requiert désormais unintpour$guidelgg_set_view_location()requiert désormais unstringpour$view,$locationet$viewtypeelgg_set_viewtype()requiert désormais unstringpour$viewtypeelgg_strip_tags()requiert désormais unstringpour$stringet$allowable_tagselgg_trigger_after_event()requiert désormais unstringpour$eventet$typeelgg_trigger_before_event()requiert désormais unstringpour$eventet$typeelgg_trigger_deprecated_event()requiert désormais unstringpour$event,$type,$messageet$versionelgg_trigger_event()requiert désormais unstringpour$eventet$typeelgg_unregister_ajax_view()requiert désormais unstringpour$viewelgg_register_event_handler()requiert désormais unstringpour$eventet$typeet uncallable|stringpour$callableelgg_unregister_menu_item()requiert désormais unstringpour$menu_nameet$item_nameelgg_unregister_notification_event()requiert désormais unstringpour$object_typeet$object_subtypeelgg_unregister_notification_method()requiert désormais unstringpour$nameelgg_unregister_route()requiert désormais unstringpour$nameelgg_unregister_widget_type()requiert désormais unstringpour$handlerelgg_unrequire_js()requiert désormais unstringpour$nameelgg_validate_invite_code()requiert désormais unstringpour$usernameet$codeelgg_validate_registration_data()requiert désormais unstringpour$username,$nameet$email, unboolpour$multipleet unstring|arraypour$passwordelgg_view()requiert désormais unstringpour$viewet$viewtypeet unboolpour$recurseelgg_view_annotation_list()requiert désormais unarraypour$annotationselgg_view_deprecated()requiert désormais unstringpour$view,$messageet$versionelgg_view_comments()requiert désormais unElggEntitypour$entityet unboolpour$add_commentelgg_view_entity_icon()requiert désormais unstringpour$sizeet unarraypour$varselgg_view_entity_list()requiert désormais unarraypour$entitieselgg_view_exists()requiert désormais unstringpour$viewet$viewtypeet unarraypour$varselgg_view_form()requiert désormais unstringpour$actionet unarraypour$form_varset$body_varselgg_view_icon()requiert désormais unstringpour$nameet unarraypour$varselgg_view_image_block()requiert désormais unstringpour$type,$titleet$bodyelgg_view_layout()requiert désormais unstringpour$layout_nameet unarraypour$varselgg_view_message()requiert désormais unstringpour$typeet$bodyelgg_view_page()requiert désormais unstringpour$titleet$page_shell, unarraypour$varset unstring|arraypour$bodyelgg_view_relationship_list()requiert désormais unarraypour$relationshipselgg_view_river_item()requiert désormais unElggRiverItempour$itemelgg_view_resource()requiert désormais unstringpour$nameelgg_view_title()requiert désormais unstringpour$titleembed_get_list_options()requiert désormais unarraypour$optionsembed_list_items()requiert désormais unarraypour$entitieset$varsfile_prepare_form_vars()requiert désormais unElggFilepour$fileget_entity()requiert désormais unintpour$guidget_input()requiert désormais unstringpour$variableet unboolpour$filter_resultget_user()requiert désormais unintpour$guidgroups_get_group_join_menu_item()requiert désormais unElggUserpour$usergroups_get_group_leave_menu_item()requiert désormais unElggUserpour$usergroups_get_invited_groups()requiert désormais unintpour$user_guid, unboolpour$return_guidset unarraypour$optionsnotify_user()requiert désormais unint|arraypour$toet unintpour$fromet unstringpour$subjectet$messagepages_get_navigation_tree()requiert désormais unElggEntitypour$containerpages_prepare_form_vars()requiert désormais unElggPagepour$page, unintpour$parent_guidet unElggAnnotationpour$revisionpages_prepare_parent_breadcrumbs()requiert désormais unElggPagepour$pageset_input()requiert désormais unstringpour$variablethewire_filter()requiert désormais unstringpour$textthewire_get_hashtags()requiert désormais unstringpour$textthewire_save_post()requiert désormais unstringpour$textet$methodet unintpour$userid,$access_idet$parent_guiduservalidationbyemail_request_validation()requiert désormais unintpour$user_guidelgg_ws_expose_function()requiert désormais unstringpour$method,$descriptionet$call_method, unarraypour$parameterset unboolpour$require_api_auth,$require_user_authet$assocelgg_ws_register_service_handler()requiert désormais unstringpour$handlerelgg_ws_unexpose_function()requiert désormais unstringpour$methodet unstringpour$http_request_methodelgg_ws_unregister_service_handler()requiert désormais unstringpour$handler
Types de retour des fonctions de classes
\ElggEntity::deleteMetadata()ne renvoie plusnull\ElggEntity::getOwnedAccessCollection()ne renvoie plusfalsemaisnullquand aucune collection d’accès n’a été trouvée\ElggEntity::setContainerGUID()ne renvoie plus unint\ElggFile::getDownloadURL()renvoie maintenantnullen cas d’erreur\ElggFile::getInlineURL()renvoie maintenantnullen cas d’erreur\ElggMenuItem::factory()ne renvoie plusnullen cas d’erreur\Elgg\Page::getParentEntity()ne renvoie plusfalsemaisnullsi aucune entité parente n’a été trouvée
Paramètres de la fonction de classe
\ElggAccessCollection::getObjectFromID()requiert désormais unintpour$id\ElggAnnotation::getObjectFromID()requiert désormais unintpour$id\ElggEntity::addRelationship()requiert désormais unintpour$guid_twoet unstringpour$relationship\ElggEntity::cache()requiert désormais unboolpour$persist\ElggEntity::canAnnotate()requiert désormais unintpour$user_guidet unstringpour$annotation_name\ElggEntity::canComment()requiert désormais unintpour$user_guid\ElggEntity::canDelete()requiert désormais unintpour$user_guid\ElggEntity::canEdit()requiert désormais unintpour$user_guid\ElggEntity::canWriteToContainer()requiert désormais unintpour$user_guidet unstringpour$typeet$subtype\ElggEntity::countAnnotations()requiert désormais unstringpour$name\ElggEntity::countEntitiesFromRelationship()requiert désormais unstringpour$relationshipet unboolpour$inverse_relationship\ElggEntity::delete()requiert désormais unboolpour$recursive\ElggEntity::deleteAnnotations()requiert désormais unstringpour$name\ElggEntity::deleteIcon()requiert désormais unstringpour$type\ElggEntity::deleteMetadata()requiert désormais unstringpour$name\ElggEntity::deleteOwnedAnnotations()requiert désormais unstringpour$name\ElggEntity::disable()requiert désormais unstringpour$reasonet unboolpour$recursive\ElggEntity::disableAnnotations()requiert désormais unstringpour$name\ElggEntity::enable()requiert désormais unboolpour$recursive\ElggEntity::enableAnnotations()requiert désormais unstringpour$name\ElggEntity::getAnnotationsAvg()requiert désormais unstringpour$name\ElggEntity::getAnnotationsMax()requiert désormais unstringpour$name\ElggEntity::getAnnotationsSum()requiert désormais unstringpour$name\ElggEntity::getIcon()requiert désormais unstringpour$sizeet$type\ElggEntity::getIconLastChange()requiert désormais unstringpour$sizeet$type\ElggEntity::getIconURL()requiert désormais unstringou unarraypour$params\ElggEntity::getObjectFromID()requiert désormais unintpour$id\ElggEntity::getOwnedAccessCollections()requiert désormais unarraypour$options\ElggEntity::getOwnedAccessCollection()requiert désormais unstringpour$subtype\ElggEntity::getMetadata()requiert désormais unstringpour$name\ElggEntity::getVolatileData()requiert désormais unstringpour$name\ElggEntity::hasIcon()requiert désormais unstringpour$sizeet$type\ElggEntity::removeAllRelationships()ne permet plus de transmettrenullà$relationship\ElggEntity::removeRelationship()requiert désormais unintpour$guid_twoet unstringpour$relationship\ElggEntity::saveIconFromElggFile()requiert désormais unstringpour$type\ElggEntity::saveIconFromLocalFile()requiert désormais unstringpour$input_nameet$type\ElggEntity::saveIconFromUploadedFile()requiert désormais unstringpour$input_nameet$type\ElggEntity::setContainerGUID()requiert désormais unintpour$container_guid\ElggEntity::setDisplayName()requiert désormais unstringpour$display_name\ElggEntity::setMetadata()requiert désormais unstringpour$nameet$value_typeet unboolpour$multiple\ElggEntity::setTempMetadata()requiert désormais unstringpour$nameet unboolpour$multiple\ElggEntity::setVolatileData()requiert désormais unstringpour$name\ElggEntity::updateLastAction()requiert désormais unintpour$posted\ElggMetadata::getObjectFromID()requiert désormais unintpour$id\ElggRelationship::getObjectFromID()requiert désormais unintpour$id\ElggFile::getDownloadURL()requiert désormais unboolpour$use_cookieet unstringpour$expires\ElggFile::getInlineURL()requiert désormais unboolpour$use_cookieet unstringpour$expires\ElggGroup::isToolEnabled()requiert désormais unstringpour$name\ElggMenuItem::factory()requiert désormais unarraypour$options\ElggTempFile::getDownloadURL()requiert désormais unboolpour$use_cookieet unstringpour$expires\ElggTempFile::getInlineURL()requiert désormais unboolpour$use_cookieet unstringpour$expires\Elgg\WebServices\Di\ApiRegistrationService::registerApiMethod()requiert désormais un\Elgg\WebServices\ApiMethodcomme unique paramètre
Classes déplacées
\ElggAutoPa été déplacé vers\Elgg\Views\AutoParagraph\ElggCachea été déplacé vers\Elgg\Cache\BaseCache\ElggDiskFilestorea été déplacé vers\Elgg\Filesystem\Filestore\DiskFilestore\ElggFilestorea été déplacé vers\Elgg\Filesystem\Filestore\ElggRewriteTestera été déplacé vers\Elgg\Router\RewriteTester\ElggTempDiskFilestorea été déplacé vers\Elgg\Filesystem\Filestore\TempDiskFilestore\Elgg\Database\SiteSecreta été déplacé vers\Elgg\Security\SiteSecret
APIs dépréciées
elgg_clear_plugin_hook_handlersutilisezelgg_clear_event_handlerselgg_register_plugin_hook_handlerutilisezelgg_register_event_handlerelgg_trigger_plugin_hookutilisezelgg_trigger_event_resultselgg_unregister_plugin_hook_handlerutilisezelgg_unregister_event_handlerget_user_by_emailutilisezelgg_get_user_by_emailget_user_by_usernameutilisezelgg_get_user_by_username
Classes retirées
Elgg\WebServices\ApiKeyFormLoggablecette interface a été fusionnée dans la classeElggData
Fonctions supprimées
blog_prepare_form_varsbookmarks_prepare_form_varsdiscussion_prepare_form_varselgg_get_breadcrumbselgg_pop_breadcrumbelgg_set_email_transportutilisez_elgg_services()->set('mailer', ...)elgg_trigger_deprecated_plugin_hookelgg_ws_expose_functionutilisezelgg-plugin.phpou l’événement'register', 'api_methods'file_prepare_form_varsget_user_by_emailutilisezelgg_get_user_by_emailget_user_by_usernameutilisezelgg_get_user_by_usernamegroups_prepare_form_varsmessages_prepare_form_varspages_prepare_form_varsthewire_latest_guid
Fonctions de classe supprimées
\ElggWidget::saveSettings()
Événements supprimés
access:collections:addcollection, collectionutilisez la séquencecreate, access_collectionaccess:collections:deletecollection, collectionutilisez la séquencedelete, access_collectionprepare, breadcrumbsutilisezregister, menu:breadcrumbswidget_settings, <widget_handler>
Exceptions supprimées
\Elgg\Exceptions\InvalidParameterException
Constantes
La constante
REFERERmal orthographiée a été supprimée. Utilisez plutôtREFERRER.La constante
REFERRERa été remplacée par une chaîne de caractères avec la valeur__elgg_referrer