diff --git a/lib/phpxmlrpc/Server.php b/lib/phpxmlrpc/Server.php index 1cc965f3d32..efeb1aab93d 100644 --- a/lib/phpxmlrpc/Server.php +++ b/lib/phpxmlrpc/Server.php @@ -421,7 +421,7 @@ class Server } } if (isset($wanted)) { - return array(0, "Wanted ${wanted}, got ${got} at param ${pno}"); + return array(0, "Wanted {$wanted}, got {$got} at param {$pno}"); // TODO: Remove this modification in MDL-76415. } else { return array(0, "No method signature matches number of parameters"); } @@ -669,7 +669,7 @@ class Server return new Response( 0, PhpXmlRpc::$xmlrpcerr['incorrect_params'], - PhpXmlRpc::$xmlrpcstr['incorrect_params'] . ": ${errStr}" + PhpXmlRpc::$xmlrpcstr['incorrect_params'] . ": {$errStr}" // TODO: Remove this modification in MDL-76415. ); } } @@ -1020,8 +1020,8 @@ class Server public static function _xmlrpcs_multicall_error($err) { if (is_string($err)) { - $str = PhpXmlRpc::$xmlrpcstr["multicall_${err}"]; - $code = PhpXmlRpc::$xmlrpcerr["multicall_${err}"]; + $str = PhpXmlRpc::$xmlrpcstr["multicall_{$err}"]; // TODO: Remove this modification in MDL-76415. + $code = PhpXmlRpc::$xmlrpcerr["multicall_{$err}"]; // TODO: Remove this modification in MDL-76415. } else { $code = $err->faultCode(); $str = $err->faultString(); diff --git a/lib/phpxmlrpc/Value.php b/lib/phpxmlrpc/Value.php index e058957dc6f..d7d0026594e 100644 --- a/lib/phpxmlrpc/Value.php +++ b/lib/phpxmlrpc/Value.php @@ -279,19 +279,19 @@ class Value implements \Countable, \IteratorAggregate, \ArrayAccess case 1: switch ($typ) { case static::$xmlrpcBase64: - $rs .= "<${typ}>" . base64_encode($val) . ""; + $rs .= "<{$typ}>" . base64_encode($val) . ""; // TODO: Remove this modification in MDL-76415. break; case static::$xmlrpcBoolean: - $rs .= "<${typ}>" . ($val ? '1' : '0') . ""; + $rs .= "<{$typ}>" . ($val ? '1' : '0') . ""; // TODO: Remove this modification in MDL-76415. break; case static::$xmlrpcString: // Do NOT use htmlentities, since it will produce named html entities, which are invalid xml - $rs .= "<${typ}>" . $this->getCharsetEncoder()->encodeEntities($val, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . ""; + $rs .= "<{$typ}>" . $this->getCharsetEncoder()->encodeEntities($val, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . ""; // TODO: Remove this modification in MDL-76415. break; case static::$xmlrpcInt: case static::$xmlrpcI4: case static::$xmlrpcI8: - $rs .= "<${typ}>" . (int)$val . ""; + $rs .= "<{$typ}>" . (int)$val . ""; // TODO: Remove this modification in MDL-76415. break; case static::$xmlrpcDouble: // avoid using standard conversion of float to string because it is locale-dependent, @@ -299,18 +299,18 @@ class Value implements \Countable, \IteratorAggregate, \ArrayAccess // sprintf('%F') could be most likely ok but it fails eg. on 2e-14. // The code below tries its best at keeping max precision while avoiding exp notation, // but there is of course no limit in the number of decimal places to be used... - $rs .= "<${typ}>" . preg_replace('/\\.?0+$/', '', number_format((double)$val, PhpXmlRpc::$xmlpc_double_precision, '.', '')) . ""; + $rs .= "<{$typ}>" . preg_replace('/\\.?0+$/', '', number_format((double)$val, PhpXmlRpc::$xmlpc_double_precision, '.', '')) . ""; // TODO: Remove this modification in MDL-76415. break; case static::$xmlrpcDateTime: if (is_string($val)) { - $rs .= "<${typ}>${val}"; + $rs .= "<{$typ}>{$val}"; // TODO: Remove this modification in MDL-76415. } elseif (is_a($val, 'DateTime') || is_a($val, 'DateTimeInterface')) { - $rs .= "<${typ}>" . $val->format('Ymd\TH:i:s') . ""; + $rs .= "<{$typ}>" . $val->format('Ymd\TH:i:s') . ""; // TODO: Remove this modification in MDL-76415. } elseif (is_int($val)) { - $rs .= "<${typ}>" . date('Ymd\TH:i:s', $val) . ""; + $rs .= "<{$typ}>" . date('Ymd\TH:i:s', $val) . ""; // TODO: Remove this modification in MDL-76415. } else { // not really a good idea here: but what should we output anyway? left for backward compat... - $rs .= "<${typ}>${val}"; + $rs .= "<{$typ}>{$val}"; // TODO: Remove this modification in MDL-76415. } break; case static::$xmlrpcNull: @@ -323,7 +323,7 @@ class Value implements \Countable, \IteratorAggregate, \ArrayAccess default: // no standard type value should arrive here, but provide a possibility // for xmlrpc values of unknown type... - $rs .= "<${typ}>${val}"; + $rs .= "<{$typ}>{$val}"; // TODO: Remove this modification in MDL-76415. } break; case 3: diff --git a/lib/phpxmlrpc/readme_moodle.txt b/lib/phpxmlrpc/readme_moodle.txt index ae13fbaaebe..cf02d686ce2 100644 --- a/lib/phpxmlrpc/readme_moodle.txt +++ b/lib/phpxmlrpc/readme_moodle.txt @@ -19,4 +19,7 @@ To update: Current version imported: 4.8.1 (c74cc31) Local changes: - * readme_moodle.txt - this file ;-) + * 2023/01/26 - Server.php and Value.php files have minor changes for PHP 8.2 compatibility. See MDL-76415 for more details. + Since version 4.9.1, the phpxmlrpc already has the fix, so if someone executing the upgrading version and + it has the patch, please ignore this note. + * readme_moodle.txt - this file ;-)