De 4.1 à 4.2
Contenu
Stash remplacé par Phpfastcache
La bibliothèque de cache interne Stash a été remplacée par Phpfastcache. Phpfastcache est mieux entretenu, fournit plus de pilotes de cache et ajoute plus de fonctionnalités à l’implémentation du cache. Cette modification ne devrait causer aucun problème sur les installations existantes. Si vous avez configuré Memcache ou Redis dans votre elgg-config/settings.php
, vous pourriez avoir besoin de mettre à jour votre configuration.
Valeurs booléennes des Metadata et des Annotation
Le modèle de base de données a été modifié pour conserver les valeurs booléennes intactes entre l’enregistrement et la récupération. Avant ce changement, si vous enregistriez une valeur booléenne, elle était renvoyée sous la forme d’un entier. Désormais elle reste un booléen.
Avertissement
Si vous avez précédemment enregistré des valeurs booléennes, elles seront sous forme d’entiers dans la base de données (jusqu’à ce qu’elles soient de nouveau enregistrées).
Fonctions des messages système
Le fonctions system_message()
et register_error()
ont été remplacées par elgg_register_success_message()
et elgg_register_error_message()
. Les nouvelles fonctions ont la capacité de passer des options supplémentaires au registre des messages système.
Fonctions Javascript
Les bibliothèques javascript Elgg ont connu une refonte massive. Beaucoup de fonctions ont été dépréciées. Vous pouvez trouver toutes les fonctions obsolètes et globales dans views/default/core/js/deprecated.js.
Messages système
Si vous utilisez les messages système dans votre javascript, vous devriez maintenant requérir le module elgg/system_messages
.
Jetons de sécurité
Si vous utilisez elgg.security.addToken()
dans votre javascript, vous devriez maintenant requérir le module elgg/security
.
Traductions
Si vous utilisez elgg.echo()
dans votre javascript, vous devriez maintenant requérir le module elgg/i18n
.
Fonctions UI
Le menu déroulant de l’utilisateur n’est plus initialisé à partir du fichier ui.js global, mais requiert le javascript à la demande à partir de la vue icon/user/default
.
ElggUser & ElggEntity
Les équivalents javascript de ElggUser
et ElggEntity
ne devraient plus être utilisés. L’entité utilisateur connecté ne devrait plus être référencée dans les données de la page elgg.session.user
. Vous pouvez trouver ses attributs dans elgg.user
sous forme de tableau.
Sécurité
output/url
a maintenant ajouté des fonctionnalités de sécurité pour aider à bloquer les sorties générées par des utilisateurs malveillants. La vue prend en charge $vars['allowed_schemes']
qui contient une liste des schémas d’URL autorisés. Le $vars['href']
fourni est mis en correspondance avec la liste autorisée. Si l’URL n’a pas de schéma autorisé, l’URL sera préfixée par denied:
.
Cela aidera à empêcher que des entrées utilisateur telles que javascript:alert('just testing');
ne soient présentées aux utilisateurs.
Par défaut, les schémas suivants sont autorisés : http, https, ftp, sftp, ssh, file
Si vous utilisez le modèle elgg_view('output/url', ['text' => 'something', 'href' => 'javascript:void(0);'])
mettez à jour votre code pour définir `` href`` à false
.
Groupes
Le nom du menu des onglets de la page des membres du groupe a été remplacé pour utiliser la logique de menu de filtre par défaut. Réécrivez vos hooks de plugin menu:groups_members
en menu:filter:groups/members
. Puisqu’il s’agit d’un menu différent, l’entité de groupe actuelle est désormais disponible dans le paramètre de hook filter_entity
.
APIs dépréciées
Fonctions de la bibliothèque
elgg_view_menu_item()
utilisezelgg_view('navigation/menu/elements/item/url', ['item' => $myMenuItem])
register_error()
utilisezelgg_register_error_message()
system_message()
utilisezelgg_register_success_message()