mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 07:12:26 +02:00
N°8834 - Add compatibility with PHP 8.4 (#819)
* N°8834 - Add compatibility with PHP 8.4 * Rollback of scssphp/scssphp version upgrade due to compilation error
This commit is contained in:
@@ -98,7 +98,7 @@ final class Dotenv
|
||||
* @throws FormatException when a file has a syntax error
|
||||
* @throws PathException when a file does not exist or is not readable
|
||||
*/
|
||||
public function loadEnv(string $path, string $envKey = null, string $defaultEnv = 'dev', array $testEnvs = ['test'], bool $overrideExistingVars = false): void
|
||||
public function loadEnv(string $path, ?string $envKey = null, string $defaultEnv = 'dev', array $testEnvs = ['test'], bool $overrideExistingVars = false): void
|
||||
{
|
||||
$k = $envKey ?? $this->envKey;
|
||||
|
||||
@@ -460,7 +460,7 @@ final class Dotenv
|
||||
try {
|
||||
$process->mustRun();
|
||||
} catch (ProcessException) {
|
||||
throw $this->createFormatException(sprintf('Issue expanding a command (%s)', $process->getErrorOutput()));
|
||||
throw $this->createFormatException(\sprintf('Issue expanding a command (%s)', $process->getErrorOutput()));
|
||||
}
|
||||
|
||||
return preg_replace('/[\r\n]+$/', '', $process->getOutput());
|
||||
@@ -480,7 +480,7 @@ final class Dotenv
|
||||
(?!\() # no opening parenthesis
|
||||
(?P<opening_brace>\{)? # optional brace
|
||||
(?P<name>'.self::VARNAME_REGEX.')? # var name
|
||||
(?P<default_value>:[-=][^\}]++)? # optional default value
|
||||
(?P<default_value>:[-=][^\}]*+)? # optional default value
|
||||
(?P<closing_brace>\})? # optional closing brace
|
||||
/x';
|
||||
|
||||
@@ -515,7 +515,7 @@ final class Dotenv
|
||||
if ('' === $value && isset($matches['default_value']) && '' !== $matches['default_value']) {
|
||||
$unsupportedChars = strpbrk($matches['default_value'], '\'"{$');
|
||||
if (false !== $unsupportedChars) {
|
||||
throw $this->createFormatException(sprintf('Unsupported character "%s" found in the default value of variable "$%s".', $unsupportedChars[0], $name));
|
||||
throw $this->createFormatException(\sprintf('Unsupported character "%s" found in the default value of variable "$%s".', $unsupportedChars[0], $name));
|
||||
}
|
||||
|
||||
$value = substr($matches['default_value'], 2);
|
||||
@@ -553,7 +553,13 @@ final class Dotenv
|
||||
throw new PathException($path);
|
||||
}
|
||||
|
||||
$this->populate($this->parse(file_get_contents($path), $path), $overrideExistingVars);
|
||||
$data = file_get_contents($path);
|
||||
|
||||
if ("\xEF\xBB\xBF" === substr($data, 0, 3)) {
|
||||
throw new FormatException('Loading files starting with a byte-order-mark (BOM) is not supported.', new FormatExceptionContext($data, $path, 1, 0));
|
||||
}
|
||||
|
||||
$this->populate($this->parse($data, $path), $overrideExistingVars);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user