С 2.1 до 2.2

Устаревшие API

  • JavaScript-библиотека elgg.ui.river: удалите вызовы elgg_load_js('elgg.ui.river') из кода плагина. Обновите core/river/filter и forms/comment/save, если они переопределены, чтобы требовать компонентные AMD-модули

  • Методы elgg.ui.popupOpen() и elgg.ui.popupClose() в JS-библиотеке elgg.ui: используйте вместо этого модуль elgg/popup.

  • Библиотека lightbox.js: не используйте elgg_load_js('lightbox.js');, если только ваш код не ссылается на устаревшее пространство имён elgg.ui.lightbox. Вместо этого используйте AMD-модуль elgg/lightbox.

  • Библиотека elgg.embed и объект elgg.embed: не используйте elgg_load_js('elgg.embed'). Вместо этого используйте AMD-модуль elgg/embed

  • Прямой доступ к значению конфигурации icons_sizes: используйте elgg_get_icon_sizes()

  • can_write_to_container(): используйте ElggEntity::canWriteToContainer()

Устаревшие представления

  • elgg/ui.river.js объявлен устаревшим: не полагайтесь на работу URL-адресов simplecache.

  • groups/js объявлен устаревшим: вместо этого используйте AMD-модуль groups/navigation как зависимость элемента меню для пунктов меню «feature» и «unfeature».

  • lightbox/settings.js объявлен устаревшим: используйте хук плагина JS getOptions, ui.lightbox или атрибут data-colorbox-opts.

  • elgg/ckeditor/insert.js объявлен устаревшим: вам больше не нужно его подключать, регистрация хука происходит в модуле elgg/ckeditor

  • embed/embed.js объявлен устаревшим: используйте AMD-модуль elgg/embed.

Добавлен модуль elgg/popup

Новый модуль elgg/popup может использоваться для создания более сложных взаимодействий триггер-попап, включая привязку пользовательских типов якорей и программное открытие/закрытие попапов.

Добавлен модуль elgg/lightbox

Новый модуль elgg/lightbox может использоваться для программного открытия и закрытия лайтбокса.

Добавлен модуль elgg/embed

Хотя это редко необходимо, AMD-модуль elgg/embed может использоваться для программного доступа к методам встраивания. Модуль инициализирует себя при необходимости и вряд ли потребует дополнительной декорации.

Новый API для работы с иконками сущностей

  • ElggEntity теперь реализует интерфейс \Elgg\EntityIcon

  • elgg_get_icon_sizes() - возвращает размеры иконок, специфичные для типа/подтипа сущности

  • ElggEntity::saveIconFromUploadedFile() - создаёт иконки из загруженного файла

  • ElggEntity::saveIconFromLocalFile() - создаёт иконки из локального файла

  • ElggEntity::saveIconFromElggFile() - создаёт иконки из экземпляра ElggFile

  • ElggEntity::getIcon() - возвращает экземпляр ElggIcon, указывающий на расположение иконки сущности в хранилище файлов (это может быть просто заполнитель, используйте ElggEntity::hasIcon() для проверки, был ли файл записан)

  • ElggEntity::deleteIcon() - удаляет иконки сущности

  • ElggEntity::getIconLastChange() - возвращает время изменения файла иконки

  • ElggEntity::hasIcon() - проверяет, была ли создана иконка заданного размера

  • elgg_get_embed_url() - может использоваться для возврата URL-адреса встраивания для иконки сущности (обслуживается через обработчик /serve-icon)

Аватары пользователей теперь обслуживаются через обработчик serve-file. Плагины должны начать использовать elgg_get_inline_url() и учитывать, что:

  • Обработчик страницы /avatar/view и ресурсное представление объявлены устаревшими

  • Файл /mod/profile/icondirect.php объявлен устаревшим

  • profile_set_icon_url() больше не зарегистрирован как обратный вызов для хука плагина "entity:icon:url","user"

Аватары групп теперь обслуживаются через обработчик serve-file. Плагины должны начать использовать elgg_get_inline_url() и учитывать, что:

  • Обработчик страницы groupicon (groups_icon_handler()) объявлен устаревшим

  • Файл /mod/groups/icon.php объявлен устаревшим

Миниатюры и загрузки файловых сущностей теперь обслуживаются через обработчик serve-file. Плагины должны начать использовать elgg_get_inline_url() и elgg_get_download_url() и учитывать, что:

  • Обработчик страницы file/download и ресурсное представление объявлены устаревшими

  • Файл mod/file/thumbnail.php объявлен устаревшим

  • Несколько представлений были обновлены для использования новых URL-адресов загрузки, включая:

    • mod/file/views/default/file/specialcontent/audio/default.php

    • mod/file/views/default/file/specialcontent/image/default.php

    • mod/file/views/default/resources/file/view.php

    • mod/file/views/rss/file/enclosure.php

Удалённые API

Просто предупреждение, что приватные функции кэширования сущностей (например, _elgg_retrieve_cached_entity) были удалены. Некоторые плагины могли их использовать. Плагины не должны использовать приватные API, так как они чаще удаляются без предупреждения.

Улучшенный модуль elgg/ckeditor

Модуль elgg/ckeditor теперь может использоваться для программного добавления WYSIWYG к текстовой области с помощью elgg/ckeditor#bind.