С 4.x до 5.0
Содержание
CKEditor
Редактор обновлён до версии 5. Это добавляет новые функции (например, упоминания и изображения в контенте), но также влияет на существующие плагины. Наиболее заметны изменения в The Wire (который теперь также поддерживает упоминания) и удаление плагина Embed.
Связанное меню „longtext“ больше недоступно.
Composer
Требования к PHP
Минимальная версия PHP теперь 8.0.
Faker
Библиотека faker больше не поддерживается fzaninotto, поэтому мы перешли на форк, который поддерживается FakerPHP.
События и хуки
Эти две схожие концепции объединены, и отныне мы будем ссылаться только на события. Публичный сервис hooks больше не существует. Все хуки теперь можно регистрировать в разделе events вашего плагина. Если вы используете колбэки хуков, ожидающие аргумент с типом ElggHook, вам потребуется обновить его на ElggEvent.
Событие создания
События create, <object|group|user|site> больше нельзя использовать для предотвращения создания сущности. Используйте create:before, если хотите предотвратить создание.
Приватные настройки
Концепция приватных настроек удалена из системы. Все приватные настройки скопированы в метаданные. Все связанные функции удалены.
Обновления
Асинхронные или системные обновления больше не являются классами, реализующими интерфейсы, а наследуют абстрактные классы. Обновите ваши обновления для наследования правильных классов. Причина этого изменения — возможность получения доступа к сущности ElggUpgrade из Batch, который выполняет часть обновления. Вы можете получить доступ к обновлению, вызвав $this->getUpgrade().
Сессия
Если вы используете сервис сессии напрямую (или через elgg_get_session()), возможно, потребуется обновить ваш код. Различные функции этого класса перемещены в сервис elgg()->session_manager.
Gatekeepers (проверки доступа)
Middleware PageOwnerCanEditGatekeeper теперь требует установки pageowner. Этот gatekeeper теперь также всегда требует авторизованного пользователя.
Плагин Files
Файлы, загруженные через плагин file, больше не хранятся у владельца, а хранятся вместе с сущностью файла. Также изменены иконки файлов. Изображения иконок доступны только для типов файлов-изображений. Размеры иконок изменены для использования стандартных размеров иконок.
Плагин Embed
Плагин embed удалён.
JavaScript
Система хуков
Функции хуков JavaScript перемещены в AMD-модуль. Если вы использовали хуки JavaScript, вам необходимо обновить код для использования модуля elgg/hook. Концепция „мгновенных хуков“ больше не присутствует в системе.
Событие 'init', 'system' больше не вызывается в JavaScript.
Удалённые функции
elgg.is_in_object_arrayelgg.is_instant_hookelgg.is_triggered_hookelgg.push_to_object_arrayelgg.register_hook_handlerиспользуйте функциюregister, предоставляемую модулемelgg\hookselgg.register_instant_hookelgg.set_triggered_hookelgg.trigger_hookиспользуйте функциюtrigger, предоставляемую модулемelgg\hooks
Исключения
Использование исключений в Elgg пересмотрено. \Elgg\Exceptions\InvalidParameterException удалено и заменено на правильное исключение. Также проверено использование \Elgg\Exceptions\InvalidArgumentException. В некоторых случаях исключение заменено на более подходящее.
ElggRiverItem
Больше нельзя устанавливать произвольные данные во время выполнения на ElggRiverItem. Поскольку данные были доступны только во время выполнения и не сохранялись в базу данных, это различие удалено. При установке неподдерживаемого атрибута выбрасывается \Elgg\Exceptions\RuntimeException.
// this is allowed
$item = new \ElggRiverItem();
$item->subject_guid = elgg_get_logged_in_user_guid();
// this is no longer allowed (causes an \Elgg\Exceptions\RuntimeException)
$item = new \ElggRiverItem();
$item->foo = 'bar';
Опции метаданных в функциях получения
Ранее существовала магия, которая превращала строку metadata_value в массив, если она содержала ,.
Эта магия удалена. Теперь вам нужно предоставлять массив самостоятельно. Из-за этой магии было невозможно выполнять запросы по значению метаданных, содержащему ,.
// previously
$options = [
'metadata_name_value_pairs' => [
'some_name' => 'some_value1, some_value2',
],
];
// would result into, thus giving it an OR value
$options = [
'metadata_name_value_pairs' => [
'name' => 'some_name',
'value' => [
'some_value1',
'some_value2',
],
'operand' => '=',
],
];
Изменения в функциях
Следующие функции теперь имеют типизированные аргументы и/или типы возвращаемых значений, это может вызывать ошибки TypeError. Также у некоторых функций классов типизированы возвращаемые значения, и вам следует обновить определение вашей функции. У некоторых функций могут быть изменены аргументы или тип возвращаемого значения.
Типы возвращаемых значений функций библиотеки
elgg_add_admin_notice()теперь возвращаетnullпри ошибке вместоboolelgg_create_river_item()теперь возвращаетnullпри ошибке илиElggRiverItemelgg_delete_metadata()больше не возвращаетnullelgg_delete_river()больше не возвращаетnullelgg_deprecated_notice()больше не возвращаетboolelgg_generate_entity_url()теперь возвращаетnullпри ошибке вместоboolelgg_generate_url()теперь возвращаетnullпри ошибке вместоboolelgg_get_annotation_from_id()теперь возвращаетnull, если аннотация не найдена, вместоboolelgg_get_download_url()теперь возвращаетnullпри ошибкеelgg_get_entity_as_row()теперь возвращаетnull, если сущность не найдена, вместоboolelgg_get_entity_dates()больше не возвращаетboolelgg_get_form_footer()больше не возвращаетboolelgg_get_inline_url()теперь возвращаетnullпри ошибкеelgg_get_metadata_from_id()теперь возвращаетnull, если метаданные не найденыelgg_get_page_owner_entity()теперь возвращаетnull, если владелец страницы не найденelgg_get_river_item_from_id()теперь возвращаетnull, если элемент ленты не найденelgg_get_system_cache()теперь возвращает экземпляр\Elgg\Cache\BaseCacheвместо\ElggCacheelgg_get_uploaded_file()теперь возвращаетnull, если файл не найден или файл недействителенelgg_normalize_site_url()теперь возвращаетnull, когда URL не является URL сайтаelgg_register_action()больше не возвращаетboolelgg_register_menu_item()больше не имеет возвращаемого значенияelgg_register_widget_type()больше не возвращает значениеelgg_set_form_footer()больше не возвращает значениеelgg_trigger_after_event()больше не возвращает значениеelgg_unregister_action()больше не возвращает значениеelgg_unregister_event_handler()больше не возвращает значениеelgg_unregister_notification_event()больше не возвращает значениеelgg_unregister_notification_method()больше не возвращает значениеelgg_unregister_widget_type()больше не возвращает значениеelgg_view_annotation()больше не возвращаетboolelgg_view_comments()больше не возвращаетboolelgg_view_list_item()больше не возвращаетboolelgg_view_relationship()больше не возвращаетboolget_entity()теперь возвращаетnull, если сущность не найдена, вместоboolget_user()теперь возвращаетnull, если пользователь не найден, вместоboolelgg_ws_expose_function()больше не возвращаетbool
Параметры функций библиотеки
blog_prepare_form_vars()теперь требуетElggBlogдля$blogиElggAnnotationдля$revisionbookmarks_prepare_form_vars()теперь требуетElggBookmarkдля$bookmarkdiscussion_prepare_form_vars()теперь требуетElggDiscussionдля$topicelgg_add_action_tokens_to_url()теперь требуетstringдля$urlиboolдля$html_encodeelgg_can_edit_widget_layout()теперь требуетstringдля$contextиintдля$user_guidelgg_clear_event_handlers()теперь требуетstringдля$eventи$typeelgg_clear_sticky_form()теперь требуетstringдля$contextelgg_create_widget()теперь требуетintдля$owner_guidи$access_id, а такжеstringдля$handlerи$contextelgg_define_js()теперь требуетstringдля$nameиarrayдля$configelgg_delete_system_cache()теперь требуетstringдля$typeelgg_echo()теперь требуетstringдля$message_keyиstringдля$languageelgg_enqueue_notification_event()больше не требует$typeelgg_entity_exists()теперь требуетintдля$guidelgg_entity_gatekeeper()теперь требуетintдля$guid,stringдля$typeи$subtype, а такжеboolдля$validate_can_editelgg_error_response()теперь требуетstringилиarrayдля$messageиstringдля$forward_urlelgg_extend_view()теперь требуетstringдля$viewи$view_extensionelgg_extract()теперь требуетboolдля$strictelgg_format_bytes()теперь требуетintдля$sizeи$precisionelgg_format_element()теперь требуетstringдля$tag_nameиstringдля$textelgg_format_html()теперь требуетstringдля$htmlelgg_generate_action_url()теперь требуетstringдля$actionиbooleanдля$add_csrf_tokenselgg_generate_entity_url()теперь требуетstringдля$resourceи$subresourceelgg_generate_url()теперь требуетstringдля$nameelgg_get_config()теперь требуетstringдля$nameelgg_get_download_url()теперь требуетboolдля$use_cookieиstringдля$expireselgg_get_embed_url()теперь требуетstringдля$sizeelgg_get_entity_class()теперь требуетstringдля$typeиstringдля$subtypeelgg_get_excerpt()теперь требуетstringдля$textиintдля$num_charselgg_get_friendly_upload_error()теперь требуетintдля$error_codeelgg_get_friendly_time()теперь требуетintдля$timeи$current_timeelgg_get_friendly_title()теперь требуетstringдля$titleelgg_get_icon_sizes()теперь требуетstringдля$entity_typeи$entity_subtypeelgg_get_ini_setting_in_bytes()теперь требуетstringдля$settingelgg_get_inline_url()теперь требуетboolдля$use_cookieиstringдля$expireselgg_get_login_url()теперь требуетstringдля$fragmentelgg_get_metadata_from_id()теперь требуетintдля$idelgg_get_registration_url()теперь требуетstringдля$fragmentelgg_get_request_data()теперь требуетboolдля$filter_resultelgg_get_simplecache_url()теперь требуетstringдля$viewи$sub_viewelgg_get_sticky_value()теперь требуетstringдля$form_name,stringдля$variableиboolдля$filter_resultelgg_get_sticky_values()теперь требуетstringдля$form_nameиboolдля$filter_resultelgg_get_title_input()теперь требуетstringдля$variableиstringдля$defaultelgg_get_uploaded_file()теперь требуетstringдля$input_nameиboolдля$check_for_validityelgg_get_uploaded_files()теперь требуетstringдля$input_nameelgg_get_view_extensions()теперь требуетstringдля$viewelgg_get_widget_types()теперь требуетstringилиarrayдля$contextelgg_get_widgets()теперь требуетintдля$owner_guidиstringдля$contextelgg_group_tool_gatekeeper()теперь требуетstringдля$tool_nameиintдля$group_guidelgg_html_decode()теперь требуетstringдля$stringelgg_http_add_url_query_elements()теперь требуетstringдля$urlelgg_http_build_url()теперь требуетboolдля$html_encodeelgg_http_get_signed_url()теперь требуетstringдля$urlи$expireselgg_http_remove_url_query_element()теперь требуетstringдля$urlиstringдля$elementelgg_http_url_is_identical()теперь требуетstringдля$url1и$url2, а такжеarrayдля$ignore_paramselgg_http_validate_signed_url()теперь требуетstringдля$urlelgg_in_context()теперь требуетstringдля$contextelgg_is_sticky_form()теперь требуетstringдля$form_nameelgg_is_widget_type()теперь требуетstringдля$handlerи$contextelgg_language_key_exists()теперь требуетstringдля$keyиstringдля$languageelgg_list_entities()теперь требуетcallableдля$getterиcallableдля$viewerelgg_list_entities_from_relationship_count()теперь требуетarrayдля$optionselgg_list_relationships()теперь требуетarrayдля$optionselgg_load_system_cache()теперь требуетstringдля$typeelgg_make_sticky_form()теперь требуетstringдля$form_nameelgg_normalize_site_url()теперь требуетstringдля$unsafe_urlelgg_normalize_url()теперь требуетstringдля$urlelgg_ok_response()теперь требуетstringилиarrayдля$messageиstringдля$forward_urlelgg_parse_emails()теперь требуетstringдля$textelgg_push_context()теперь требуетstringдля$contextelgg_redirect_response()теперь требуетstringдля$forward_urlelgg_register_action()теперь требуетstringдля$filenameelgg_register_ajax_view()теперь требуетstringдля$viewelgg_register_error_message()теперь требуетstring|arrayдля$messageelgg_register_event_handler()теперь требуетstringдля$eventи$type,intдля$priorityиcallable|stringдля$callableelgg_register_menu_item()теперь требуетstringдля$menu_nameиarray|\ElggMenuItemдля$menu_itemelgg_register_notification_event()теперь требуетstringдля$object_typeи$object_subtypeelgg_register_notification_method()теперь требуетstringдля$nameelgg_register_route()теперь требуетstringдля$nameelgg_register_simplecache_view()теперь требуетstringдля$view_nameelgg_register_success_message()теперь требуетstring|arrayдля$messageelgg_register_title_button()удалён первый аргумент ($handler) и теперь требуетstringдля$name,$entity_typeи$entity_subtypeelgg_register_viewtype_fallback()теперь требуетstringдля$viewtypeelgg_register_widget_type()теперь поддерживает толькоarray, подходящий для\Elgg\WidgetDefinition::factory()для$optionselgg_remove_config()теперь требуетstringдля$nameelgg_require_js()теперь требуетstringдля$nameelgg_save_config()теперь требуетstringдля$nameelgg_save_resized_image()теперь требуетstringдля$sourceиstringдля$destinationelgg_save_system_cache()теперь требуетstringдля$typeelgg_set_config()теперь требуетstringдля$nameelgg_set_context()теперь требуетstringдля$contextelgg_set_entity_class()теперь требуетstringдля$type,stringдля$subtypeиstringдля$classelgg_set_form_footer()теперь требуетstringдля$footerelgg_set_http_header()теперь требуетstringдля$headerиboolдля$replaceelgg_set_page_owner_guid()теперь требуетintдля$guidelgg_set_view_location()теперь требуетstringдля$view,$locationи$viewtypeelgg_set_viewtype()теперь требуетstringдля$viewtypeelgg_strip_tags()теперь требуетstringдля$stringи$allowable_tagselgg_trigger_after_event()теперь требуетstringдля$eventи$typeelgg_trigger_before_event()теперь требуетstringдля$eventи$typeelgg_trigger_deprecated_event()теперь требуетstringдля$event,$type,$messageи$versionelgg_trigger_event()теперь требуетstringдля$eventи$typeelgg_unregister_ajax_view()теперь требуетstringдля$viewelgg_register_event_handler()теперь требуетstringдля$eventи$type, а такжеcallable|stringдля$callableelgg_unregister_menu_item()теперь требуетstringдля$menu_nameи$item_nameelgg_unregister_notification_event()теперь требуетstringдля$object_typeи$object_subtypeelgg_unregister_notification_method()теперь требуетstringдля$nameelgg_unregister_route()теперь требуетstringдля$nameelgg_unregister_widget_type()теперь требуетstringдля$handlerelgg_unrequire_js()теперь требуетstringдля$nameelgg_validate_invite_code()теперь требуетstringдля$usernameи$codeelgg_validate_registration_data()теперь требуетstringдля$username,$nameи$email,boolдля$multipleиstring|arrayдля$passwordelgg_view()теперь требуетstringдля$viewи$viewtype, а такжеboolдля$recurseelgg_view_annotation_list()теперь требуетarrayдля$annotationselgg_view_deprecated()теперь требуетstringдля$view,$messageи$versionelgg_view_comments()теперь требуетElggEntityдля$entityиboolдля$add_commentelgg_view_entity_icon()теперь требуетstringдля$sizeиarrayдля$varselgg_view_entity_list()теперь требуетarrayдля$entitieselgg_view_exists()теперь требуетstringдля$viewи$viewtype, а такжеarrayдля$varselgg_view_form()теперь требуетstringдля$actionиarrayдля$form_varsи$body_varselgg_view_icon()теперь требуетstringдля$nameиarrayдля$varselgg_view_image_block()теперь требуетstringдля$type,$titleи$bodyelgg_view_layout()теперь требуетstringдля$layout_nameиarrayдля$varselgg_view_message()теперь требуетstringдля$typeи$bodyelgg_view_page()теперь требуетstringдля$titleи$page_shell,arrayдля$varsиstring|arrayдля$bodyelgg_view_relationship_list()теперь требуетarrayдля$relationshipselgg_view_river_item()теперь требуетElggRiverItemдля$itemelgg_view_resource()теперь требуетstringдля$nameelgg_view_title()теперь требуетstringдля$titleembed_get_list_options()теперь требуетarrayдля$optionsembed_list_items()теперь требуетarrayдля$entitiesи$varsfile_prepare_form_vars()теперь требуетElggFileдля$fileget_entity()теперь требуетintдля$guidget_input()теперь требуетstringдля$variableиboolдля$filter_resultget_user()теперь требуетintдля$guidgroups_get_group_join_menu_item()теперь требуетElggUserдля$usergroups_get_group_leave_menu_item()теперь требуетElggUserдля$usergroups_get_invited_groups()теперь требуетintдля$user_guid,boolдля$return_guidsиarrayдля$optionsnotify_user()теперь требуетint|arrayдля$to,intдля$fromиstringдля$subjectи$messagepages_get_navigation_tree()теперь требуетElggEntityдля$containerpages_prepare_form_vars()теперь требуетElggPageдля$page,intдля$parent_guidиElggAnnotationдля$revisionpages_prepare_parent_breadcrumbs()теперь требуетElggPageдля$pageset_input()теперь требуетstringдля$variablethewire_filter()теперь требуетstringдля$textthewire_get_hashtags()теперь требуетstringдля$textthewire_save_post()теперь требуетstringдля$textи$method,intдля$userid,$access_idи$parent_guiduservalidationbyemail_request_validation()теперь требуетintдля$user_guidelgg_ws_expose_function()теперь требуетstringдля$method,$descriptionи$call_method,arrayдля$parameters,boolдля$require_api_auth,$require_user_authи$assocelgg_ws_register_service_handler()теперь требуетstringдля$handlerelgg_ws_unexpose_function()теперь требуетstringдля$methodиstringдля$http_request_methodelgg_ws_unregister_service_handler()теперь требуетstringдля$handler
Типы возвращаемых значений методов классов
\ElggEntity::deleteMetadata()больше не возвращаетnull\ElggEntity::getOwnedAccessCollection()больше не возвращаетfalse, аnull, если коллекция доступа не найдена\ElggEntity::setContainerGUID()больше не возвращаетint\ElggFile::getDownloadURL()теперь возвращаетnullпри ошибке\ElggFile::getInlineURL()теперь возвращаетnullпри ошибке\ElggMenuItem::factory()больше не возвращаетnullпри ошибке\Elgg\Page::getParentEntity()больше не возвращаетfalse, аnull, если родительская сущность не найдена
Параметры функций классов
\ElggAccessCollection::getObjectFromID()теперь требуетintдля$id\ElggAnnotation::getObjectFromID()теперь требуетintдля$id\ElggEntity::addRelationship()теперь требуетintдля$guid_twoиstringдля$relationship\ElggEntity::cache()теперь требуетboolдля$persist\ElggEntity::canAnnotate()теперь требуетintдля$user_guidиstringдля$annotation_name\ElggEntity::canComment()теперь требуетintдля$user_guid\ElggEntity::canDelete()теперь требуетintдля$user_guid\ElggEntity::canEdit()теперь требуетintдля$user_guid\ElggEntity::canWriteToContainer()теперь требуетintдля$user_guidиstringдля$typeи$subtype\ElggEntity::countAnnotations()теперь требуетstringдля$name\ElggEntity::countEntitiesFromRelationship()теперь требуетstringдля$relationshipиboolдля$inverse_relationship\ElggEntity::delete()теперь требуетboolдля$recursive\ElggEntity::deleteAnnotations()теперь требуетstringдля$name\ElggEntity::deleteIcon()теперь требуетstringдля$type\ElggEntity::deleteMetadata()теперь требуетstringдля$name\ElggEntity::deleteOwnedAnnotations()теперь требуетstringдля$name\ElggEntity::disable()теперь требуетstringдля$reasonиboolдля$recursive\ElggEntity::disableAnnotations()теперь требуетstringдля$name\ElggEntity::enable()теперь требуетboolдля$recursive\ElggEntity::enableAnnotations()теперь требуетstringдля$name\ElggEntity::getAnnotationsAvg()теперь требуетstringдля$name\ElggEntity::getAnnotationsMax()теперь требуетstringдля$name\ElggEntity::getAnnotationsSum()теперь требуетstringдля$name\ElggEntity::getIcon()теперь требуетstringдля$sizeи$type\ElggEntity::getIconLastChange()теперь требуетstringдля$sizeи$type\ElggEntity::getIconURL()теперь требуетstringилиarrayдля$params\ElggEntity::getObjectFromID()теперь требуетintдля$id\ElggEntity::getOwnedAccessCollections()теперь требуетarrayдля$options\ElggEntity::getOwnedAccessCollection()теперь требуетstringдля$subtype\ElggEntity::getMetadata()теперь требуетstringдля$name\ElggEntity::getVolatileData()теперь требуетstringдля$name\ElggEntity::hasIcon()теперь требуетstringдля$sizeи$type\ElggEntity::removeAllRelationships()больше не допускает передачуnullв$relationship\ElggEntity::removeRelationship()теперь требуетintдля$guid_twoиstringдля$relationship\ElggEntity::saveIconFromElggFile()теперь требуетstringдля$type\ElggEntity::saveIconFromLocalFile()теперь требуетstringдля$input_nameи$type\ElggEntity::saveIconFromUploadedFile()теперь требуетstringдля$input_nameи$type\ElggEntity::setContainerGUID()теперь требуетintдля$container_guid\ElggEntity::setDisplayName()теперь требуетstringдля$display_name\ElggEntity::setMetadata()теперь требуетstringдля$nameи$value_type, а такжеboolдля$multiple\ElggEntity::setTempMetadata()теперь требуетstringдля$nameиboolдля$multiple\ElggEntity::setVolatileData()теперь требуетstringдля$name\ElggEntity::updateLastAction()теперь требуетintдля$posted\ElggMetadata::getObjectFromID()теперь требуетintдля$id\ElggRelationship::getObjectFromID()теперь требуетintдля$id\ElggFile::getDownloadURL()теперь требуетboolдля$use_cookieиstringдля$expires\ElggFile::getInlineURL()теперь требуетboolдля$use_cookieиstringдля$expires\ElggGroup::isToolEnabled()теперь требуетstringдля$name\ElggMenuItem::factory()теперь требуетarrayдля$options\ElggTempFile::getDownloadURL()теперь требуетboolдля$use_cookieиstringдля$expires\ElggTempFile::getInlineURL()теперь требуетboolдля$use_cookieиstringдля$expires\Elgg\WebServices\Di\ApiRegistrationService::registerApiMethod()теперь требует только\Elgg\WebServices\ApiMethodв качестве параметра
Перемещённые классы
\ElggAutoPперемещён в\Elgg\Views\AutoParagraph\ElggCacheперемещён в\Elgg\Cache\BaseCache\ElggDiskFilestoreперемещён в\Elgg\Filesystem\Filestore\DiskFilestore\ElggFilestoreперемещён в\Elgg\Filesystem\Filestore\ElggRewriteTesterперемещён в\Elgg\Router\RewriteTester\ElggTempDiskFilestoreперемещён в\Elgg\Filesystem\Filestore\TempDiskFilestore\Elgg\Database\SiteSecretперемещён в\Elgg\Security\SiteSecret
Устаревшие API
elgg_clear_plugin_hook_handlersиспользуйтеelgg_clear_event_handlerselgg_register_plugin_hook_handlerиспользуйтеelgg_register_event_handlerelgg_trigger_plugin_hookиспользуйтеelgg_trigger_event_resultselgg_unregister_plugin_hook_handlerиспользуйтеelgg_unregister_event_handlerget_user_by_emailиспользуйтеelgg_get_user_by_emailget_user_by_usernameиспользуйтеelgg_get_user_by_username
Удалённые классы
Elgg\WebServices\ApiKeyFormLoggableэтот интерфейс был объединён с классомElggData
Удалённые функции
blog_prepare_form_varsbookmarks_prepare_form_varsdiscussion_prepare_form_varselgg_get_breadcrumbselgg_pop_breadcrumbelgg_set_email_transportиспользуйте_elgg_services()->set('mailer', ...)elgg_trigger_deprecated_plugin_hookelgg_ws_expose_functionиспользуйтеelgg-plugin.phpили событие'register', 'api_methods'file_prepare_form_varsget_user_by_emailиспользуйтеelgg_get_user_by_emailget_user_by_usernameиспользуйтеelgg_get_user_by_usernamegroups_prepare_form_varsmessages_prepare_form_varspages_prepare_form_varsthewire_latest_guid
Удалённые функции классов
\ElggWidget::saveSettings()
Удалённые события
access:collections:addcollection, collectionиспользуйте последовательностьcreate, access_collectionaccess:collections:deletecollection, collectionиспользуйте последовательностьdelete, access_collectionprepare, breadcrumbsиспользуйтеregister, menu:breadcrumbswidget_settings, <widget_handler>
Удалённые исключения
\Elgg\Exceptions\InvalidParameterException
Константы
Неправильно написанная константа
REFERERбыла удалена. ИспользуйтеREFERRER.Константа
REFERRERизменена на строку со значением__elgg_referrer