Details
Description
Appears to work on PHP 7.4, but returns this error on PHP 8.1 and 8.2
A white screen is encountered when making changes to a SolusVM service. It appears to happen when a cron runs for pending service changes (upgrade/downgrade) but the same error occurs when simply setting an override price, even with "Use Module" unchecked.
To reproduce:
- Edit a SolusVM service
- Check "Override Price", set a new price and uncheck "Use Module"
- Save
Note the white screen, and the following error in ../logs_blesta/ logs
[2024-10-10T15:54:23.238925+00:00] general.ERROR: Uncaught Exception TypeError: "array_key_exists(): Argument #2 ($array) must be of type array, stdClass given" at /home/user/public_html/511dev/components/modules/solusvm/solusvm.php line 451
Unknown macro: {"exception"}
In components/modules/solusvm.php around line 451 change
if (!array_key_exists($key, $service_fields) || $vars[$key] != $service_fields->$key) {
To
if (!property_exists($service_fields, $key) || $vars[$key] != $service_fields->$key) {