WordPress/wp-includes
hellofromTonya 2fa3d5a56f Code Modernization: Remove xml_set_object() in IXR_Message::parse().
The XML Parser extension still supports a quite dated mechanism for method based callbacks, where the object is first set via `xml_set_object()` and the callbacks are then set by passing only the name of the method to the relevant parameters on any of the `xml_set_*_handler()` functions.

{{{
xml_set_object( $parser, $my_obj );
xml_set_character_data_handler( $parser, 'method_name_on_my_obj' );
}}}

Passing proper callables to the `xml_set_*_handler()` functions has been supported for the longest time and is cross-version compatible. So the above code is 100% equivalent to:

{{{
xml_set_character_data_handler( $parser, [$my_obj, 'method_name_on_my_obj'] );
}}}

The mechanism of setting the callbacks with `xml_set_object()` has now been deprecated as of PHP 8.4, in favour of passing proper callables to the `xml_set_*_handler()` functions. This is also means that calling the `xml_set_object()` function is deprecated as well.

This commit fixes this deprecation for the `IXR_Message::parse()` method.

This change is safeguarded via the new`Tests_XMLRPC_Message::test_parse_sets_handlers()` test method.

Note: Though this is "officially" an external library, this package is no longer externally maintained. The code style of the fix in the source file is in line with the existing code style for the file.

Refs:
* https://wiki.php.net/rfc/deprecations_php_8_4#xml_set_object_and_xml_set_handler_with_string_method_names
* https://www.php.net/manual/en/function.xml-set-object.php
* https://www.php.net/manual/en/ref.xml.php

Follow-up to [15612], [1346].

Props jrf, hellofromTonya.
See #62061.
Built from https://develop.svn.wordpress.org/trunk@59056


