diff --git a/.drone.yml b/.drone.yml index bdef987738cb5..656603ed1520c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -6,7 +6,7 @@ clone: steps: - name: setup - image: joomlaprojects/docker-images:php8.3 + image: joomlaprojects/docker-images:php8.4 volumes: - name: certificates path: /certificates @@ -14,7 +14,7 @@ steps: - cp -v tests/certs/* /certificates/ - name: composer - image: joomlaprojects/docker-images:php8.3 + image: joomlaprojects/docker-images:php8.4 volumes: - name: composer-cache path: /tmp/composer-cache @@ -70,6 +70,13 @@ steps: - php -v - ./libraries/vendor/bin/phpunit --testsuite Unit + - name: php84-unit + depends_on: [ phpcs ] + image: joomlaprojects/docker-images:php8.4 + commands: + - php -v + - ./libraries/vendor/bin/phpunit --testsuite Unit + - name: php81-integration depends_on: [ npm ] image: joomlaprojects/docker-images:php8.1 @@ -91,6 +98,13 @@ steps: - php -v - ./libraries/vendor/bin/phpunit --testsuite Integration + - name: php84-integration + depends_on: [ npm ] + image: joomlaprojects/docker-images:php8.4 + commands: + - php -v + - ./libraries/vendor/bin/phpunit --testsuite Integration + - name: php81-integration-pgsql depends_on: [ npm ] image: joomlaprojects/docker-images:php8.1 @@ -112,6 +126,13 @@ steps: - php -v - ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist + - name: php84-integration-pgsql + depends_on: [ npm ] + image: joomlaprojects/docker-images:php8.4 + commands: + - php -v + - ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist + - name: scss-cs depends_on: [ npm ] image: node:current-alpine @@ -154,7 +175,7 @@ steps: - name: phpmax-system-mysql depends_on: - phpmin-system-mysql - image: joomlaprojects/docker-images:cypress8.3 + image: joomlaprojects/docker-images:cypress8.4 volumes: - name: cypress-cache path: /root/.cache/Cypress @@ -167,24 +188,6 @@ steps: exclude: - pull_request - - name: phpnext-system-mysql - depends_on: - - phpmax-system-mysql - image: joomlaprojects/docker-images:cypress8.4 - volumes: - - name: cypress-cache - path: /root/.cache/Cypress - environment: - JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 - failure: ignore - commands: - - echo "This test is disabled because php next is not stable yet" - - exit 1 - - bash tests/System/entrypoint.sh "$(pwd)" cmysqlnext mysqli mysql - when: - event: - exclude: - - pull_request - name: phpmin-system-postgres depends_on: @@ -205,39 +208,18 @@ steps: - name: phpmax-system-postgres depends_on: - phpmin-system-postgres - image: joomlaprojects/docker-images:cypress8.3 - volumes: - - name: cypress-cache - path: /root/.cache/Cypress - environment: - JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 - commands: - - bash tests/System/entrypoint.sh "$(pwd)" cpostgresmax pgsql postgres - - - name: phpnext-system-postgres - depends_on: - - phpmax-system-postgres image: joomlaprojects/docker-images:cypress8.4 volumes: - name: cypress-cache path: /root/.cache/Cypress environment: JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1 - failure: ignore commands: - - echo "This test is disabled because php next is not stable yet" - - exit 1 - - bash tests/System/entrypoint.sh "$(pwd)" cpostgresnext pgsql postgres - when: - event: - exclude: - - pull_request + - bash tests/System/entrypoint.sh "$(pwd)" cpostgresmax pgsql postgres - name: artifacts-system-tests image: joomlaprojects/docker-images:packager depends_on: - - phpnext-system-mysql - - phpnext-system-postgres - phpmax-system-mysql - phpmax-system-postgres - phpmin-system-mysql @@ -433,6 +415,6 @@ trigger: --- kind: signature -hmac: fedcefde305c98f4dfc926b9039f83692827337da9e689e423c9de93a97248dd +hmac: 99da78521b10f37ddf6731e695fe52f85ee3db142bccac66901ae5372e332aae ... diff --git a/composer.lock b/composer.lock index eb73b2e9da898..49248c27a7ba5 100644 --- a/composer.lock +++ b/composer.lock @@ -5881,12 +5881,12 @@ "source": { "type": "git", "url": "https://github.com/joomla-backports/json-api-php.git", - "reference": "a56f59df9e0fc95b1421a5210e1cdf208c9f91d2" + "reference": "c6580b75760cd00e555ef5ef1028f63231fb53f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-backports/json-api-php/zipball/a56f59df9e0fc95b1421a5210e1cdf208c9f91d2", - "reference": "a56f59df9e0fc95b1421a5210e1cdf208c9f91d2", + "url": "https://api.github.com/repos/joomla-backports/json-api-php/zipball/c6580b75760cd00e555ef5ef1028f63231fb53f2", + "reference": "c6580b75760cd00e555ef5ef1028f63231fb53f2", "shasum": "" }, "require": { @@ -5929,7 +5929,7 @@ "jsonapi", "standard" ], - "time": "2022-12-30T19:09:00+00:00" + "time": "2025-03-13T08:47:04+00:00" }, { "name": "typo3/phar-stream-wrapper", diff --git a/libraries/src/Changelog/Changelog.php b/libraries/src/Changelog/Changelog.php index 75941aeaebb95..1923c1b354527 100644 --- a/libraries/src/Changelog/Changelog.php +++ b/libraries/src/Changelog/Changelog.php @@ -367,9 +367,8 @@ public function loadFromXml($url) $this->currentChangelog = new \stdClass(); $this->xmlParser = xml_parser_create(''); - xml_set_object($this->xmlParser, $this); - xml_set_element_handler($this->xmlParser, 'startElement', 'endElement'); - xml_set_character_data_handler($this->xmlParser, 'characterData'); + xml_set_element_handler($this->xmlParser, [$this, 'startElement'], [$this, 'endElement']); + xml_set_character_data_handler($this->xmlParser, [$this, 'characterData']); if (!xml_parse($this->xmlParser, $response->body)) { Log::add( diff --git a/libraries/src/Updater/Adapter/CollectionAdapter.php b/libraries/src/Updater/Adapter/CollectionAdapter.php index 9d03103ea9126..245af85af7213 100644 --- a/libraries/src/Updater/Adapter/CollectionAdapter.php +++ b/libraries/src/Updater/Adapter/CollectionAdapter.php @@ -222,8 +222,7 @@ public function findUpdate($options) } $this->xmlParser = xml_parser_create(''); - xml_set_object($this->xmlParser, $this); - xml_set_element_handler($this->xmlParser, '_startElement', '_endElement'); + xml_set_element_handler($this->xmlParser, [$this, '_startElement'], [$this, '_endElement']); if (!xml_parse($this->xmlParser, $response->body)) { // If the URL is missing the .xml extension, try appending it and retry loading the update diff --git a/libraries/src/Updater/Adapter/ExtensionAdapter.php b/libraries/src/Updater/Adapter/ExtensionAdapter.php index b112ef432c00c..3019c7f6538ad 100644 --- a/libraries/src/Updater/Adapter/ExtensionAdapter.php +++ b/libraries/src/Updater/Adapter/ExtensionAdapter.php @@ -280,9 +280,8 @@ public function findUpdate($options) } $this->xmlParser = xml_parser_create(''); - xml_set_object($this->xmlParser, $this); - xml_set_element_handler($this->xmlParser, '_startElement', '_endElement'); - xml_set_character_data_handler($this->xmlParser, '_characterData'); + xml_set_element_handler($this->xmlParser, [$this, '_startElement'], [$this, '_endElement']); + xml_set_character_data_handler($this->xmlParser, [$this, '_characterData']); if (!xml_parse($this->xmlParser, $response->body)) { // If the URL is missing the .xml extension, try appending it and retry loading the update diff --git a/libraries/src/Updater/Update.php b/libraries/src/Updater/Update.php index 1cf54f713eace..76e8f463caa50 100644 --- a/libraries/src/Updater/Update.php +++ b/libraries/src/Updater/Update.php @@ -657,9 +657,8 @@ public function loadFromXml($url, $minimumStability = Updater::STABILITY_STABLE, $this->channel = $channel; $this->xmlParser = xml_parser_create(''); - xml_set_object($this->xmlParser, $this); - xml_set_element_handler($this->xmlParser, '_startElement', '_endElement'); - xml_set_character_data_handler($this->xmlParser, '_characterData'); + xml_set_element_handler($this->xmlParser, [$this, '_startElement'], [$this, '_endElement']); + xml_set_character_data_handler($this->xmlParser, [$this, '_characterData']); if (!xml_parse($this->xmlParser, $response->body)) { Log::add(