С 3.0 на 3.1

Версия PHP

PHP 7.0 достиг конца жизненного цикла в январе 2019 года. Чтобы обеспечить безопасность сайтов на Elgg, мы теперь требуем PHP 7.1 для новых установок.

При обновлении с предыдущей установки Elgg убедитесь, что у вас установлена правильная версия PHP.

Скриншоты плагинов

Скриншоты, добавленные в плагины, больше не поддерживаются и больше не будут отображаться в деталях плагина.

Загрузка внешних файлов

Использование elgg_register_js, elgg_unregister_js и elgg_load_js не рекомендуется. Убедитесь, что ваш JavaScript является модулем AMD, и используйте elgg_require_js для его подключения.

Использование elgg_register_css, elgg_unregister_css и elgg_load_css не рекомендуется. Вы можете регистрировать и подключать CSS с помощью новой функции elgg_require_css.

Установка владельца страницы

Установка владельца страницы через параметр функции elgg_get_page_owner_guid устарела. Используйте elgg_set_page_owner_guid.

Simpletests

Основные simpletests были удалены из системы. Все они заменены на модульные или интеграционные тесты PHP. Команда cli simpletest устарела.

Обратные вызовы хуков и событий

Устаревший стиль аргументов обратных вызовов хуков и событий устарел. Вам следует как можно скорее перейти на новый стиль.

// 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();
}

Устаревшие маршруты

  • previous:object:thewire Этот маршрут не использовался. Теперь он помечен как устаревший.

Устаревшие библиотеки CSS

  • jquery.imgareaselect Не используйте этот внешний CSS-файл.

  • jquery.treeview Не используйте этот внешний CSS-файл.

Устаревшие библиотеки JS

  • elgg.avatar_cropper Не полагайтесь на эту внешнюю библиотеку JavaScript.

  • jquery.imgareaselect Не полагайтесь на эту внешнюю библиотеку JavaScript.

  • jquery.treeview Не полагайтесь на эту внешнюю библиотеку JavaScript.

Устаревшие API

  • access_show_hidden_entities() Используйте elgg_call() с флагом ELGG_SHOW_DISABLED_ENTITIES.

  • autoregister_views()

  • count_messages() Используйте elgg()->system_messages->count().

  • disable_user_entities()

  • elgg_enable_entity() Используйте ElggEntity::enable().

  • elgg_get_file_list() Используйте итератор директорий PHP.

  • elgg_instanceof() Используйте оператор типа instanceof в PHP.

  • elgg_is_admin_user() Используйте ElggUser::isAdmin().

  • elgg_set_ignore_access() Используйте elgg_call() с флагом ELGG_IGNORE_ACCESS.

  • elgg_sort_3d_array_by_value()

  • get_access_list() Используйте get_access_array().

  • get_language() Используйте get_current_language().

  • get_number_users() Используйте elgg_count_entities().

  • pages_register_navigation_tree()

  • ini_get_bool()

  • is_not_null()

  • update_access_collection()

Устаревшие действия

  • admin/delete_admin_notice Заменено общим действием entity/delete.

  • avatar/crop Обрабатывается в действии avatar/upload.

  • avatar/remove Обрабатывается в действии avatar/upload.

  • blog/delete Заменено общим действием entity/delete.

  • messages/delete Заменено общим действием entity/delete.

  • site_notifications/delete Заменено общим действием entity/delete.