diff --git a/backup/util/xml/parser/progressive_parser.class.php b/backup/util/xml/parser/progressive_parser.class.php index 448994723c4..921f6e0edea 100644 --- a/backup/util/xml/parser/progressive_parser.class.php +++ b/backup/util/xml/parser/progressive_parser.class.php @@ -79,7 +79,6 @@ class progressive_parser { public function __construct($case_folding = false) { $this->xml_parser = xml_parser_create('UTF-8'); xml_parser_set_option($this->xml_parser, XML_OPTION_CASE_FOLDING, $case_folding); - xml_set_object($this->xml_parser, $this); xml_set_element_handler($this->xml_parser, array($this, 'start_tag'), array($this, 'end_tag')); xml_set_character_data_handler($this->xml_parser, array($this, 'char_data')); diff --git a/lib/dtl/xml_database_importer.php b/lib/dtl/xml_database_importer.php index 98fc18ca38c..943226e80fa 100644 --- a/lib/dtl/xml_database_importer.php +++ b/lib/dtl/xml_database_importer.php @@ -44,9 +44,8 @@ abstract class xml_database_importer extends database_importer { */ protected function get_parser() { $parser = xml_parser_create(); - xml_set_object($parser, $this); - xml_set_element_handler($parser, 'tag_open', 'tag_close'); - xml_set_character_data_handler($parser, 'cdata'); + xml_set_element_handler($parser, [$this, 'tag_open'], [$this, 'tag_close']); + xml_set_character_data_handler($parser, [$this, 'cdata']); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false); return $parser; } diff --git a/lib/webdavlib.php b/lib/webdavlib.php index acf8f9c3356..510644727d3 100644 --- a/lib/webdavlib.php +++ b/lib/webdavlib.php @@ -662,9 +662,8 @@ class webdav_client { unset($this->_xmltree[$this->_parserid]); xml_parser_set_option($this->_parser,XML_OPTION_SKIP_WHITE,0); xml_parser_set_option($this->_parser,XML_OPTION_CASE_FOLDING,0); - xml_set_object($this->_parser, $this); - xml_set_element_handler($this->_parser, "_lock_startElement", "_endElement"); - xml_set_character_data_handler($this->_parser, "_lock_cdata"); + xml_set_element_handler($this->_parser, [$this, "_lock_startElement"], [$this, "_endElement"]); + xml_set_character_data_handler($this->_parser, [$this, "_lock_cdata"]); if (!xml_parse($this->_parser, $response['body'])) { die(sprintf("XML error: %s at line %d", @@ -760,9 +759,8 @@ class webdav_client { unset($this->_xmltree[$this->_parserid]); xml_parser_set_option($this->_parser,XML_OPTION_SKIP_WHITE,0); xml_parser_set_option($this->_parser,XML_OPTION_CASE_FOLDING,0); - xml_set_object($this->_parser, $this); - xml_set_element_handler($this->_parser, "_delete_startElement", "_endElement"); - xml_set_character_data_handler($this->_parser, "_delete_cdata"); + xml_set_element_handler($this->_parser, [$this, "_delete_startElement"], [$this, "_endElement"]); + xml_set_character_data_handler($this->_parser, [$this, "_delete_cdata"]); if (!xml_parse($this->_parser, $response['body'])) { die(sprintf("XML error: %s at line %d", @@ -853,9 +851,8 @@ EOD; xml_parser_set_option($this->_parser,XML_OPTION_SKIP_WHITE,0); xml_parser_set_option($this->_parser,XML_OPTION_CASE_FOLDING,0); // xml_parser_set_option($this->_parser,XML_OPTION_TARGET_ENCODING,'UTF-8'); - xml_set_object($this->_parser, $this); - xml_set_element_handler($this->_parser, "_propfind_startElement", "_endElement"); - xml_set_character_data_handler($this->_parser, "_propfind_cdata"); + xml_set_element_handler($this->_parser, [$this, "_propfind_startElement"], [$this, "_endElement"]); + xml_set_character_data_handler($this->_parser, [$this, "_propfind_cdata"]); if (!xml_parse($this->_parser, $response['body'])) { diff --git a/mnet/xmlrpc/xmlparser.php b/mnet/xmlrpc/xmlparser.php index ad5843034bc..2eea904f60f 100644 --- a/mnet/xmlrpc/xmlparser.php +++ b/mnet/xmlrpc/xmlparser.php @@ -78,10 +78,9 @@ class mnet_encxml_parser { */ function initialise() { $this->parser = xml_parser_create(); - xml_set_object($this->parser, $this); - xml_set_element_handler($this->parser, "start_element", "end_element"); - xml_set_character_data_handler($this->parser, "discard_data"); + xml_set_element_handler($this->parser, [$this, "start_element"], [$this, "end_element"]); + xml_set_character_data_handler($this->parser, [$this, "discard_data"]); $this->tag_number = 0; // Just a unique ID for each tag $this->digest = ''; @@ -224,7 +223,7 @@ class mnet_encxml_parser { default: break; } - xml_set_character_data_handler($this->parser, $handler); + xml_set_character_data_handler($this->parser, [$this, $handler]); return true; } @@ -351,7 +350,7 @@ class mnet_encxml_parser { * @return bool True */ function end_element($parser, $name) { - $ok = xml_set_character_data_handler($this->parser, "discard_data"); + $ok = xml_set_character_data_handler($this->parser, [$this, "discard_data"]); return true; } } diff --git a/mod/scorm/datamodels/scormlib.php b/mod/scorm/datamodels/scormlib.php index 82e6539e3a5..ab848a2bdd9 100644 --- a/mod/scorm/datamodels/scormlib.php +++ b/mod/scorm/datamodels/scormlib.php @@ -916,10 +916,9 @@ class xml2Array { */ public function parse($strinputxml) { $this->resparser = xml_parser_create ('UTF-8'); - xml_set_object($this->resparser, $this); - xml_set_element_handler($this->resparser, "tagopen", "tagclosed"); + xml_set_element_handler($this->resparser, [$this, "tagopen"], [$this, "tagclosed"]); - xml_set_character_data_handler($this->resparser, "tagdata"); + xml_set_character_data_handler($this->resparser, [$this, "tagdata"]); $this->strxmldata = xml_parse($this->resparser, $strinputxml ); if (!$this->strxmldata) {