From 5c97d09d74eeb18faab7e72ac2c1fa1d7df44aaf Mon Sep 17 00:00:00 2001 From: gggeek Date: Sat, 7 Sep 2024 12:27:57 +0000 Subject: [PATCH] prepare for php 8.4 deprecations --- src/Helper/XMLParser.php | 12 +++++------- src/Server.php | 6 +++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/Helper/XMLParser.php b/src/Helper/XMLParser.php index 70c92a4..08b2c23 100644 --- a/src/Helper/XMLParser.php +++ b/src/Helper/XMLParser.php @@ -237,23 +237,21 @@ public function parse($data, $returnType = self::RETURN_XMLRPCVALS, $accept = 3, // always set this, in case someone tries to disable it via options... xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 1); - xml_set_object($parser, $this); - switch ($returnType) { case self::RETURN_PHP: - xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee_fast'); + xml_set_element_handler($parser, array($this, 'xmlrpc_se'), array($this, 'xmlrpc_ee_fast')); break; case self::RETURN_EPIVALS: - xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee_epi'); + xml_set_element_handler($parser, array($this, 'xmlrpc_se'), array($this, 'xmlrpc_ee_epi')); break; /// @todo log an error / throw / error-out on unsupported return type case XMLParser::RETURN_XMLRPCVALS: default: - xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee'); + xml_set_element_handler($parser, array($this, 'xmlrpc_se'), array($this, 'xmlrpc_ee')); } - xml_set_character_data_handler($parser, 'xmlrpc_cd'); - xml_set_default_handler($parser, 'xmlrpc_dh'); + xml_set_character_data_handler($parser, array($this, 'xmlrpc_cd')); + xml_set_default_handler($parser, array($this, 'xmlrpc_dh')); try { // @see ticket #70 - we have to parse big xml docs in chunks to avoid errors diff --git a/src/Server.php b/src/Server.php index 014807b..338e360 100644 --- a/src/Server.php +++ b/src/Server.php @@ -998,15 +998,15 @@ public function methodNameCallback($methodName, $xmlParser, $parser = null) /// @todo this should be done by a method of the XMLParser switch ($dmap[$methodName]['parameters_type']) { case XMLParser::RETURN_PHP: - xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee_fast'); + xml_set_element_handler($parser, array($xmlParser, 'xmlrpc_se'), array($xmlParser, 'xmlrpc_ee_fast')); break; case XMLParser::RETURN_EPIVALS: - xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee_epi'); + xml_set_element_handler($parser, array($xmlParser, 'xmlrpc_se'), array($xmlParser, 'xmlrpc_ee_epi')); break; /// @todo log a warning on unsupported return type case XMLParser::RETURN_XMLRPCVALS: default: - xml_set_element_handler($parser, 'xmlrpc_se', 'xmlrpc_ee'); + xml_set_element_handler($parser, array($xmlParser, 'xmlrpc_se'), array($xmlParser, 'xmlrpc_ee')); } } }