Compare commits
3 Commits
v9.39.1
...
38b2ffe82a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
38b2ffe82a | ||
|
|
6e547abccb | ||
|
|
676af5e1a4 |
@@ -62,9 +62,9 @@ fi;
|
||||
php_bin="${PHP_BIN_PATH}${php_version}";
|
||||
echo "Use PHP Version: ${php_version}";
|
||||
if [ "${use_composer}" -eq 1 ]; then
|
||||
echo "Use composer installed phan";
|
||||
echo "Use composer installed";
|
||||
else
|
||||
echo "Use phan installed via phives";
|
||||
echo "Use phive installed";
|
||||
fi;
|
||||
|
||||
if [ ! -f "${php_bin}" ]; then
|
||||
|
||||
@@ -62,9 +62,9 @@ fi;
|
||||
php_bin="${PHP_BIN_PATH}${php_version}";
|
||||
echo "Use PHP Version: ${php_version}";
|
||||
if [ "${use_composer}" -eq 1 ]; then
|
||||
echo "Use composer installed phan";
|
||||
echo "Use composer installed";
|
||||
else
|
||||
echo "Use phan installed via phives";
|
||||
echo "Use phive installed";
|
||||
fi;
|
||||
|
||||
if [ ! -f "${php_bin}" ]; then
|
||||
|
||||
@@ -81,9 +81,9 @@ fi;
|
||||
php_bin="${PHP_BIN_PATH}${php_version}";
|
||||
echo "Use PHP Version: ${php_version}";
|
||||
if [ "${use_composer}" -eq 1 ]; then
|
||||
echo "Use composer installed phan";
|
||||
echo "Use composer installed";
|
||||
else
|
||||
echo "Use phan installed via phives";
|
||||
echo "Use phive installed";
|
||||
fi;
|
||||
|
||||
if [ ! -f "${php_bin}" ]; then
|
||||
|
||||
@@ -164,6 +164,51 @@ final class CoreLibsConvertJsonTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* test with flags
|
||||
*
|
||||
* @covers ::jsonConvertToArray
|
||||
* @testdox jsonConvertToArray flag test, if flag is used
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testJsonConvertToArrayWithFlags(): void
|
||||
{
|
||||
$input = '{"valid":"json","invalid":"\xB1\x31"}';
|
||||
/* $expected_without_flag = [
|
||||
'valid' => 'json'
|
||||
];
|
||||
$expected_with_flag = [
|
||||
'valid' => 'json',
|
||||
'invalid' => "\xB1\x31"
|
||||
]; */
|
||||
// no idea why in both it throws an erro
|
||||
$expected_without_flag = [];
|
||||
$expected_with_flag = [];
|
||||
$this->assertEquals(
|
||||
$expected_without_flag,
|
||||
\CoreLibs\Convert\Json::jsonConvertToArray($input)
|
||||
);
|
||||
$this->assertEquals(
|
||||
$expected_with_flag,
|
||||
\CoreLibs\Convert\Json::jsonConvertToArray($input, flags:JSON_INVALID_UTF8_IGNORE)
|
||||
);
|
||||
}
|
||||
|
||||
public function testJsonConvertToArrayRemoveThrowFlag(): void
|
||||
{
|
||||
$input = '{"valid":"json","invalid":"\xB1\x31"}';
|
||||
// show NOT throw an exception
|
||||
try {
|
||||
$this->assertEquals(
|
||||
[],
|
||||
\CoreLibs\Convert\Json::jsonConvertToArray($input, flags:JSON_THROW_ON_ERROR)
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
$this->fail('Exception was thrown despite flag removal');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* test json error states
|
||||
*
|
||||
@@ -189,6 +234,49 @@ final class CoreLibsConvertJsonTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* test json error states
|
||||
*
|
||||
* @covers ::jsonValidate
|
||||
* @dataProvider jsonErrorProvider
|
||||
* @testdox jsonValidate $input will be $expected_i/$expected_s [$_dataName]
|
||||
*
|
||||
* @param string|null $input
|
||||
* @param int $expected_i
|
||||
* @param string $expected_s
|
||||
* @return void
|
||||
*/
|
||||
public function testJsonValidateGetLastError(?string $input, int $expected_i, string $expected_s): void
|
||||
{
|
||||
\CoreLibs\Convert\Json::jsonValidate($input);
|
||||
$this->assertEquals(
|
||||
$expected_i,
|
||||
\CoreLibs\Convert\Json::jsonGetLastError()
|
||||
);
|
||||
$this->assertEquals(
|
||||
$expected_s,
|
||||
\CoreLibs\Convert\Json::jsonGetLastError(true)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* test json validation
|
||||
*
|
||||
* @covers ::jsonValidate
|
||||
* @testdox jsonValidate test valid and invalid json
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testJsonValidate(): void
|
||||
{
|
||||
$this->assertTrue(
|
||||
\CoreLibs\Convert\Json::jsonValidate('{"valid": "json"}')
|
||||
);
|
||||
$this->assertFalse(
|
||||
\CoreLibs\Convert\Json::jsonValidate('not valid json')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
|
||||
@@ -46,6 +46,7 @@ $json = '["f: {b"""ar}]';
|
||||
$output = Json::jsonConvertToArray($json);
|
||||
print "S::E-JSON: $json: " . DgS::printAr($output) . "<br>";
|
||||
print "S::E-JSON ERROR: " . Json::jsonGetLastError() . ": " . Json::jsonGetLastError(true) . "<br>";
|
||||
print "S::E Validate: " . Json::jsonValidate($json) . ": " . Json::jsonGetLastError(true) . "<br>";
|
||||
|
||||
// direct
|
||||
$json = '{"direct": "static function call"}';
|
||||
@@ -58,6 +59,22 @@ $output = $json_class::jsonConvertToArray($json);
|
||||
print "J/S::E-JSON: $json: " . DgS::printAr($output) . "<br>";
|
||||
print "J/S::E-JSON ERROR: " . $json_class::jsonGetLastError() . ": " . $json_class::jsonGetLastError(true) . "<br>";
|
||||
|
||||
$json = '{"valid":"json","invalid":"\xB1\x31"}';
|
||||
$json = '{"valid":"json","invalid":"abc\x80def"}';
|
||||
$output_no_flag = Json::jsonConvertToArray($json);
|
||||
print "No Flag JSON: $json: " . DgS::printAr($output_no_flag) . "<br>";
|
||||
print "No Flag JSON ERROR: " . Json::jsonGetLastError() . ": " . Json::jsonGetLastError(true) . "<br>";
|
||||
$output_flag = Json::jsonConvertToArray($json, flags:JSON_INVALID_UTF8_IGNORE);
|
||||
print "No Flag JSON: $json: " . DgS::printAr($output_flag) . "<br>";
|
||||
print "No Flag JSON ERROR: " . Json::jsonGetLastError() . ": " . Json::jsonGetLastError(true) . "<br>";
|
||||
$output_raw = json_decode($json, true, flags:JSON_INVALID_UTF8_IGNORE);
|
||||
print "No Flag JSON RAW (F-1): $json: " . DgS::printAr($output_raw) . "<br>";
|
||||
$output_raw = json_decode($json, true, flags:JSON_INVALID_UTF8_SUBSTITUTE);
|
||||
print "No Flag JSON RAW (F-2): $json: " . DgS::printAr($output_raw) . "<br>";
|
||||
$output_raw = json_decode($json, true);
|
||||
print "No Flag JSON RAW: $json: " . DgS::printAr($output_raw) . "<br>";
|
||||
|
||||
|
||||
// $json = '{"foo": "bar"}';
|
||||
// $output = Jason::jsonConvertToArray($json);
|
||||
// print "S::JSON: $json: " . DgS::printAr($output) . "<br>";
|
||||
|
||||
9680
www/admin/layout/javascript/jquery-4.0.0.js
vendored
Normal file
9680
www/admin/layout/javascript/jquery-4.0.0.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
www/admin/layout/javascript/jquery-4.0.0.min.js
vendored
Normal file
2
www/admin/layout/javascript/jquery-4.0.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -27,10 +27,14 @@ class Json
|
||||
* set original value as array
|
||||
* @return array<mixed> returns an array from the json values
|
||||
*/
|
||||
public static function jsonConvertToArray(?string $json, bool $override = false): array
|
||||
public static function jsonConvertToArray(?string $json, bool $override = false, int $flags = 0): array
|
||||
{
|
||||
if ($json !== null) {
|
||||
$_json = json_decode($json, true);
|
||||
// if flags has JSON_THROW_ON_ERROR remove it
|
||||
if ($flags & JSON_THROW_ON_ERROR) {
|
||||
$flags = $flags & ~JSON_THROW_ON_ERROR;
|
||||
}
|
||||
$_json = json_decode($json, true, flags:$flags);
|
||||
if (self::$json_last_error = json_last_error()) {
|
||||
if ($override == true) {
|
||||
// init return as array with original as element
|
||||
@@ -65,6 +69,21 @@ class Json
|
||||
return (string)$json_string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate if a json string could be decoded.
|
||||
* Weill set the internval last error state and info can be read with jsonGetLastError
|
||||
*
|
||||
* @param string $json
|
||||
* @param int $flags only JSON_INVALID_UTF8_IGNORE is currently allowed
|
||||
* @return bool
|
||||
*/
|
||||
public static function jsonValidate(string $json, int $flags = 0): bool
|
||||
{
|
||||
$json_valid = json_validate($json, flags:$flags);
|
||||
self::$json_last_error = json_last_error();
|
||||
return $json_valid;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns human readable string for json errors thrown in jsonConvertToArray
|
||||
* Source: https://www.php.net/manual/en/function.json-last-error.php
|
||||
|
||||
Reference in New Issue
Block a user