Compare commits
6 Commits
v9.32.1
...
c22e68f19a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c22e68f19a | ||
|
|
074d5bed4c | ||
|
|
93cb7e0cab | ||
|
|
7fbce6529b | ||
|
|
6e086fe7b3 | ||
|
|
0ec19d5b75 |
@@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<phive xmlns="https://phar.io/phive">
|
<phive xmlns="https://phar.io/phive">
|
||||||
<phar name="phpunit" version="^10.3.5" installed="10.3.5" location="./tools/phpunit" copy="false"/>
|
<phar name="phpunit" version="^10.3.5" installed="10.5.46" location="./tools/phpunit" copy="false"/>
|
||||||
<phar name="phpcbf" version="^3.7.2" installed="3.10.3" location="./tools/phpcbf" copy="false"/>
|
<phar name="phpcbf" version="^3.7.2" installed="3.13.0" location="./tools/phpcbf" copy="false"/>
|
||||||
<phar name="phpcs" version="^3.10.3" installed="3.10.3" location="./tools/phpcs" copy="false"/>
|
<phar name="phpcs" version="^3.10.3" installed="3.13.0" location="./tools/phpcs" copy="false"/>
|
||||||
<phar name="phpstan" version="^2.0" installed="2.0.4" location="./tools/phpstan" copy="false"/>
|
<phar name="phpstan" version="^2.0" installed="2.1.16" location="./tools/phpstan" copy="false"/>
|
||||||
<phar name="phan" version="^5.4.3" installed="5.4.3" location="./tools/phan" copy="false"/>
|
<phar name="phan" version="^5.4.3" installed="5.4.3" location="./tools/phan" copy="false"/>
|
||||||
<phar name="psalm" version="^5.15.0" installed="5.24.0" location="./tools/psalm" copy="false"/>
|
<phar name="psalm" version="^5.15.0" installed="5.24.0" location="./tools/psalm" copy="false"/>
|
||||||
<phar name="phpdox" version="^0.12.0" installed="0.12.0" location="./tools/phpdox" copy="false"/>
|
<phar name="phpdox" version="^0.12.0" installed="0.12.0" location="./tools/phpdox" copy="false"/>
|
||||||
|
|||||||
@@ -1286,6 +1286,118 @@ final class CoreLibsCombinedArrayHandlerTest extends TestCase
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* provider for arrayModifyKey
|
||||||
|
*
|
||||||
|
* @return array<string,array<mixed>>
|
||||||
|
*/
|
||||||
|
public function providerArrayModifyKey(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'prefix and suffix add' => [
|
||||||
|
'array' => [
|
||||||
|
'a' => 'foo',
|
||||||
|
'b' => 'bar',
|
||||||
|
'c' => 'foobar',
|
||||||
|
],
|
||||||
|
'prefix' => 'Prefix: ',
|
||||||
|
'suffix' => '.suffix',
|
||||||
|
'expected' => [
|
||||||
|
'Prefix: a.suffix' => 'foo',
|
||||||
|
'Prefix: b.suffix' => 'bar',
|
||||||
|
'Prefix: c.suffix' => 'foobar',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'prefix add only' => [
|
||||||
|
'array' => [
|
||||||
|
'a' => 'foo',
|
||||||
|
'b' => 'bar',
|
||||||
|
'c' => 'foobar',
|
||||||
|
],
|
||||||
|
'prefix' => 'Prefix: ',
|
||||||
|
'suffix' => '',
|
||||||
|
'expected' => [
|
||||||
|
'Prefix: a' => 'foo',
|
||||||
|
'Prefix: b' => 'bar',
|
||||||
|
'Prefix: c' => 'foobar',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'suffix add only' => [
|
||||||
|
'array' => [
|
||||||
|
'a' => 'foo',
|
||||||
|
'b' => 'bar',
|
||||||
|
'c' => 'foobar',
|
||||||
|
],
|
||||||
|
'prefix' => '',
|
||||||
|
'suffix' => '.suffix',
|
||||||
|
'expected' => [
|
||||||
|
'a.suffix' => 'foo',
|
||||||
|
'b.suffix' => 'bar',
|
||||||
|
'c.suffix' => 'foobar',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'empty array' => [
|
||||||
|
'array' => [],
|
||||||
|
'prefix' => '',
|
||||||
|
'suffix' => '.suffix',
|
||||||
|
'expected' => [],
|
||||||
|
],
|
||||||
|
'no suffix or prefix' => [
|
||||||
|
'array' => [
|
||||||
|
'a' => 'foo',
|
||||||
|
'b' => 'bar',
|
||||||
|
'c' => 'foobar',
|
||||||
|
],
|
||||||
|
'prefix' => '',
|
||||||
|
'suffix' => '',
|
||||||
|
'expected' => [
|
||||||
|
'a' => 'foo',
|
||||||
|
'b' => 'bar',
|
||||||
|
'c' => 'foobar',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'integer index mixed' => [
|
||||||
|
'array' => [
|
||||||
|
'a' => 'foo',
|
||||||
|
'b' => 'bar',
|
||||||
|
3 => 'foobar',
|
||||||
|
],
|
||||||
|
'prefix' => '',
|
||||||
|
'suffix' => '.suffix',
|
||||||
|
'expected' => [
|
||||||
|
'a.suffix' => 'foo',
|
||||||
|
'b.suffix' => 'bar',
|
||||||
|
'3.suffix' => 'foobar',
|
||||||
|
],
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Undocumented function
|
||||||
|
*
|
||||||
|
* @covers ::arrayModifyKey
|
||||||
|
* @dataProvider providerArrayModifyKey
|
||||||
|
* @testdox arrayModifyKey check that key is correctly modified with $key_mod_prefix and $key_mod_suffix [$_dataName]
|
||||||
|
*
|
||||||
|
* @param array<mixed> $in_array
|
||||||
|
* @param string $key_mod_prefix
|
||||||
|
* @param string $key_mod_suffix
|
||||||
|
* @param array<mixed> $expected
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testArrayModifyKey(
|
||||||
|
array $in_array,
|
||||||
|
string $key_mod_prefix,
|
||||||
|
string $key_mod_suffix,
|
||||||
|
array $expected
|
||||||
|
): void {
|
||||||
|
$this->assertEquals(
|
||||||
|
\CoreLibs\Combined\ArrayHandler::arrayModifyKey($in_array, $key_mod_prefix, $key_mod_suffix),
|
||||||
|
$expected
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// __END__
|
// __END__
|
||||||
|
|||||||
@@ -263,6 +263,8 @@ $out = array_intersect_key(
|
|||||||
);
|
);
|
||||||
print "array intersect key: " . DgS::printAr($keys) . ": " . DgS::printAr($out) . "<br>";
|
print "array intersect key: " . DgS::printAr($keys) . ": " . DgS::printAr($out) . "<br>";
|
||||||
|
|
||||||
|
print "array + suffix: " . DgS::printAr(ArrayHandler::arrayModifyKey($array, key_mod_suffix:'_attached')) . "<br>";
|
||||||
|
|
||||||
print "</body></html>";
|
print "</body></html>";
|
||||||
|
|
||||||
// __END__
|
// __END__
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ $log = new CoreLibs\Logging\Logging([
|
|||||||
'log_per_date' => true,
|
'log_per_date' => true,
|
||||||
]);
|
]);
|
||||||
$db = new CoreLibs\DB\IO(DB_CONFIG, $log);
|
$db = new CoreLibs\DB\IO(DB_CONFIG, $log);
|
||||||
|
$log->setLogFileId('classTest-login-override');
|
||||||
$login = new CoreLibs\ACL\Login(
|
$login = new CoreLibs\ACL\Login(
|
||||||
$db,
|
$db,
|
||||||
$log,
|
$log,
|
||||||
@@ -45,6 +46,7 @@ $login = new CoreLibs\ACL\Login(
|
|||||||
'locale_path' => BASE . INCLUDES . LOCALE,
|
'locale_path' => BASE . INCLUDES . LOCALE,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
$log->setLogFileId($LOG_FILE_ID);
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
$login->loginMainCall();
|
$login->loginMainCall();
|
||||||
|
|
||||||
@@ -158,5 +160,6 @@ if (is_string($edit_access_cuid)) {
|
|||||||
print "EA ID: " . $edit_access_id . "<br>";
|
print "EA ID: " . $edit_access_id . "<br>";
|
||||||
print "EA CUID: " . $log->prAr($edit_access_cuid) . "<br>";
|
print "EA CUID: " . $log->prAr($edit_access_cuid) . "<br>";
|
||||||
print "REV EA CUID: " . $log->prAr($edit_access_id_rev) . "<br>";
|
print "REV EA CUID: " . $log->prAr($edit_access_id_rev) . "<br>";
|
||||||
|
$log->info('This is a test');
|
||||||
|
|
||||||
print "</body></html>";
|
print "</body></html>";
|
||||||
|
|||||||
@@ -551,6 +551,36 @@ class ArrayHandler
|
|||||||
ARRAY_FILTER_USE_KEY
|
ARRAY_FILTER_USE_KEY
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifieds the key of an array with a prefix and/or suffix and returns it with the original value
|
||||||
|
* does not change order in array
|
||||||
|
*
|
||||||
|
* @param array<string|int,mixed> $in_array
|
||||||
|
* @param string $key_mod_prefix [default=''] key prefix string
|
||||||
|
* @param string $key_mod_suffix [default=''] key suffix string
|
||||||
|
* @return array<string|int,mixed>
|
||||||
|
*/
|
||||||
|
public static function arrayModifyKey(
|
||||||
|
array $in_array,
|
||||||
|
string $key_mod_prefix = '',
|
||||||
|
string $key_mod_suffix = ''
|
||||||
|
): array {
|
||||||
|
// skip if array is empty or neither prefix or suffix are set
|
||||||
|
if (
|
||||||
|
$in_array == [] ||
|
||||||
|
($key_mod_prefix == '' && $key_mod_suffix == '')
|
||||||
|
) {
|
||||||
|
return $in_array;
|
||||||
|
}
|
||||||
|
return array_combine(
|
||||||
|
array_map(
|
||||||
|
fn($key) => $key_mod_prefix . $key . $key_mod_suffix,
|
||||||
|
array_keys($in_array)
|
||||||
|
),
|
||||||
|
array_values($in_array)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// __END__
|
// __END__
|
||||||
|
|||||||
@@ -39,9 +39,9 @@ class ArrayIO extends \CoreLibs\DB\IO
|
|||||||
{
|
{
|
||||||
// main calss variables
|
// main calss variables
|
||||||
/** @var array<mixed> */
|
/** @var array<mixed> */
|
||||||
private array $table_array; // the array from the table to work on
|
private array $table_array = []; // the array from the table to work on
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private string $table_name; // the table_name
|
private string $table_name = ''; // the table_name
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private string $pk_name = ''; // the primary key from this table
|
private string $pk_name = ''; // the primary key from this table
|
||||||
/** @var int|string|null */
|
/** @var int|string|null */
|
||||||
@@ -127,9 +127,9 @@ class ArrayIO extends \CoreLibs\DB\IO
|
|||||||
public function getTableArray(bool $reset = false): array
|
public function getTableArray(bool $reset = false): array
|
||||||
{
|
{
|
||||||
if (!$reset) {
|
if (!$reset) {
|
||||||
return $this->table_array ?? [];
|
return $this->table_array;
|
||||||
}
|
}
|
||||||
$table_array = $this->table_array ?? [];
|
$table_array = $this->table_array;
|
||||||
reset($table_array);
|
reset($table_array);
|
||||||
return $table_array;
|
return $table_array;
|
||||||
}
|
}
|
||||||
@@ -194,7 +194,7 @@ class ArrayIO extends \CoreLibs\DB\IO
|
|||||||
*/
|
*/
|
||||||
public function getTableName(): string
|
public function getTableName(): string
|
||||||
{
|
{
|
||||||
return $this->table_name ?? '';
|
return $this->table_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2544,7 +2544,10 @@ class IO
|
|||||||
} // only go if NO cursor exists
|
} // only go if NO cursor exists
|
||||||
|
|
||||||
// if cursor exists ...
|
// if cursor exists ...
|
||||||
if ($this->cursor_ext[$query_hash]['cursor']) {
|
if (
|
||||||
|
$this->cursor_ext[$query_hash]['cursor'] instanceof \PgSql\Result ||
|
||||||
|
$this->cursor_ext[$query_hash]['cursor'] == 1
|
||||||
|
) {
|
||||||
if ($first_call === true) {
|
if ($first_call === true) {
|
||||||
$this->cursor_ext[$query_hash]['log'][] = 'First call';
|
$this->cursor_ext[$query_hash]['log'][] = 'First call';
|
||||||
// count the rows returned (if select)
|
// count the rows returned (if select)
|
||||||
|
|||||||
Reference in New Issue
Block a user