git-svn-id: http://core.svn.wordpress.org/trunk@58452 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2024-09-18 18:04:14 +00:00
..
ID3
IXR Code Modernization: Remove xml_set_object() in IXR_Message::parse(). 2024-09-18 18:04:14 +00:00
PHPMailer
Requests
SimplePie
Text
assets Editor: Update packages for 6.6.2 RC1. 2024-09-04 16:25:19 +00:00
block-bindings
block-patterns Editor: Deprecate "Social links with a shared background color" pattern. 2024-09-13 05:37:16 +00:00
block-supports Block Styles: Ensure unique classname generation for variations 2024-08-29 05:41:10 +00:00
blocks Editor: Update packages for 6.6.2 RC1. 2024-09-04 16:25:19 +00:00
certificates
css Accessibility: Add border around menus and submenus in high contrast mode. 2024-09-17 23:28:15 +00:00
customize Administration: Modernize Site Icon UI in settings, customizer. 2024-08-23 22:47:16 +00:00
fonts Docs: Various docblock improvements. 2024-05-02 13:19:14 +00:00
html-api Code Modernization: Fix implicitly nullable parameter in WP_HTML_Processor. 2024-09-18 15:04:14 +00:00
images
interactivity-api Interactivity API: Allow server derived state to appear in non-final position 2024-07-29 11:10:23 +00:00
js Coding Standards: Avoid using confusing `!` condition in Media Library selection check. 2024-09-17 22:26:17 +00:00
l10n I18N: Add a new way to determine whether a translation is available. 2024-09-17 20:58:15 +00:00
php-compat
pomo
rest-api Global Styles: allow read access to users with `edit_posts` capabilities 2024-09-18 05:19:14 +00:00
sitemaps
sodium_compat Upgrade/Install: Add missing files from the sodium_compat v1.21.1 update. 2024-07-18 13:48:15 +00:00
style-engine Background: add background attachment support to theme.json styles 2024-07-31 02:41:16 +00:00
theme-compat
widgets Docs: Correct the placement of `@global` tags in various files. 2024-05-26 20:51:13 +00:00
admin-bar.php Docs: Add changing existing items recommendations to 'admin_bar_menu' action. 2024-09-03 19:58:11 +00:00
atomlib.php
author-template.php
block-bindings.php Docs: Correct alignment in `WP_Block_Bindings_Registry::register()` DocBlock. 2024-06-12 12:44:13 +00:00
block-editor.php Block Bindings: Adds sources in the editor settings to consume them in the client 2024-07-24 10:59:18 +00:00
block-i18n.json
block-patterns.php Editor: Deprecate "Social links with a shared background color" pattern. 2024-09-13 05:37:16 +00:00
block-template-utils.php Docs: Fix typo in a comment in `get_block_templates()`. 2024-09-10 09:47:18 +00:00
block-template.php
blocks.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
bookmark-template.php
bookmark.php
cache-compat.php
cache.php
canonical.php Docs: Correct inline comment formatting in `redirect_canonical()`. 2024-08-22 23:47:15 +00:00
capabilities.php Coding Standards: Use strict comparison in `wp-includes/capabilities.php`. 2024-09-08 19:18:17 +00:00
category-template.php
category.php
class-IXR.php
class-avif-info.php Media: fix potential error in class-avif-info.php::get_item_features(). 2024-04-26 15:02:14 +00:00
class-feed.php
class-http.php
class-json.php
class-oembed.php
class-phpass.php External Libraries: Update PHPass library. 2024-09-17 21:08:16 +00:00
class-phpmailer.php
class-pop3.php Bootstrap/Load: Ensure uses of set_time_limit are documented why. 2024-09-17 22:41:13 +00:00
class-requests.php
class-simplepie.php
class-smtp.php
class-snoopy.php
class-walker-category-dropdown.php
class-walker-category.php
class-walker-comment.php
class-walker-nav-menu.php
class-walker-page-dropdown.php
class-walker-page.php
class-wp-admin-bar.php Toolbar: Move user and recovery menus to a higher priority. 2024-07-18 00:52:17 +00:00
class-wp-ajax-response.php
class-wp-application-passwords.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
class-wp-block-bindings-registry.php Docs: Correct alignment in `WP_Block_Bindings_Registry::register()` DocBlock. 2024-06-12 12:44:13 +00:00
class-wp-block-bindings-source.php Block bindings: Adds a filter to customize the output of a block bindings source. 2024-09-03 16:33:15 +00:00
class-wp-block-editor-context.php
class-wp-block-list.php
class-wp-block-parser-block.php
class-wp-block-parser-frame.php
class-wp-block-parser.php Docs: Revert the documentation change to `WP_Block_Parser::parse()` made in [58084]. 2024-05-02 20:09:15 +00:00
class-wp-block-pattern-categories-registry.php
class-wp-block-patterns-registry.php Block Hooks API: Insert metadata at the same time as hooked blocks. 2024-05-23 18:35:14 +00:00
class-wp-block-styles-registry.php Editor: Improve types in docblock after [58246]. 2024-05-30 08:54:07 +00:00
class-wp-block-supports.php Editor: Check that `attrs` is an array in `WP_Block_Supports::apply_block_supports()`. 2024-05-06 21:25:15 +00:00
class-wp-block-template.php
class-wp-block-type-registry.php
class-wp-block-type.php Docs: Various docblock corrections. 2024-05-02 00:01:09 +00:00
class-wp-block.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
class-wp-classic-to-block-menu-converter.php
class-wp-comment-query.php Docs: Document `$clauses` associative array in `*-clauses` filters. 2024-06-21 17:26:14 +00:00
class-wp-comment.php
class-wp-customize-control.php Administration: A11y: Replace placeholders with visible labels. 2024-05-14 16:49:09 +00:00
class-wp-customize-manager.php Administration: Modernize Site Icon UI in settings, customizer. 2024-08-23 22:47:16 +00:00
class-wp-customize-nav-menus.php Menus: Accessibility: Improve screen reader text for edit button. 2024-06-03 20:35:13 +00:00
class-wp-customize-panel.php
class-wp-customize-section.php
class-wp-customize-setting.php
class-wp-customize-widgets.php Administration: A11y: Replace placeholders with visible labels. 2024-05-14 16:49:09 +00:00
class-wp-date-query.php
class-wp-dependencies.php Script Loader: Refactor Etag generation for concatenated assets. 2024-08-25 23:48:13 +00:00
class-wp-dependency.php
class-wp-duotone.php Docs: Add missing full stop in `WP_Duotone` class method DocBlocks. 2024-06-14 12:18:11 +00:00
class-wp-editor.php Editor: A11y: Set ARIA attributes for Classic Editor link inserter. 2024-06-20 20:27:11 +00:00
class-wp-embed.php
class-wp-error.php
class-wp-fatal-error-handler.php
class-wp-feed-cache-transient.php
class-wp-feed-cache.php
class-wp-hook.php
class-wp-http-cookie.php
class-wp-http-curl.php
class-wp-http-encoding.php
class-wp-http-ixr-client.php
class-wp-http-proxy.php
class-wp-http-requests-hooks.php
class-wp-http-requests-response.php
class-wp-http-response.php
class-wp-http-streams.php
class-wp-http.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
class-wp-image-editor-gd.php Media: improve GD support detection for AVIF. 2024-06-03 20:27:12 +00:00
class-wp-image-editor-imagick.php Media: improve speed of AVIF image generation. 2024-09-17 23:29:29 +00:00
class-wp-image-editor.php Media: Automatically convert HEIC images to JPEG 2024-08-05 04:13:15 +00:00
class-wp-list-util.php
class-wp-locale-switcher.php
class-wp-locale.php Docs: Correct the placement of `@global` tags in various files. 2024-05-26 20:51:13 +00:00
class-wp-matchesmapregex.php
class-wp-meta-query.php Docs: Typo corrections in class `WP_Meta_Query`. 2024-04-22 20:25:08 +00:00
class-wp-metadata-lazyloader.php
class-wp-navigation-fallback.php
class-wp-network-query.php Docs: Document `$clauses` associative array in `*-clauses` filters. 2024-06-21 17:26:14 +00:00
class-wp-network.php Networks and Sites: Set `WP_Network` properties via setters upon creation. 2024-09-13 22:12:15 +00:00
class-wp-object-cache.php Code Modernization: Remove obsolete comments about older PHP versions. 2024-07-06 14:54:16 +00:00
class-wp-oembed-controller.php
class-wp-oembed.php Embeds: Remove SlideShare embed block variation. 2024-06-07 23:15:16 +00:00
class-wp-paused-extensions-storage.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
class-wp-plugin-dependencies.php Plugin Dependencies: Ensure dependency detection for newly installed plugins. 2024-05-30 15:15:10 +00:00
class-wp-post-type.php Posts, Post Types: Remove now obsolete hardcoded `attachment` check for autosave support. 2024-05-27 15:24:13 +00:00
class-wp-post.php
class-wp-query.php Query: Add more context to the split_the_query filter. 2024-05-20 21:21:16 +00:00
class-wp-recovery-mode-cookie-service.php
class-wp-recovery-mode-email-service.php
class-wp-recovery-mode-key-service.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
class-wp-recovery-mode-link-service.php
class-wp-recovery-mode.php
class-wp-rewrite.php
class-wp-role.php
class-wp-roles.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
class-wp-script-modules.php Docs: Remove `@global` annotation after [58952]. 2024-08-29 06:16:09 +00:00
class-wp-scripts.php Code Quality: Clarify variable names in dependency classes. 2024-08-10 23:00:14 +00:00
class-wp-session-tokens.php
class-wp-simplepie-file.php
class-wp-simplepie-sanitize-kses.php
class-wp-site-query.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
class-wp-site.php
class-wp-styles.php Code Quality: Clarify variable names in dependency classes. 2024-08-10 23:00:14 +00:00
class-wp-tax-query.php
class-wp-taxonomy.php
class-wp-term-query.php Taxonomy: Remove redundant `$taxonomies` value from cache keys used for `WP_Term_Query`. 2024-09-17 17:00:14 +00:00
class-wp-term.php
class-wp-text-diff-renderer-inline.php
class-wp-text-diff-renderer-table.php
class-wp-textdomain-registry.php Docs: Fix docblock alignment for `pre_get_language_files_from_path` filter. 2024-06-28 08:51:16 +00:00
class-wp-theme-json-data.php Editor: Add theme.json v3 migrations. 2024-06-04 11:55:14 +00:00
class-wp-theme-json-resolver.php Block themes: Enable block-level background image styles 2024-07-24 00:26:14 +00:00
class-wp-theme-json-schema.php Editor: code quality improvements for theme.json migrate API 2024-06-06 08:02:16 +00:00
class-wp-theme-json.php Background images: resolve theme.json dynamic ref values and ensure appropriate style default values 2024-08-26 05:40:16 +00:00
class-wp-theme.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
class-wp-token-map.php HTML API: Add PHP type annotations. 2024-07-19 23:44:16 +00:00
class-wp-user-meta-session-tokens.php
class-wp-user-query.php Docs: Add a note that the `who` parameter in `WP_User_Query` is deprecated. 2024-05-19 19:53:19 +00:00
class-wp-user-request.php
class-wp-user.php
class-wp-walker.php General: Cast `$max_depth` and `$depth` to an integer in the `Walker` class. 2024-07-26 07:56:13 +00:00
class-wp-widget-factory.php
class-wp-widget.php
class-wp-xmlrpc-server.php
class-wp.php
class-wpdb.php
class.wp-dependencies.php
class.wp-scripts.php
class.wp-styles.php
comment-template.php Comments: Only type cast a scalar `$comment_id` in `get_comment_author_link()`. 2024-07-25 22:38:16 +00:00
comment.php Bootstrap/Load: Ensure uses of set_time_limit are documented why. 2024-09-17 22:41:13 +00:00
compat.php Bootstrap/Load: Give more context and warning about editing compat.php. 2024-09-17 23:50:12 +00:00
cron.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
date.php
default-constants.php Coding Standards: Use a human-readable constant in the check for max memory limit. 2024-08-26 20:57:13 +00:00
default-filters.php Bootstrap/Load: Add Words of warning about load order. 2024-08-28 14:36:17 +00:00
default-widgets.php
deprecated.php Bootstrap/Load: Ensure uses of set_time_limit are documented why. 2024-09-17 22:41:13 +00:00
embed-template.php
embed.php Embeds: Add titles to alternate resource links for oEmbed and REST API. 2024-06-02 22:02:16 +00:00
error-protection.php
feed-atom-comments.php
feed-atom.php
feed-rdf.php
feed-rss.php
feed-rss2-comments.php
feed-rss2.php
feed.php Code Modernization: Use wp_trigger_error() instead of trigger_error(). 2024-06-13 20:50:14 +00:00
fonts.php Editor (Font Library): Store font subdirectory in post meta. 2024-06-05 23:19:17 +00:00
formatting.php Coding Standards: Replace an empty `foreach` loop in `wp_replace_in_html_tags()`. 2024-08-13 16:29:18 +00:00
functions.php General: Add missing `initial-scale` value in viewport meta tags. 2024-09-17 00:03:54 +00:00
functions.wp-scripts.php Docs: Correct the placement of `@global` tags in various files. 2024-05-26 20:51:13 +00:00
functions.wp-styles.php Docs: Correct the placement of `@global` tags in various files. 2024-05-26 20:51:13 +00:00
general-template.php Docs: Remove the `@ignore` tag for `_wp_render_title_tag()`. 2024-09-11 13:27:12 +00:00
global-styles-and-settings.php Block themes: Enable block-level background image styles 2024-07-24 00:26:14 +00:00
http.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
https-detection.php
https-migration.php
kses.php KSES: Add `opacity` to the list of safe CSS properties. 2024-07-12 03:36:15 +00:00
l10n.php I18N: Add a new way to determine whether a translation is available. 2024-09-17 20:58:15 +00:00
link-template.php Comments: Reinstate original since annotation on `get_edit_comment_link` filter. 2024-09-11 15:44:13 +00:00
load.php Code Modernization: Simplify a conditional in `wp_is_ini_value_changeable()`. 2024-07-06 15:07:08 +00:00
locale.php
media-template.php Media: Implement fallback to full-size thumbnails for PDFs in Media Library. 2024-08-28 17:01:13 +00:00
media.php Media: Add auto sizes for lazy-loaded images. 2024-09-11 00:01:23 +00:00
meta.php Meta: Add label argument to register_meta function 2024-09-16 11:33:38 +00:00
ms-blogs.php
ms-default-constants.php Code Modernization: Use wp_trigger_error() instead of trigger_error(). 2024-06-13 20:50:14 +00:00
ms-default-filters.php
ms-deprecated.php
ms-files.php
ms-functions.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
ms-load.php
ms-network.php
ms-settings.php
ms-site.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
nav-menu-template.php Coding Standards: Use strict comparison in `wp-includes/nav-menu-template.php`. 2024-05-09 15:16:14 +00:00
nav-menu.php Menus: Check if taxonomy term exists in `wp_update_nav_menu_item()`. 2024-08-05 19:00:19 +00:00
option.php Docs: Correct the first parameter name for the `pre_site_option_{$option}` filter. 2024-09-04 21:10:14 +00:00
pluggable-deprecated.php
pluggable.php Docs: Various docblock improvements and corrections. 2024-09-11 12:08:19 +00:00
plugin.php
post-formats.php Docs: Improve documentation for a few functions accepting a `WP_Post` object. 2024-05-27 16:29:16 +00:00
post-template.php Docs: Correct documentation for `the_password_form` hook. 2024-08-03 18:32:14 +00:00
post-thumbnail-template.php
post.php Docs: Add missing @since and @param annotations for the `edit_post_{$field}` hook doc. 2024-09-18 06:04:10 +00:00
query.php
registration-functions.php
registration.php
rest-api.php REST API: Allow posts to be published with a publication date of midnight 1970-01-01. 2024-09-17 23:24:12 +00:00
revision.php Docs: Correct documentation for `_wp_preview_meta_filter()`. 2024-07-15 01:59:16 +00:00
rewrite.php
robots-template.php
rss-functions.php
rss.php Code Modernization: Use wp_trigger_error() instead of trigger_error(). 2024-06-13 20:50:14 +00:00
script-loader.php Script Loader: Restore `user-profile.js` dependencies after an accidental revert. 2024-09-18 14:24:17 +00:00
script-modules.php Docs: Correct the placement of `@global` tags in various files. 2024-05-26 20:51:13 +00:00
session.php
shortcodes.php Docs: Update `pre_do_shortcode_tag` and `do_shortcode_tag` filter DocBlocks. 2024-05-25 03:04:12 +00:00
sitemaps.php
spl-autoload-compat.php
style-engine.php Editor: add Style Engine support for nested CSS rules. 2024-05-03 04:47:12 +00:00
taxonomy.php Docs: Further clarify return results for a non-existing ID in metadata functions. 2024-09-01 18:30:16 +00:00
template-canvas.php
template-loader.php
template.php
theme-i18n.json Themes: add "description" key to i18n schema 2024-07-02 23:25:18 +00:00
theme-previews.php
theme-templates.php
theme.json Editor: Fix specificity of core block style variations. 2024-06-12 06:11:13 +00:00
theme.php Options, Meta APIs: Explicitly pass `$autoload` parameter to when potentially adding new options. 2024-09-03 18:19:14 +00:00
update.php Upgrade/Install: Indicate HEIC support when checking upgrades. 2024-09-13 05:23:22 +00:00
user.php Docs: Further clarify return results for a non-existing ID in metadata functions. 2024-09-01 18:30:16 +00:00
vars.php
version.php Code Modernization: Remove xml_set_object() in IXR_Message::parse(). 2024-09-18 18:04:14 +00:00
widgets.php Docs: Correct the placement of `@global` tags in various files. 2024-05-26 20:51:13 +00:00
wp-db.php
wp-diff.php