De 3.0 à 3.1

Version de PHP

PHP 7.0 a atteint sa fin de vie en janvier 2019. Pour assurer la sécurité des sites Elgg, nous exigeons maintenant au moins PHP 7.1 pour les nouvelles installations.

Si vous faites une mise à niveau depuis une installation de Elgg précédente, assurez-vous que vous avez la bonne version de PHP installée.

Captures d’écran du plugin

Les captures d’écran ajoutées aux plugins ne sont plus prises en charge et ne seront plus affichées dans les détails du plugin.

Chargement des fichiers externes

L’utilisation de elgg_register_js, de elgg_unregister_js et de elgg_load_js est déconseillée. Assurez-vous que votre javascript est un module AMD et utilisez elgg_require_js pour l’inclure.

L’utilisation de elgg_register_css, de elgg_unregister_css et de elgg_load_css est déconseillée. Vous pouvez enregistrer et inclure les css avec la nouvelle fonction elgg_require_css.

Définition du propriétaire de la page

La définition du propriétaire de la page via un paramètre de la fonction elgg_get_page_owner_guid est obsolète. Utilisez elgg_set_page_owner_guid.

Simpletests

Les tests simples du noyau ont été supprimés du système. Ils sont tous remplacés par des tests unitaires PHP ou des tests d’intégration. La commande cli simpletest est devenue obsolète.

Fonctions de rappel - callbacks - de hook et d’événement

Les arguments des hooks et des fonctions de rappel historiques sont déconseillés. Vous devez passer au nouveau style d’arguments dès que possible.

// old style hook callback
function hook_callback($name, $type, $return_value, $params) {

}

// new style hook callback
function hook_callback(\Elgg\Hook $hook) {
        // now you can use a few new functions
        $params = $hook->getParams();
        $return = $hook->getValue();

        $specific_param = $hook->getParam('specific_param', 'default')
        $entity = $hook->getEntityParam();
        $user = $hook->getUserParam();
}

// old style event callback
function event_callback($name, $type, $object) {

}

// new style event callback
function event_callback(\Elgg\Event $event) {
        // now you can use a few new functions
        $object = $event->getObject();
}

Routes obsolètes

  • previous:object:thewire Cette route n’était pas utilisée. Elle a maintenant été marquée comme obsolète.

Bibliothèques CSS obsolètes

  • jquery.imgareaselect N’utilisez pas ce fichier css externe.

  • jquery.treeview N’utilisez pas ce fichier css externe.

Bibliothèques JS obsolètes

  • elgg.avatar_cropper Évitez de dépendre de cette bibliothèque javascript externe.

  • jquery.imgareaselect Évitez de dépendre de cette bibliothèque javascript externe.

  • jquery.treeview Évitez de dépendre de cette bibliothèque javascript externe.

APIs dépréciées

  • access_show_hidden_entities() Utilisez elgg_call() avec le drapeau ELGG_SHOW_DISABLED_ENTITIES.

  • autoregister_views()

  • count_messages() Utilisez elgg()->system_messages->count().

  • disable_user_entities()

  • elgg_enable_entity() Utilisez ElggEntity::enable().

  • elgg_get_file_list() Utilisez un itérateur de répertoire PHP.

  • elgg_instanceof() Utilisez l’opérateur de type instanceof de PHP.

  • elgg_is_admin_user() Utilisez ElggUser::isAdmin().

  • elgg_set_ignore_access() Utilisez elgg_call() avec le drapeau ELGG_IGNORE_ACCESS.

  • elgg_sort_3d_array_by_value()

  • get_access_list() Utilisez get_access_array().

  • get_language() Utilisez get_current_language().

  • get_number_users() Utilisez elgg_count_entities().

  • pages_register_navigation_tree()

  • ini_get_bool()

  • is_not_null()

  • update_access_collection()

Actions obsolètes

  • admin/delete_admin_notice Remplacé par une action générique entity/delete.

  • avatar/crop Géré dans l’action avatar/upload.

  • avatar/remove Géré dans l’action avatar/upload.

  • blog/delete Remplacé par l’action générique entity/delete.

  • messages/delete Remplacé par l’action générique entity/delete.

  • site_notifications/delete Remplacé par l’action générique entity/delete.