С 4.1 до 4.2
Содержание
Stash заменён на Phpfastcache
Внутренняя библиотека кэширования Stash заменена на Phpfastcache. Phpfastcache лучше поддерживается, предоставляет больше драйверов кэша и добавляет больше возможностей в реализацию кэширования. Это изменение не должно вызывать проблем в существующих установках. Если у вас настроен Memcache или Redis в elgg-config/settings.php, возможно, потребуется обновить конфигурацию.
Булевы значения метаданных и аннотаций
Модель базы данных изменена для сохранения булевых значений без изменений между сохранением и получением. До этого изменения, если вы сохраняли булево значение, оно возвращалось как целое число. Теперь оно останется булевым.
Предупреждение
Если вы ранее сохраняли булевы значения, они останутся целыми числами в базе данных (до повторного сохранения).
Функции системных сообщений
Функции system_message() и register_error() заменены на elgg_register_success_message() и elgg_register_error_message(). Новые функции позволяют передавать дополнительные опции в реестр системных сообщений.
JavaScript функции
JavaScript библиотеки Elgg подверглись масштабной переработке. Многие функции объявлены устаревшими. Все устаревшие функции и глобальные переменные можно найти в views/default/core/js/deprecated.js.
Системные сообщения
Если вы используете системные сообщения в вашем JavaScript, теперь необходимо подключать модуль elgg/system_messages.
Токены безопасности
Если вы используете elgg.security.addToken() в вашем JavaScript, теперь необходимо подключать модуль elgg/security.
Переводы
Если вы используете elgg.echo() в вашем JavaScript, теперь необходимо подключать модуль elgg/i18n.
Функции пользовательского интерфейса
Меню при наведении на пользователя больше не инициализируется из глобального ui.js, а подключает JavaScript по требованию из view icon/user/default.
ElggUser и ElggEntity
JavaScript эквиваленты ElggUser и ElggEntity больше не следует использовать. Сущность авторизованного пользователя больше не должна ссылаться в данных страницы elgg.session.user. Вы можете найти её атрибуты в elgg.user в виде массива.
Безопасность
В output/url добавлены функции безопасности для предотвращения вредоносного пользовательского вывода. View поддерживает $vars['allowed_schemes'], который содержит список разрешённых схем URL. Предоставленный $vars['href'] будет проверен на соответствие разрешённому списку. Если URL не имеет разрешённой схемы, к нему будет добавлен префикс denied:.
Это поможет предотвратить отображение пользовательского ввода типа javascript:alert('just testing'); для пользователей.
По умолчанию разрешены следующие схемы: http, https, ftp, sftp, ssh, file
Если вы используете шаблон elgg_view('output/url', ['text' => 'something', 'href' => 'javascript:void(0);']), обновите код, установив href в false.
Группы
Название меню для вкладок на странице участников группы изменено для использования стандартной логики меню фильтрации. Перепишите хуки вашего плагина с menu:groups_members на menu:filter:groups/members. Поскольку это другое меню, текущая сущность группы теперь доступна в параметре хука filter_entity.
Устаревшие API
Функции библиотеки
elgg_view_menu_item()используйтеelgg_view('navigation/menu/elements/item/url', ['item' => $myMenuItem])
register_error()используйтеelgg_register_error_message()
system_message()используйтеelgg_register_success_message()