Compare commits
83 Commits
v7.9.0
...
composerLi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40e6444c2a | ||
|
|
4b015505ff | ||
|
|
e90387c1fc | ||
|
|
3fb7169531 | ||
|
|
e4dd73d0e9 | ||
|
|
e71c53b887 | ||
|
|
16addc4f4b | ||
|
|
7e845d3954 | ||
|
|
6fcb7a44e0 | ||
|
|
e82e4f6079 | ||
|
|
231897cf5b | ||
|
|
17da804073 | ||
|
|
96ad4b0f48 | ||
|
|
1386afb552 | ||
|
|
86a9ad8789 | ||
|
|
0c4c018ffa | ||
|
|
8b36807a2e | ||
|
|
8daef88e5e | ||
|
|
a59fa7a2c9 | ||
|
|
14c8197a7f | ||
|
|
79bd7fa256 | ||
|
|
9ba09b22f5 | ||
|
|
e88ad00d7f | ||
|
|
9b80fde0d7 | ||
|
|
f99e8bb70c | ||
|
|
b48894d000 | ||
|
|
5ebe7dc06c | ||
|
|
2e6b7b2f5b | ||
|
|
897406456a | ||
|
|
edb0620308 | ||
|
|
90edcbf8c8 | ||
|
|
40f267f3dd | ||
|
|
c8aee19deb | ||
|
|
74c8b8d71e | ||
|
|
c0db3be770 | ||
|
|
e74bd04d6f | ||
|
|
3662b1ab1b | ||
|
|
7abce87653 | ||
|
|
b3e35b5d94 | ||
|
|
6429b77bda | ||
|
|
3c8bdab8fa | ||
|
|
3cf6fee548 | ||
|
|
f5a9757ae3 | ||
|
|
3d6b461b20 | ||
|
|
513b115d57 | ||
|
|
eb16f433e8 | ||
|
|
8f94201478 | ||
|
|
1b2359a934 | ||
|
|
d6187005f4 | ||
|
|
f0e6b5b8e9 | ||
|
|
6b400978ac | ||
|
|
2754a718fa | ||
|
|
37c3b6afeb | ||
|
|
516b11f2f1 | ||
|
|
75a42558fd | ||
|
|
48271a8659 | ||
|
|
35d3032df5 | ||
|
|
7be8bb06c9 | ||
|
|
2aab94a842 | ||
|
|
1cbe4e5c06 | ||
|
|
137fb9a986 | ||
|
|
e1357f5d39 | ||
|
|
8766d4db77 | ||
|
|
b696338324 | ||
|
|
43e66edfd1 | ||
|
|
0e99700bbe | ||
|
|
2f0b9fb360 | ||
|
|
c7cc3c2938 | ||
|
|
f508b607a6 | ||
|
|
f94b350ba4 | ||
|
|
53eef03387 | ||
|
|
5a81445a28 | ||
|
|
4bbbd653cd | ||
|
|
4c28e6d0ec | ||
|
|
66b7e81463 | ||
|
|
cf58f86802 | ||
|
|
ff644310cd | ||
|
|
58988b9c0f | ||
|
|
fe75f1d724 | ||
|
|
0607cdc3be | ||
|
|
6cb14daf49 | ||
|
|
330582f273 | ||
|
|
b0293b52bd |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -0,0 +1,3 @@
|
|||||||
|
composer.lock
|
||||||
|
vendor/
|
||||||
|
.env
|
||||||
|
|||||||
@@ -1633,7 +1633,7 @@ EOM;
|
|||||||
$this->session->checkActiveSession() === true &&
|
$this->session->checkActiveSession() === true &&
|
||||||
!empty($_SESSION['DEFAULT_LOCALE'])
|
!empty($_SESSION['DEFAULT_LOCALE'])
|
||||||
) {
|
) {
|
||||||
$locale = $_SESSION['DEFAULT_LOCALE'] ?? '';
|
$locale = $_SESSION['DEFAULT_LOCALE'];
|
||||||
} else {
|
} else {
|
||||||
$locale = (defined('SITE_LOCALE') && !empty(SITE_LOCALE)) ?
|
$locale = (defined('SITE_LOCALE') && !empty(SITE_LOCALE)) ?
|
||||||
SITE_LOCALE :
|
SITE_LOCALE :
|
||||||
256
4dev/deprecated/CoreLibs/Convert/Extends/VarSetTypeMain.php
Normal file
256
4dev/deprecated/CoreLibs/Convert/Extends/VarSetTypeMain.php
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Run is_<type> checks and return default value if not this type
|
||||||
|
* This will return default null on invalid entries
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Convert\Extends;
|
||||||
|
|
||||||
|
class VarSetTypeMain
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* If input variable is string then returns it, else returns default set
|
||||||
|
* if not null is true, then null as return is allowed, else return is
|
||||||
|
* converted to string
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param string|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return string|null Input var or default value
|
||||||
|
*/
|
||||||
|
protected static function setStrMain(
|
||||||
|
mixed $val,
|
||||||
|
?string $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?string {
|
||||||
|
if (is_string($val)) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (string)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will convert input data to string if possible.
|
||||||
|
* Runs for string/int/float/bool/null
|
||||||
|
* Will skip array/object/resource/callable/etc and use default for that
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param string|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return string|null Converted input data to string/null
|
||||||
|
*/
|
||||||
|
protected static function makeStrMain(
|
||||||
|
mixed $val,
|
||||||
|
string $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?string {
|
||||||
|
// int/float/string/bool/null, everything else is ignored
|
||||||
|
// no: array/object/resource/callable
|
||||||
|
if (
|
||||||
|
is_int($val) ||
|
||||||
|
is_float($val) ||
|
||||||
|
is_string($val) ||
|
||||||
|
is_bool($val) ||
|
||||||
|
is_null($val)
|
||||||
|
) {
|
||||||
|
return (string)$val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (string)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If input variable is int, return it, else return default value. If to_null
|
||||||
|
* is true then null as return is allowed, else only int is returned
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param int|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return int|null Input var or default value
|
||||||
|
*/
|
||||||
|
protected static function setIntMain(
|
||||||
|
mixed $val,
|
||||||
|
?int $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?int {
|
||||||
|
if (is_int($val)) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (int)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert input to int via filter_var. If not convertable return default value.
|
||||||
|
* If to_null is set to true null return is allowed
|
||||||
|
* NOTE: this is only a drastic fallback and not recommned for special use.
|
||||||
|
* It will try to check via filter_var if we can get an int value and then use
|
||||||
|
* intval to convert it.
|
||||||
|
* Reason is that filter_var will convert eg 1.5 to 15 instead 1
|
||||||
|
* One is very wrong, the other is at least better, but not perfect
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param int|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return int|null Converted input data to int/null
|
||||||
|
*/
|
||||||
|
protected static function makeIntMain(
|
||||||
|
mixed $val,
|
||||||
|
int $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?int {
|
||||||
|
// if we can filter it to a valid int, we can convert it
|
||||||
|
// we so avoid object, array, etc
|
||||||
|
if (
|
||||||
|
filter_var(
|
||||||
|
$val,
|
||||||
|
FILTER_SANITIZE_NUMBER_INT
|
||||||
|
) !== false
|
||||||
|
) {
|
||||||
|
return intval($val);
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (int)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If input is float return it, else set to default value. If to_null is set
|
||||||
|
* to true, allow null return
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param float|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return float|null Input var or default value
|
||||||
|
*/
|
||||||
|
protected static function setFloatMain(
|
||||||
|
mixed $val,
|
||||||
|
?float $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?float {
|
||||||
|
if (is_float($val)) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (float)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert intput var to float via filter_var. If failed to so return default.
|
||||||
|
* If to_null is set to true allow null return
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param float|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return float|null Converted intput data to float/null
|
||||||
|
*/
|
||||||
|
protected static function makeFloatMain(
|
||||||
|
mixed $val,
|
||||||
|
float $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?float {
|
||||||
|
if (
|
||||||
|
(
|
||||||
|
$val = filter_var(
|
||||||
|
$val,
|
||||||
|
FILTER_SANITIZE_NUMBER_FLOAT,
|
||||||
|
FILTER_FLAG_ALLOW_FRACTION
|
||||||
|
)
|
||||||
|
) !== false
|
||||||
|
) {
|
||||||
|
return (float)$val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (float)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If input var is array return it, else return default value. If to_null is
|
||||||
|
* set to true, allow null return
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param array<mixed>|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return array<mixed>|null Input var or default value
|
||||||
|
*/
|
||||||
|
protected static function setArrayMain(
|
||||||
|
mixed $val,
|
||||||
|
?array $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?array {
|
||||||
|
if (is_array($val)) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (array)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If input var is bool return it, else return default value. If to_null is
|
||||||
|
* set to true will allow null return.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param bool|null $default Default value
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return bool|null Input var or default value
|
||||||
|
*/
|
||||||
|
protected static function setBoolMain(
|
||||||
|
mixed $val,
|
||||||
|
?bool $default = null,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?bool {
|
||||||
|
if (is_bool($val)) {
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
if ($to_null === false) {
|
||||||
|
return (bool)$default;
|
||||||
|
}
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert anything to bool. If it is a string it will try to use the filter_var
|
||||||
|
* to convert know true/false strings.
|
||||||
|
* Else it uses (bool) to convert the rest
|
||||||
|
* If null is allowed, will return null
|
||||||
|
*
|
||||||
|
* @param mixed $val Input variable
|
||||||
|
* @param bool $default Default value if to_null if false
|
||||||
|
* @param bool $to_null Convert to null (default no)
|
||||||
|
* @return bool|null Converted input data to bool/ null
|
||||||
|
*/
|
||||||
|
protected static function makeBoolMain(
|
||||||
|
mixed $val,
|
||||||
|
bool $default = false,
|
||||||
|
bool $to_null = false
|
||||||
|
): ?bool {
|
||||||
|
$boolvar = is_string($val) ?
|
||||||
|
filter_var(
|
||||||
|
$val,
|
||||||
|
FILTER_VALIDATE_BOOLEAN,
|
||||||
|
FILTER_NULL_ON_FAILURE
|
||||||
|
) :
|
||||||
|
(bool)$val;
|
||||||
|
return $boolvar === null && !$to_null ? $default : $boolvar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
136
4dev/deprecated/CoreLibs/Convert/VarSetType.php
Normal file
136
4dev/deprecated/CoreLibs/Convert/VarSetType.php
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Run is_<type> checks and return default value if not this type
|
||||||
|
* This will return a default value as always what is expected and never null
|
||||||
|
* Use this for santize output from multi return functions where we know what
|
||||||
|
* will come back
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Convert;
|
||||||
|
|
||||||
|
use CoreLibs\Convert\Extends\VarSetTypeMain;
|
||||||
|
|
||||||
|
class VarSetType extends Extends\VarSetTypeMain
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Check is input is string, if not return default string.
|
||||||
|
* Will always return string
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param string $default Default override value
|
||||||
|
* @return string Input value or default as string
|
||||||
|
*/
|
||||||
|
public static function setStr(mixed $val, string $default = ''): string
|
||||||
|
{
|
||||||
|
return (string)VarSetTypeMain::setStrMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert input to string if possible.
|
||||||
|
* Will only work on string/int/float/bool/null types
|
||||||
|
* Will always return string
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param string $default Default override value
|
||||||
|
* @return string Input value as string or default as string
|
||||||
|
*/
|
||||||
|
public static function makeStr(mixed $val, string $default = ''): string
|
||||||
|
{
|
||||||
|
return (string)VarSetTypeMain::makeStrMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is int, if not return default int value 0.
|
||||||
|
* Will always return int.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param int $default Default override value
|
||||||
|
* @return int Input value or default as int
|
||||||
|
*/
|
||||||
|
public static function setInt(mixed $val, int $default = 0): int
|
||||||
|
{
|
||||||
|
return (int)VarSetTypeMain::setIntMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert intput to int if possible, if not return default value 0.
|
||||||
|
* Will always return int.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param int $default Default override value
|
||||||
|
* @return int Input value as int or default as int
|
||||||
|
*/
|
||||||
|
public static function makeInt(mixed $val, int $default = 0): int
|
||||||
|
{
|
||||||
|
return (int)VarSetTypeMain::makeIntMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is float, if not return default value value 0.0.
|
||||||
|
* Will always return float
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param float $default Default override value
|
||||||
|
* @return float Input value or default as float
|
||||||
|
*/
|
||||||
|
public static function setFloat(mixed $val, float $default = 0.0): float
|
||||||
|
{
|
||||||
|
return (float)VarSetTypeMain::setFloatMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert input to float, if not possible return default value 0.0.
|
||||||
|
* Will always return float
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param float $default Default override value
|
||||||
|
* @return float Input value as float or default as float
|
||||||
|
*/
|
||||||
|
public static function makeFloat(mixed $val, float $default = 0.0): float
|
||||||
|
{
|
||||||
|
return (float)VarSetTypeMain::makeFloatMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is array, if not return default empty array.
|
||||||
|
* Will always return array.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param array<mixed> $default Default override value
|
||||||
|
* @return array<mixed> Input value or default as array
|
||||||
|
*/
|
||||||
|
public static function setArray(mixed $val, array $default = []): array
|
||||||
|
{
|
||||||
|
return (array)VarSetTypeMain::setArrayMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is bool, if not will return default value false.
|
||||||
|
* Will aways return bool.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param bool $default Default override value
|
||||||
|
* @return bool Input value or default as bool
|
||||||
|
*/
|
||||||
|
public static function setBool(mixed $val, bool $default = false): bool
|
||||||
|
{
|
||||||
|
return (bool)VarSetTypeMain::setBoolMain($val, $default, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert anything to bool
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param bool $default Default override value
|
||||||
|
* @return bool Input value as bool or default as bool
|
||||||
|
*/
|
||||||
|
public static function makeBool(mixed $val, bool $default = false): bool
|
||||||
|
{
|
||||||
|
return (bool)VarSetTypeMain::makeBoolMain($val, $default, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
130
4dev/deprecated/CoreLibs/Convert/VarSetTypeNull.php
Normal file
130
4dev/deprecated/CoreLibs/Convert/VarSetTypeNull.php
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Run is_<type> checks and return default value if not this type
|
||||||
|
* This will return default null on invalid entries
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Convert;
|
||||||
|
|
||||||
|
use CoreLibs\Convert\Extends\VarSetTypeMain;
|
||||||
|
|
||||||
|
class VarSetTypeNull extends Extends\VarSetTypeMain
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Check is input is string, if not return default string.
|
||||||
|
* Will return null if no string as default.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param string|null $default Default override value
|
||||||
|
* @return string|null Input value or default as string/null
|
||||||
|
*/
|
||||||
|
public static function setStr(mixed $val, ?string $default = null): ?string
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::setStrMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert input to string if possible.
|
||||||
|
* Will only work on string/int/float/bool/null types.
|
||||||
|
* Will return null if convert failed as default.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param string|null $default Default override value
|
||||||
|
* @return string|null Input value as string or default as string/null
|
||||||
|
*/
|
||||||
|
public static function makeStr(mixed $val, string $default = null): ?string
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::makeStrMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is int, if not return default value null.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value
|
||||||
|
* @param int|null $default Default override value
|
||||||
|
* @return int|null Input value or default as int/null
|
||||||
|
*/
|
||||||
|
public static function setInt(mixed $val, ?int $default = null): ?int
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::setIntMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert intput to int if possible, if not return default value value null.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value $val
|
||||||
|
* @param int|null $default Default override value
|
||||||
|
* @return int|null Input value as int or default as int/null
|
||||||
|
*/
|
||||||
|
public static function makeInt(mixed $val, int $default = null): ?int
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::makeIntMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is float, if not return default value value null.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value $val
|
||||||
|
* @param float|null $default Default override value
|
||||||
|
* @return float|null Input value or default as float/null
|
||||||
|
*/
|
||||||
|
public static function setFloat(mixed $val, ?float $default = null): ?float
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::setFloatMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert input to float, if not possible return default value null.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value $val
|
||||||
|
* @param float|null $default Default override value
|
||||||
|
* @return float|null Input value as float or default as float/null
|
||||||
|
*/
|
||||||
|
public static function makeFloat(mixed $val, float $default = null): ?float
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::makeFloatMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is array, if not return default value null.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value $val
|
||||||
|
* @param array<mixed>|null $default Default override value
|
||||||
|
* @return array<mixed>|null Input value or default as array/null
|
||||||
|
*/
|
||||||
|
public static function setArray(mixed $val, ?array $default = null): ?array
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::setArrayMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input is bool, if not will return default value null.
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value $val
|
||||||
|
* @param bool|null $default Default override value
|
||||||
|
* @return bool|null Input value or default as bool/null
|
||||||
|
*/
|
||||||
|
public static function setBool(mixed $val, ?bool $default = null): ?bool
|
||||||
|
{
|
||||||
|
return VarSetTypeMain::setBoolMain($val, $default, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert anything to bool
|
||||||
|
*
|
||||||
|
* @param mixed $val Input value $val
|
||||||
|
* @return bool|null Input value as bool or default as bool/null
|
||||||
|
*/
|
||||||
|
public static function makeBool(mixed $val): ?bool
|
||||||
|
{
|
||||||
|
// note that the default value here is irrelevant, we return null
|
||||||
|
// on unsetable string var
|
||||||
|
return VarSetTypeMain::makeBoolMain($val, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -266,16 +266,18 @@ class IO
|
|||||||
// 1: read new, keep at end, clean before new run
|
// 1: read new, keep at end, clean before new run
|
||||||
// 2: read new, clean at the end (temporary cache)
|
// 2: read new, clean at the end (temporary cache)
|
||||||
// 3: never cache
|
// 3: never cache
|
||||||
/** @var int */
|
/** @var int use cache (default) in dbReturn */
|
||||||
public const USE_CACHE = 0;
|
public const USE_CACHE = 0;
|
||||||
/** @var int */
|
/** @var int reset cache and read new in dbReturn */
|
||||||
public const READ_NEW = 1;
|
public const READ_NEW = 1;
|
||||||
/** @var int */
|
/** @var int clear cache after read in dbeEturn */
|
||||||
public const CLEAR_CACHE = 2;
|
public const CLEAR_CACHE = 2;
|
||||||
/** @var int */
|
/** @var int do not use any cache in dbReturn */
|
||||||
public const NO_CACHE = 3;
|
public const NO_CACHE = 3;
|
||||||
/** @var string */
|
/** @var string default hash type */
|
||||||
public const ERROR_HASH_TYPE = 'adler32';
|
public const ERROR_HASH_TYPE = 'adler32';
|
||||||
|
/** @var string regex to get returning with matches at position 1 */
|
||||||
|
public const REGEX_RETURNING = '/\s+returning\s+(.+?);?$/i';
|
||||||
|
|
||||||
// recommend to set private/protected and only allow setting via method
|
// recommend to set private/protected and only allow setting via method
|
||||||
// can bet set from outside
|
// can bet set from outside
|
||||||
@@ -573,14 +575,14 @@ class IO
|
|||||||
/**
|
/**
|
||||||
* checks if query is a SELECT, SHOW or WITH, if not error, 0 return
|
* checks if query is a SELECT, SHOW or WITH, if not error, 0 return
|
||||||
* NOTE:
|
* NOTE:
|
||||||
* Query needs to start with SELECT, SHOW or WITH. if starts with "with" it is ignored
|
* Query needs to start with SELECT, SHOW or WITH
|
||||||
* @param string $query query to check
|
* @param string $query query to check
|
||||||
* @return bool true if matching, false if not
|
* @return bool true if matching, false if not
|
||||||
*/
|
*/
|
||||||
private function __checkQueryForSelect(string $query): bool
|
private function __checkQueryForSelect(string $query): bool
|
||||||
{
|
{
|
||||||
// perhaps allow spaces before select ?!?
|
// change to string starts with?
|
||||||
if (preg_match("/^(select|show|with) /i", $query)) {
|
if (preg_match("/^\s*(?:SELECT|SHOW|WITH)\s/i", $query)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -597,10 +599,10 @@ class IO
|
|||||||
*/
|
*/
|
||||||
private function __checkQueryForInsert(string $query, bool $pure = false): bool
|
private function __checkQueryForInsert(string $query, bool $pure = false): bool
|
||||||
{
|
{
|
||||||
if ($pure && preg_match("/^insert /i", $query)) {
|
if ($pure && preg_match("/^\s*INSERT\s+?INTO\s/i", $query)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!$pure && preg_match("/^(insert|update|delete) /i", $query)) {
|
if (!$pure && preg_match("/^\s*(?:INSERT\s+?INTO|DELETE\s+?FROM|UPDATE)\s/i", $query)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -614,7 +616,7 @@ class IO
|
|||||||
*/
|
*/
|
||||||
private function __checkQueryForUpdate(string $query): bool
|
private function __checkQueryForUpdate(string $query): bool
|
||||||
{
|
{
|
||||||
if (preg_match("/^update /i", $query)) {
|
if (preg_match("/^\s*UPDATE\s?(.+)/i", $query)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -879,12 +881,33 @@ class IO
|
|||||||
private function __dbReturnTable(string $query): array
|
private function __dbReturnTable(string $query): array
|
||||||
{
|
{
|
||||||
$matches = [];
|
$matches = [];
|
||||||
if (preg_match("/^SELECT /i", $query)) {
|
$schema_table = [];
|
||||||
preg_match("/ (FROM) \"?(([\w_]+)\.)?([\w_]+)\"? /i", $query, $matches);
|
if ($this->__checkQueryForSelect($query)) {
|
||||||
|
// only selects the first one, this is more a fallback
|
||||||
|
// MATCHES 1 (call), 3 (schema), 4 (table)
|
||||||
|
preg_match("/\s+?(FROM)\s+?([\"'])?(?:([\w_]+)\.)?([\w_]+)(?:\2)?\s?/i", $query, $matches);
|
||||||
|
$schema_table = [
|
||||||
|
$matches[3] ?? '',
|
||||||
|
$matches[4] ?? '',
|
||||||
|
];
|
||||||
} else {
|
} else {
|
||||||
preg_match("/(INSERT INTO|DELETE FROM|UPDATE) \"?(([\w_]+)\.)?([\w_]+)\"? /i", $query, $matches);
|
preg_match(
|
||||||
|
// must start with
|
||||||
|
// INSERT INTO (table)
|
||||||
|
// DELETE FROM (table)
|
||||||
|
// UPDATE (table) SET
|
||||||
|
// MATCHES 1 (call), 4 (schema), 5 (table)
|
||||||
|
"/^\s*(INSERT\s+?INTO|DELETE\s+?FROM|(UPDATE))\s+?"
|
||||||
|
. "([\"'])?(?:([\w_]+)\.)?([\w_]+)(?:\3)?\s?(?(2)\s+?SET|)/i",
|
||||||
|
$query,
|
||||||
|
$matches
|
||||||
|
);
|
||||||
|
$schema_table = [
|
||||||
|
$matches[4] ?? '',
|
||||||
|
$matches[5] ?? ''
|
||||||
|
];
|
||||||
}
|
}
|
||||||
return [$matches[3] ?? '', $matches[4] ?? ''];
|
return $schema_table;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1007,7 +1030,7 @@ class IO
|
|||||||
$this->pk_name_table[$table] : 'NULL';
|
$this->pk_name_table[$table] : 'NULL';
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
!preg_match("/ returning /i", $this->query) &&
|
!preg_match(self::REGEX_RETURNING, $this->query) &&
|
||||||
$this->pk_name && $this->pk_name != 'NULL'
|
$this->pk_name && $this->pk_name != 'NULL'
|
||||||
) {
|
) {
|
||||||
// check if this query has a ; at the end and remove it
|
// check if this query has a ; at the end and remove it
|
||||||
@@ -1016,7 +1039,9 @@ class IO
|
|||||||
$this->query = !is_string($__query) ? $this->query : $__query;
|
$this->query = !is_string($__query) ? $this->query : $__query;
|
||||||
$this->query .= " RETURNING " . $this->pk_name;
|
$this->query .= " RETURNING " . $this->pk_name;
|
||||||
$this->returning_id = true;
|
$this->returning_id = true;
|
||||||
} elseif (preg_match("/ returning (.*)/i", $this->query, $matches)) {
|
} elseif (
|
||||||
|
preg_match(self::REGEX_RETURNING, $this->query, $matches)
|
||||||
|
) {
|
||||||
if ($this->pk_name && $this->pk_name != 'NULL') {
|
if ($this->pk_name && $this->pk_name != 'NULL') {
|
||||||
// add the primary key if it is not in the returning set
|
// add the primary key if it is not in the returning set
|
||||||
if (!preg_match("/$this->pk_name/", $matches[1])) {
|
if (!preg_match("/$this->pk_name/", $matches[1])) {
|
||||||
@@ -1030,7 +1055,7 @@ class IO
|
|||||||
// if we have an UPDATE and RETURNING, flag for true, but do not add anything
|
// if we have an UPDATE and RETURNING, flag for true, but do not add anything
|
||||||
if (
|
if (
|
||||||
$this->__checkQueryForUpdate($this->query) &&
|
$this->__checkQueryForUpdate($this->query) &&
|
||||||
preg_match("/ returning (.*)/i", $this->query, $matches)
|
preg_match(self::REGEX_RETURNING, $this->query, $matches)
|
||||||
) {
|
) {
|
||||||
$this->returning_id = true;
|
$this->returning_id = true;
|
||||||
}
|
}
|
||||||
@@ -2288,11 +2313,14 @@ class IO
|
|||||||
$this->prepare_cursor[$stm_name]['pk_name'] = $pk_name;
|
$this->prepare_cursor[$stm_name]['pk_name'] = $pk_name;
|
||||||
}
|
}
|
||||||
// if no returning, then add it
|
// if no returning, then add it
|
||||||
if (!preg_match("/ returning /i", $query) && $this->prepare_cursor[$stm_name]['pk_name']) {
|
if (
|
||||||
|
!preg_match(self::REGEX_RETURNING, $query) &&
|
||||||
|
$this->prepare_cursor[$stm_name]['pk_name']
|
||||||
|
) {
|
||||||
$query .= " RETURNING " . $this->prepare_cursor[$stm_name]['pk_name'];
|
$query .= " RETURNING " . $this->prepare_cursor[$stm_name]['pk_name'];
|
||||||
$this->prepare_cursor[$stm_name]['returning_id'] = true;
|
$this->prepare_cursor[$stm_name]['returning_id'] = true;
|
||||||
} elseif (
|
} elseif (
|
||||||
preg_match("/ returning (.*)/i", $query, $matches) &&
|
preg_match(self::REGEX_RETURNING, $query, $matches) &&
|
||||||
$this->prepare_cursor[$stm_name]['pk_name']
|
$this->prepare_cursor[$stm_name]['pk_name']
|
||||||
) {
|
) {
|
||||||
// if returning exists but not pk_name, add it
|
// if returning exists but not pk_name, add it
|
||||||
@@ -94,9 +94,11 @@ class Support
|
|||||||
* @param bool $no_html set to true to use ##HTMLPRE##or html escape
|
* @param bool $no_html set to true to use ##HTMLPRE##or html escape
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public static function printToString($mixed, bool $no_html = false): string
|
public static function printToString(mixed $mixed, bool $no_html = false): string
|
||||||
{
|
{
|
||||||
if (is_bool($mixed)) {
|
if (is_null($mixed)) {
|
||||||
|
return (string)'NULL';
|
||||||
|
} elseif (is_bool($mixed)) {
|
||||||
return self::printBool($mixed, '', 'TRUE', 'FALSE');
|
return self::printBool($mixed, '', 'TRUE', 'FALSE');
|
||||||
} elseif (is_resource($mixed)) {
|
} elseif (is_resource($mixed)) {
|
||||||
return (string)$mixed;
|
return (string)$mixed;
|
||||||
@@ -294,6 +294,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// language
|
// language
|
||||||
/** @var \CoreLibs\Language\L10n */
|
/** @var \CoreLibs\Language\L10n */
|
||||||
public $l;
|
public $l;
|
||||||
|
// log
|
||||||
|
/** @var \CoreLibs\Debug\Logging */
|
||||||
|
public $log;
|
||||||
|
|
||||||
// now some default error msgs (english)
|
// now some default error msgs (english)
|
||||||
/** @var array<mixed> */
|
/** @var array<mixed> */
|
||||||
@@ -310,6 +313,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
* @param array<mixed>|null $table_arrays Override table array data
|
* @param array<mixed>|null $table_arrays Override table array data
|
||||||
* instead of try to load from
|
* instead of try to load from
|
||||||
* include file
|
* include file
|
||||||
|
* @throws \Exception 1: No table_arrays set/no class found for my page name
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
array $db_config,
|
array $db_config,
|
||||||
@@ -318,13 +322,10 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
?array $locale = null,
|
?array $locale = null,
|
||||||
?array $table_arrays = null,
|
?array $table_arrays = null,
|
||||||
) {
|
) {
|
||||||
|
// init logger if not set
|
||||||
|
$this->log = $log ?? new \CoreLibs\Debug\Logging();
|
||||||
// don't log per class
|
// don't log per class
|
||||||
if ($log !== null) {
|
$this->log->setLogPer('class', false);
|
||||||
$log->setLogPer('class', false);
|
|
||||||
}
|
|
||||||
// replace any non valid variable names
|
|
||||||
// TODO extract only alphanumeric and _ after . to _ replacement
|
|
||||||
$this->my_page_name = str_replace(['.'], '_', System::getPageName(System::NO_EXTENSION));
|
|
||||||
// if pass on locale is null
|
// if pass on locale is null
|
||||||
if ($locale === null) {
|
if ($locale === null) {
|
||||||
$locale = \CoreLibs\Language\GetLocale::setLocale();
|
$locale = \CoreLibs\Language\GetLocale::setLocale();
|
||||||
@@ -349,6 +350,13 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$this->base_acl_level = (int)$_SESSION['BASE_ACL_LEVEL'];
|
$this->base_acl_level = (int)$_SESSION['BASE_ACL_LEVEL'];
|
||||||
$this->acl_admin = (int)$_SESSION['ADMIN'];
|
$this->acl_admin = (int)$_SESSION['ADMIN'];
|
||||||
|
|
||||||
|
// replace any non valid variable names and set my page name
|
||||||
|
$this->my_page_name = str_replace(
|
||||||
|
['.'],
|
||||||
|
'_',
|
||||||
|
System::getPageName(System::NO_EXTENSION)
|
||||||
|
);
|
||||||
|
|
||||||
// first check if we have a in page override as $table_arrays[page name]
|
// first check if we have a in page override as $table_arrays[page name]
|
||||||
if (
|
if (
|
||||||
isset($table_arrays[System::getPageName(System::NO_EXTENSION)]) &&
|
isset($table_arrays[System::getPageName(System::NO_EXTENSION)]) &&
|
||||||
@@ -357,31 +365,14 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
// $config_array = $GLOBALS['table_arrays'][System::getPageName(1)];
|
// $config_array = $GLOBALS['table_arrays'][System::getPageName(1)];
|
||||||
$config_array = $table_arrays[System::getPageName(1)];
|
$config_array = $table_arrays[System::getPageName(1)];
|
||||||
} else {
|
} else {
|
||||||
// WARNING: auto spl load does not work with this as it is an array
|
// primary try to load the class
|
||||||
// and not a function/object
|
/** @var \CoreLibs\Output\Form\TableArraysInterface|false $content_class */
|
||||||
// check if this is the old path or the new path
|
$content_class = $this->loadTableArray();
|
||||||
// check local folder in current path
|
if (is_object($content_class)) {
|
||||||
// then check general global folder
|
$config_array = $content_class->setTableArray();
|
||||||
if (
|
|
||||||
is_dir(TABLE_ARRAYS) &&
|
|
||||||
is_file(TABLE_ARRAYS . 'array_' . $this->my_page_name . '.php')
|
|
||||||
) {
|
|
||||||
include(TABLE_ARRAYS . 'array_' . $this->my_page_name . '.php');
|
|
||||||
} elseif (
|
|
||||||
is_dir(BASE . INCLUDES . TABLE_ARRAYS) &&
|
|
||||||
is_file(BASE . INCLUDES . TABLE_ARRAYS . 'array_' . $this->my_page_name . '.php')
|
|
||||||
) {
|
|
||||||
include(BASE . INCLUDES . TABLE_ARRAYS . 'array_' . $this->my_page_name . '.php');
|
|
||||||
}
|
|
||||||
// in the include file there must be a variable with the page name matching
|
|
||||||
if (isset(${$this->my_page_name}) && is_array(${$this->my_page_name})) {
|
|
||||||
$config_array = ${$this->my_page_name};
|
|
||||||
} else {
|
} else {
|
||||||
// dummy created
|
// throw an error here as we cannot load the class at all
|
||||||
$config_array = [
|
throw new \Exception("Cannot load " . $this->my_page_name, 1);
|
||||||
'table_array' => [],
|
|
||||||
'table_name' => '',
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// $log->debug('CONFIG ARRAY', $log->prAr($config_array));
|
// $log->debug('CONFIG ARRAY', $log->prAr($config_array));
|
||||||
@@ -390,7 +381,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
$db_config,
|
$db_config,
|
||||||
$config_array['table_array'],
|
$config_array['table_array'],
|
||||||
$config_array['table_name'],
|
$config_array['table_name'],
|
||||||
$log ?? new \CoreLibs\Debug\Logging(),
|
$this->log,
|
||||||
// set the ACL
|
// set the ACL
|
||||||
$this->base_acl_level,
|
$this->base_acl_level,
|
||||||
$this->acl_admin
|
$this->acl_admin
|
||||||
@@ -472,8 +463,67 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
|
|||||||
parent::__destruct();
|
parent::__destruct();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PRIVATE METHODS |=================================================>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* load table array class based on my page name converted to camel case
|
||||||
|
* class files are in \TableArrays folder in \Output\Form
|
||||||
|
* @return object|bool Return class object or false on failure
|
||||||
|
*/
|
||||||
|
private function loadTableArray()
|
||||||
|
{
|
||||||
|
// note: it schould be Schemas but an original type made it to this
|
||||||
|
// this file is kept for the old usage, new one should be EditSchemas
|
||||||
|
$table_array_shim = [
|
||||||
|
'EditSchemes' => 'EditSchemas'
|
||||||
|
];
|
||||||
|
// camel case $this->my_page_name from foo_bar_note to FooBarNote
|
||||||
|
$page_name_camel_case = '';
|
||||||
|
foreach (explode('_', $this->my_page_name) as $part) {
|
||||||
|
$page_name_camel_case .= ucfirst($part);
|
||||||
|
}
|
||||||
|
$class_string = __NAMESPACE__ . "\\TableArrays\\"
|
||||||
|
. (
|
||||||
|
// shim lookup
|
||||||
|
$table_array_shim[$page_name_camel_case] ??
|
||||||
|
$page_name_camel_case
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
/** @var \CoreLibs\Output\Form\TableArraysInterface|false $class */
|
||||||
|
$class = new $class_string($this);
|
||||||
|
} catch (\Throwable $t) {
|
||||||
|
$this->log->debug('CLASS LOAD', 'Failed loading: ' . $class_string . ' => ' . $t->getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (is_object($class)) {
|
||||||
|
return $class;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// PUBLIC METHODS |=================================================>
|
// PUBLIC METHODS |=================================================>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return current acl admin flag (1/0)
|
||||||
|
*
|
||||||
|
* @return int Admin flag 1 for on or 0 for off
|
||||||
|
*/
|
||||||
|
public function getAclAdmin(): int
|
||||||
|
{
|
||||||
|
return $this->acl_admin;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* check if current acl level is match to requested on
|
||||||
|
*
|
||||||
|
* @param int $level Requested ACL level
|
||||||
|
* @return bool if current level equal or larger return tru, else false
|
||||||
|
*/
|
||||||
|
public function checkBaseACL(int $level): bool
|
||||||
|
{
|
||||||
|
return $this->base_acl_level >= $level ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dumps all values into output (for error msg)
|
* dumps all values into output (for error msg)
|
||||||
*
|
*
|
||||||
140
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditAccess.php
Normal file
140
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditAccess.php
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditAccess implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_access_id' => [
|
||||||
|
'value' => $_POST['edit_access_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1
|
||||||
|
],
|
||||||
|
'name' => [
|
||||||
|
'value' => $_POST['name'] ?? '',
|
||||||
|
'output_name' => 'Access Group Name',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'alphanumericspace|unique'
|
||||||
|
],
|
||||||
|
'description' => [
|
||||||
|
'value' => $_POST['description'] ?? '',
|
||||||
|
'output_name' => 'Description',
|
||||||
|
'type' => 'textarea'
|
||||||
|
],
|
||||||
|
'color' => [
|
||||||
|
'value' => $_POST['color'] ?? '',
|
||||||
|
'output_name' => 'Color',
|
||||||
|
'mandatory' => 0,
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 10,
|
||||||
|
'length' => 9,
|
||||||
|
'error_check' => 'custom',
|
||||||
|
// FIXME: update regex check for hex/rgb/hsl with color check class
|
||||||
|
'error_regex' => '/^#([\dA-Fa-f]{6}|[\dA-Fa-f]{8})$/',
|
||||||
|
'error_example' => '#F6A544'
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'value' => $_POST['enabled'] ?? 0,
|
||||||
|
'output_name' => 'Enabled',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1, // OR 'bool' => 1
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'protected' => [
|
||||||
|
'value' => $_POST['protected'] ?? 0,
|
||||||
|
'output_name' => 'Protected',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'additional_acl' => [
|
||||||
|
'value' => $_POST['additional_acl'] ?? '',
|
||||||
|
'output_name' => 'Additional ACL (as JSON)',
|
||||||
|
'type' => 'textarea',
|
||||||
|
'error_check' => 'json',
|
||||||
|
'rows' => 10,
|
||||||
|
'cols' => 60
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'table_name' => 'edit_access',
|
||||||
|
"load_query" => "SELECT edit_access_id, name FROM edit_access ORDER BY name",
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'name'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'element_list' => [
|
||||||
|
'edit_access_data' => [
|
||||||
|
'output_name' => 'Edit Access Data',
|
||||||
|
'delete_name' => 'remove_edit_access_data',
|
||||||
|
// is not a sub table read and connect, but only a sub table with data
|
||||||
|
// 'type' => 'reference_data',
|
||||||
|
// maxium visible if no data is set, if filled add this number to visible
|
||||||
|
'max_empty' => 5,
|
||||||
|
'prefix' => 'ead',
|
||||||
|
'elements' => [
|
||||||
|
'name' => [
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'alphanumeric|unique',
|
||||||
|
'output_name' => 'Name',
|
||||||
|
'mandatory' => 1
|
||||||
|
],
|
||||||
|
'value' => [
|
||||||
|
'type' => 'text',
|
||||||
|
'output_name' => 'Value'
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'output_name' => 'Activate',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [1]
|
||||||
|
],
|
||||||
|
/*'edit_access_id' => [
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'hidden',
|
||||||
|
// reference main key from master table above
|
||||||
|
'fk_id' => 1
|
||||||
|
],*/
|
||||||
|
'edit_access_data_id' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'int' => 1,
|
||||||
|
'pk_id' => 1
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
137
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditGroups.php
Normal file
137
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditGroups.php
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditGroups implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_group_id' => [
|
||||||
|
'value' => $_POST['edit_group_id'] ?? '',
|
||||||
|
'pk' => 1,
|
||||||
|
'type' => 'hidden'
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'value' => $_POST['enabled'] ?? '',
|
||||||
|
'output_name' => 'Enabled',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'name' => [
|
||||||
|
'value' => $_POST['name'] ?? '',
|
||||||
|
'output_name' => 'Group Name',
|
||||||
|
'type' => 'text',
|
||||||
|
'mandatory' => 1
|
||||||
|
],
|
||||||
|
'edit_access_right_id' => [
|
||||||
|
'value' => $_POST['edit_access_right_id'] ?? '',
|
||||||
|
'output_name' => 'Group Level',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
|
||||||
|
],
|
||||||
|
'edit_scheme_id' => [
|
||||||
|
'value' => $_POST['edit_scheme_id'] ?? '',
|
||||||
|
'output_name' => 'Group Scheme',
|
||||||
|
'int_null' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name"
|
||||||
|
],
|
||||||
|
'additional_acl' => [
|
||||||
|
'value' => $_POST['additional_acl'] ?? '',
|
||||||
|
'output_name' => 'Additional ACL (as JSON)',
|
||||||
|
'type' => 'textarea',
|
||||||
|
'error_check' => 'json',
|
||||||
|
'rows' => 10,
|
||||||
|
'cols' => 60
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'load_query' => "SELECT edit_group_id, name, enabled FROM edit_group ORDER BY name",
|
||||||
|
'table_name' => 'edit_group',
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'name'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'enabled',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'Enabled: '
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'element_list' => [
|
||||||
|
'edit_page_access' => [
|
||||||
|
'output_name' => 'Pages',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'delete' => 0, // set then reference entries are deleted, else the 'enable' flag is only set
|
||||||
|
'enable_name' => 'enable_page_access',
|
||||||
|
'prefix' => 'epa',
|
||||||
|
'read_data' => [
|
||||||
|
'table_name' => 'edit_page',
|
||||||
|
'pk_id' => 'edit_page_id',
|
||||||
|
'name' => 'name',
|
||||||
|
'order' => 'order_number'
|
||||||
|
],
|
||||||
|
'elements' => [
|
||||||
|
'edit_page_access_id' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'int' => 1,
|
||||||
|
'pk_id' => 1
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'output_name' => 'Activate',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [1],
|
||||||
|
],
|
||||||
|
'edit_access_right_id' => [
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'output_name' => 'Access Level',
|
||||||
|
'int' => 1,
|
||||||
|
'preset' => 1, // first of the select
|
||||||
|
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
|
||||||
|
],
|
||||||
|
'edit_page_id' => [
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'hidden'
|
||||||
|
],
|
||||||
|
/*,
|
||||||
|
'edit_default' => [
|
||||||
|
'output_name' => 'Default',
|
||||||
|
'type' => 'radio',
|
||||||
|
'mandatory' => 1
|
||||||
|
],*/
|
||||||
|
],
|
||||||
|
], // edit pages ggroup
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditLanguages implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_language_id' => [
|
||||||
|
'value' => $_POST['edit_language_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1
|
||||||
|
],
|
||||||
|
'short_name' => [
|
||||||
|
'value' => $_POST['short_name'] ?? '',
|
||||||
|
'output_name' => 'Language (short)',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 2,
|
||||||
|
'length' => 2
|
||||||
|
],
|
||||||
|
'long_name' => [
|
||||||
|
'value' => $_POST['long_name'] ?? '',
|
||||||
|
'output_name' => 'Language (long)',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 40
|
||||||
|
],
|
||||||
|
'iso_name' => [
|
||||||
|
'value' => $_POST['iso_name'] ?? '',
|
||||||
|
'output_name' => 'ISO Code',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'order_number' => [
|
||||||
|
'value' => $_POST['order_number'] ?? '',
|
||||||
|
'int' => 1,
|
||||||
|
'order' => 1
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'value' => $_POST['enabled'] ?? '',
|
||||||
|
'output_name' => 'Enabled',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'lang_default' => [
|
||||||
|
'value' => $_POST['lang_default'] ?? '',
|
||||||
|
'output_name' => 'Default Language',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'load_query' => "SELECT edit_language_id, long_name, iso_name, enabled "
|
||||||
|
. "FROM edit_language "
|
||||||
|
. "ORDER BY long_name",
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'long_name'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'iso_name',
|
||||||
|
'before_value' => 'ISO: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'enabled',
|
||||||
|
'before_value' => 'Enabled: ',
|
||||||
|
'binary' => ['Yes','No'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'table_name' => 'edit_language'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditMenuGroup implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_menu_group_id' => [
|
||||||
|
'value' => $_POST['edit_menu_group_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1
|
||||||
|
],
|
||||||
|
'name' => [
|
||||||
|
'value' => $_POST['name'] ?? '',
|
||||||
|
'output_name' => 'Group name',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'flag' => [
|
||||||
|
'value' => $_POST['flag'] ?? '',
|
||||||
|
'output_name' => 'Flag',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'alphanumeric|unique'
|
||||||
|
],
|
||||||
|
'order_number' => [
|
||||||
|
'value' => $_POST['order_number'] ?? '',
|
||||||
|
'output_name' => 'Group order',
|
||||||
|
'type' => 'order',
|
||||||
|
'int' => 1,
|
||||||
|
'order' => 1
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'table_name' => 'edit_menu_group',
|
||||||
|
'load_query' => "SELECT edit_menu_group_id, name FROM edit_menu_group ORDER BY name",
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'name'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
275
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditPages.php
Normal file
275
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditPages.php
Normal file
@@ -0,0 +1,275 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditPages implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_page_id' => [
|
||||||
|
'value' => $_POST['edit_page_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1
|
||||||
|
],
|
||||||
|
'filename' => [
|
||||||
|
'value' => $_POST['filename'] ?? '',
|
||||||
|
'output_name' => 'Add File ...',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT DISTINCT temp_files.filename AS id, "
|
||||||
|
. "temp_files.folder || temp_files.filename AS name "
|
||||||
|
. "FROM temp_files "
|
||||||
|
. "LEFT JOIN edit_page ep ON temp_files.filename = ep.filename "
|
||||||
|
. "WHERE ep.filename IS NULL"
|
||||||
|
],
|
||||||
|
'hostname' => [
|
||||||
|
'value' => $_POST['hostname'] ?? '',
|
||||||
|
'output_name' => 'Hostname or folder',
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'name' => [
|
||||||
|
'value' => $_POST['name'] ?? '',
|
||||||
|
'output_name' => 'Page name',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'order_number' => [
|
||||||
|
'value' => $_POST['order_number'] ?? '',
|
||||||
|
'output_name' => 'Page order',
|
||||||
|
'type' => 'order',
|
||||||
|
'int' => 1,
|
||||||
|
'order' => 1
|
||||||
|
],
|
||||||
|
/* 'flag' => [
|
||||||
|
'value' => $_POST['flag']) ?? '',
|
||||||
|
'output_name' => 'Page Flag',
|
||||||
|
'type' => 'drop_down_array',
|
||||||
|
'query' => [
|
||||||
|
'0' => '0',
|
||||||
|
'1' => '1',
|
||||||
|
'2' => '2',
|
||||||
|
'3' => '3',
|
||||||
|
'4' => '4',
|
||||||
|
'5' => '5'
|
||||||
|
],
|
||||||
|
],*/
|
||||||
|
'online' => [
|
||||||
|
'value' => $_POST['online'] ?? '',
|
||||||
|
'output_name' => 'Online',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'menu' => [
|
||||||
|
'value' => $_POST['menu'] ?? '',
|
||||||
|
'output_name' => 'Menu',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'popup' => [
|
||||||
|
'value' => $_POST['popup'] ?? '',
|
||||||
|
'output_name' => 'Popup',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'popup_x' => [
|
||||||
|
'value' => $_POST['popup_x'] ?? '',
|
||||||
|
'output_name' => 'Popup Width',
|
||||||
|
'int_null' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 4,
|
||||||
|
'length' => 4
|
||||||
|
],
|
||||||
|
'popup_y' => [
|
||||||
|
'value' => $_POST['popup_y'] ?? '',
|
||||||
|
'output_name' => 'Popup Height',
|
||||||
|
'int_null' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 4,
|
||||||
|
'length' => 4
|
||||||
|
],
|
||||||
|
'content_alias_edit_page_id' => [
|
||||||
|
'value' => $_POST['content_alias_edit_page_id'] ?? '',
|
||||||
|
'output_name' => 'Content Alias Source',
|
||||||
|
'int_null' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
// query creation
|
||||||
|
'select_distinct' => 0,
|
||||||
|
'pk_name' => 'edit_page_id AS content_alias_edit_page_id',
|
||||||
|
'input_name' => 'name',
|
||||||
|
'table_name' => 'edit_page',
|
||||||
|
'where_not_self' => 1,
|
||||||
|
'order_by' => 'order_number'
|
||||||
|
// 'query' => "SELECT edit_page_id AS content_alias_edit_page_id, name ".
|
||||||
|
// "FROM edit_page ".
|
||||||
|
// (!empty($_POST['edit_page_id']) ? " WHERE edit_page_id <> ".$_POST['edit_page_id'] : "")." ".
|
||||||
|
// "ORDER BY order_number"
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'load_query' => "SELECT edit_page_id, "
|
||||||
|
. "CASE WHEN hostname IS NOT NULL THEN hostname ELSE ''::VARCHAR END || filename AS filename, "
|
||||||
|
. "name, online, menu, popup "
|
||||||
|
. "FROM edit_page "
|
||||||
|
. "ORDER BY order_number",
|
||||||
|
'table_name' => 'edit_page',
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'name'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'filename',
|
||||||
|
'before_value' => 'Filename: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'online',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'Online: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'menu',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'Menu: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'popup',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'Popup: '
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'reference_arrays' => [
|
||||||
|
'edit_visible_group' => [
|
||||||
|
'table_name' => 'edit_page_visible_group',
|
||||||
|
'other_table_pk' => 'edit_visible_group_id',
|
||||||
|
'output_name' => 'Visible Groups (access)',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'select_size' => 10,
|
||||||
|
'selected' => $_POST['edit_visible_group_id'] ?? '',
|
||||||
|
'query' => "SELECT edit_visible_group_id, 'Name: ' || name || ', ' || 'Flag: ' || flag "
|
||||||
|
. "FROM edit_visible_group ORDER BY name"
|
||||||
|
],
|
||||||
|
'edit_menu_group' => [
|
||||||
|
'table_name' => 'edit_page_menu_group',
|
||||||
|
'other_table_pk' => 'edit_menu_group_id',
|
||||||
|
'output_name' => 'Menu Groups (grouping)',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'select_size' => 10,
|
||||||
|
'selected' => $_POST['edit_menu_group_id'] ?? '',
|
||||||
|
'query' => "SELECT edit_menu_group_id, 'Name: ' || name || ', ' || 'Flag: ' || flag "
|
||||||
|
. "FROM edit_menu_group ORDER BY order_number"
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'element_list' => [
|
||||||
|
'edit_query_string' => [
|
||||||
|
'output_name' => 'Query Strings',
|
||||||
|
'delete_name' => 'remove_query_string',
|
||||||
|
'prefix' => 'eqs',
|
||||||
|
'elements' => [
|
||||||
|
'name' => [
|
||||||
|
'output_name' => 'Name',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'unique|alphanumeric',
|
||||||
|
'mandatory' => 1
|
||||||
|
],
|
||||||
|
'value' => [
|
||||||
|
'output_name' => 'Value',
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'output_name' => 'Enabled',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'element_list' => [1],
|
||||||
|
],
|
||||||
|
'dynamic' => [
|
||||||
|
'output_name' => 'Dynamic',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'element_list' => [1],
|
||||||
|
],
|
||||||
|
'edit_query_string_id' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk_id' => 1
|
||||||
|
],
|
||||||
|
], // elements
|
||||||
|
], // query_string element list
|
||||||
|
'edit_page_content' => [
|
||||||
|
'output_name' => 'Page Content',
|
||||||
|
'delete_name' => 'remove_page_content',
|
||||||
|
'prefix' => 'epc',
|
||||||
|
'elements' => [
|
||||||
|
'name' => [
|
||||||
|
'output_name' => 'Content',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'alphanumeric',
|
||||||
|
'mandatory' => 1
|
||||||
|
],
|
||||||
|
'uid' => [
|
||||||
|
'output_name' => 'UID',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'unique|alphanumeric',
|
||||||
|
'mandatory' => 1
|
||||||
|
],
|
||||||
|
'order_number' => [
|
||||||
|
'output_name' => 'Order',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'int',
|
||||||
|
'mandatory' => 1
|
||||||
|
],
|
||||||
|
'online' => [
|
||||||
|
'output_name' => 'Online',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'element_list' => [1],
|
||||||
|
],
|
||||||
|
'edit_access_right_id' => [
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'output_name' => 'Access Level',
|
||||||
|
'int' => 1,
|
||||||
|
'preset' => 1, // first of the select
|
||||||
|
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
|
||||||
|
],
|
||||||
|
'edit_page_content_id' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk_id' => 1
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
], // element list
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditSchemas implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_scheme_id' => [
|
||||||
|
'value' => $_POST['edit_scheme_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1
|
||||||
|
],
|
||||||
|
'name' => [
|
||||||
|
'value' => $_POST['name'] ?? '',
|
||||||
|
'output_name' => 'Scheme Name',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'header_color' => [
|
||||||
|
'value' => $_POST['header_color'] ?? '',
|
||||||
|
'output_name' => 'Header Color',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'size' => 10,
|
||||||
|
'length' => 9,
|
||||||
|
'error_check' => 'custom',
|
||||||
|
// FIXME: update regex check for hex/rgb/hsl with color check class
|
||||||
|
'error_regex' => '/^#([\dA-Fa-f]{6}|[\dA-Fa-f]{8})$/',
|
||||||
|
'error_example' => '#F6A544'
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'value' => $_POST['enabled'] ?? '',
|
||||||
|
'output_name' => 'Enabled',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'binary',
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'template' => [
|
||||||
|
'value' => $_POST['template'] ?? '',
|
||||||
|
'output_name' => 'Template',
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'table_name' => 'edit_scheme',
|
||||||
|
'load_query' => "SELECT edit_scheme_id, name, enabled FROM edit_scheme ORDER BY name",
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'name'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'enabled',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'Enabled: '
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
456
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditUsers.php
Normal file
456
4dev/deprecated/CoreLibs/Output/Form/TableArrays/EditUsers.php
Normal file
@@ -0,0 +1,456 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditUsers implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_user_id' => [
|
||||||
|
'value' => $_POST['edit_user_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1,
|
||||||
|
'int' => 1
|
||||||
|
],
|
||||||
|
'username' => [
|
||||||
|
'value' => $_POST['username'] ?? '',
|
||||||
|
'output_name' => 'Username',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'error_check' => 'unique|alphanumericextended',
|
||||||
|
'type' => 'text',
|
||||||
|
// if not min_edit_acl only read
|
||||||
|
// if not min_show_acl not visible
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '-1',
|
||||||
|
],
|
||||||
|
'password' => [
|
||||||
|
'value' => $_POST['password'] ?? '',
|
||||||
|
'HIDDEN_value' => $_POST['HIDDEN_password'] ?? '',
|
||||||
|
'CONFIRM_value' => $_POST['CONFIRM_password'] ?? '',
|
||||||
|
'output_name' => 'Password',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'password', // later has to be password for encryption in database
|
||||||
|
'update' => [ // connected field updates, and update data
|
||||||
|
'password_change_date' => [ // db row to update
|
||||||
|
'type' => 'date', // type of field (int/text/date/etc)
|
||||||
|
'value' => 'NOW()' // value [todo: complex reference
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
// password date when first insert and password is set, needs special field with connection to password
|
||||||
|
// password reset force interval, if set, user needs to reset password after X time period
|
||||||
|
'password_change_interval' => [
|
||||||
|
'value' => $_POST['password_change_interval'] ?? '',
|
||||||
|
'output_name' => 'Password change interval',
|
||||||
|
// can be any date length format. n Y/M/D [not H/M/S], only one set, no combination
|
||||||
|
'error_check' => 'intervalshort',
|
||||||
|
'type' => 'text',
|
||||||
|
'interval' => 1, // interval needs NULL write for empty
|
||||||
|
'size' => 5, // make it 5 chars long
|
||||||
|
'length' => 5,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'value' => $_POST['enabled'] ?? '',
|
||||||
|
'output_name' => 'Enabled',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '-1',
|
||||||
|
],
|
||||||
|
'deleted' => [
|
||||||
|
'value' => $_POST['deleted'] ?? '',
|
||||||
|
'output_name' => 'Deleted',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'strict' => [
|
||||||
|
'value' => $_POST['strict'] ?? '',
|
||||||
|
'output_name' => 'Strict (Lock after errors)',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'locked' => [
|
||||||
|
'value' => $_POST['locked'] ?? '',
|
||||||
|
'output_name' => 'Locked (auto set if strict with errors)',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'admin' => [
|
||||||
|
'value' => $_POST['admin'] ?? '',
|
||||||
|
'output_name' => 'Admin',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'debug' => [
|
||||||
|
'value' => $_POST['debug'] ?? '',
|
||||||
|
'output_name' => 'Debug',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'db_debug' => [
|
||||||
|
'value' => $_POST['db_debug'] ?? '',
|
||||||
|
'output_name' => 'DB Debug',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'email' => [
|
||||||
|
'value' => $_POST['email'] ?? '',
|
||||||
|
'output_name' => 'E-Mail',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'email',
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'last_name' => [
|
||||||
|
'value' => $_POST['last_name'] ?? '',
|
||||||
|
'output_name' => 'Last Name',
|
||||||
|
'type' => 'text',
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'first_name' => [
|
||||||
|
'value' => $_POST['first_name'] ?? '',
|
||||||
|
'output_name' => 'First Name',
|
||||||
|
'type' => 'text',
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'lock_until' => [
|
||||||
|
'value' => $_POST['lock_until'] ?? '',
|
||||||
|
'output_name' => 'Lock account until',
|
||||||
|
'type' => 'datetime',
|
||||||
|
'error_check' => 'datetime',
|
||||||
|
'sql_read' => 'YYYY-MM-DD HH24:MI',
|
||||||
|
'datetime' => 1,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'lock_after' => [
|
||||||
|
'value' => $_POST['lock_after'] ?? '',
|
||||||
|
'output_name' => 'Lock account after',
|
||||||
|
'type' => 'datetime',
|
||||||
|
'error_check' => 'datetime',
|
||||||
|
'sql_read' => 'YYYY-MM-DD HH24:MI',
|
||||||
|
'datetime' => 1,'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id' => [
|
||||||
|
'value' => $_POST['login_user_id'] ?? '',
|
||||||
|
'output_name' => '_GET/_POST loginUserId direct login ID',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'unique|custom',
|
||||||
|
'error_regex' => "/^[A-Za-z0-9]+$/",
|
||||||
|
'emptynull' => 1,'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id_set_date' => [
|
||||||
|
'output_name' => 'loginUserId set date',
|
||||||
|
'value' => $_POST['login_user_id_set_date'] ?? '',
|
||||||
|
'type' => 'view',
|
||||||
|
'empty' => '-',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id_last_revalidate' => [
|
||||||
|
'output_name' => 'loginUserId last revalidate date',
|
||||||
|
'value' => $_POST['login_user_id_last_revalidate'] ?? '',
|
||||||
|
'type' => 'view',
|
||||||
|
'empty' => '-',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id_locked' => [
|
||||||
|
'value' => $_POST['login_user_id_locked'] ?? '',
|
||||||
|
'output_name' => 'loginUserId usage locked',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id_revalidate_after' => [
|
||||||
|
'value' => $_POST['login_user_id_revalidate_after'] ?? '',
|
||||||
|
'output_name' => 'loginUserId, User must login after n days',
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'intervalshort',
|
||||||
|
'interval' => 1, // interval needs NULL write for empty
|
||||||
|
'size' => 5, // make it 5 chars long
|
||||||
|
'length' => 5,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id_valid_from' => [
|
||||||
|
'value' => $_POST['login_user_id_valid_from'] ?? '',
|
||||||
|
'output_name' => 'loginUserId valid from',
|
||||||
|
'type' => 'datetime',
|
||||||
|
'error_check' => 'datetime',
|
||||||
|
'sql_read' => 'YYYY-MM-DD HH24:MI',
|
||||||
|
'datetime' => 1,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_user_id_valid_until' => [
|
||||||
|
'value' => $_POST['login_user_id_valid_until'] ?? '',
|
||||||
|
'output_name' => 'loginUserId valid until',
|
||||||
|
'type' => 'datetime',
|
||||||
|
'error_check' => 'datetime',
|
||||||
|
'sql_read' => 'YYYY-MM-DD HH24:MI',
|
||||||
|
'datetime' => 1,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'edit_language_id' => [
|
||||||
|
'value' => $_POST['edit_language_id'] ?? '',
|
||||||
|
'output_name' => 'Language',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT edit_language_id, long_name "
|
||||||
|
. "FROM edit_language "
|
||||||
|
. "WHERE enabled = 1"
|
||||||
|
. "ORDER BY order_number",
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'edit_scheme_id' => [
|
||||||
|
'value' => $_POST['edit_scheme_id'] ?? '',
|
||||||
|
'output_name' => 'Scheme',
|
||||||
|
'int_null' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT edit_scheme_id, name FROM edit_scheme WHERE enabled = 1 ORDER BY name",
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'edit_group_id' => [
|
||||||
|
'value' => $_POST['edit_group_id'] ?? '',
|
||||||
|
'output_name' => 'Group',
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT edit_group_id, name FROM edit_group WHERE enabled = 1 ORDER BY name",
|
||||||
|
'mandatory' => 1,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'edit_access_right_id' => [
|
||||||
|
'value' => $_POST['edit_access_right_id'] ?? '',
|
||||||
|
'output_name' => 'User Level',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'int' => 1,
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level",
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_error_count' => [
|
||||||
|
'output_name' => 'Login error count',
|
||||||
|
'value' => $_POST['login_error_count'] ?? '',
|
||||||
|
'type' => 'view',
|
||||||
|
'empty' => '0',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_error_date_last' => [
|
||||||
|
'output_name' => 'Last login error',
|
||||||
|
'value' => $_POST['login_error_date_liast'] ?? '',
|
||||||
|
'type' => 'view',
|
||||||
|
'empty' => '-',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'login_error_date_first' => [
|
||||||
|
'output_name' => 'First login error',
|
||||||
|
'value' => $_POST['login_error_date_first'] ?? '',
|
||||||
|
'type' => 'view',
|
||||||
|
'empty' => '-',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'protected' => [
|
||||||
|
'value' => $_POST['protected'] ?? '',
|
||||||
|
'output_name' => 'Protected',
|
||||||
|
'type' => 'binary',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [
|
||||||
|
'1' => 'Yes',
|
||||||
|
'0' => 'No'
|
||||||
|
],
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
'additional_acl' => [
|
||||||
|
'value' => $_POST['additional_acl'] ?? '',
|
||||||
|
'output_name' => 'Additional ACL (as JSON)',
|
||||||
|
'type' => 'textarea',
|
||||||
|
'error_check' => 'json',
|
||||||
|
'rows' => 10,
|
||||||
|
'cols' => 60,
|
||||||
|
'min_edit_acl' => '100',
|
||||||
|
'min_show_acl' => '100',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'load_query' => "SELECT edit_user_id, username, enabled, deleted, "
|
||||||
|
. "strict, locked, login_error_count "
|
||||||
|
. "FROM edit_user "
|
||||||
|
// if base acl is not 90 only list enabled
|
||||||
|
// if not admin flag, do not list admin flagged
|
||||||
|
. (
|
||||||
|
!$this->form->getAclAdmin() ?
|
||||||
|
"WHERE admin = 0 "
|
||||||
|
. (
|
||||||
|
!$this->form->checkBaseACL(90) ?
|
||||||
|
// $_POST['base_acl_level'] < 90 ?
|
||||||
|
"AND enabled = 1 " :
|
||||||
|
""
|
||||||
|
)
|
||||||
|
: ''
|
||||||
|
)
|
||||||
|
. "ORDER BY username",
|
||||||
|
'table_name' => 'edit_user',
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'username'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'enabled',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'ENBL: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'deleted',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'DEL: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'strict',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'STRC: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'locked',
|
||||||
|
'binary' => ['Yes', 'No'],
|
||||||
|
'before_value' => 'LCK: '
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'login_error_count',
|
||||||
|
'before_value' => 'ERR: '
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'element_list' => [
|
||||||
|
'edit_access_user' => [
|
||||||
|
'output_name' => 'Accounts',
|
||||||
|
'mandatory' => 1,
|
||||||
|
// set then reference entries are deleted, else the 'enable' flag is only set
|
||||||
|
'delete' => 0,
|
||||||
|
// acl
|
||||||
|
'min_edit_acl' => '40',
|
||||||
|
'min_show_acl' => '20',
|
||||||
|
// table read prefix
|
||||||
|
'prefix' => 'ecu',
|
||||||
|
'read_data' => [
|
||||||
|
'table_name' => 'edit_access',
|
||||||
|
'pk_id' => 'edit_access_id',
|
||||||
|
'name' => 'name',
|
||||||
|
'order' => 'name'
|
||||||
|
],
|
||||||
|
'elements' => [
|
||||||
|
'edit_access_user_id' => [
|
||||||
|
'output_name' => 'Activate',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'int' => 1,
|
||||||
|
'pk_id' => 1
|
||||||
|
],
|
||||||
|
'enabled' => [
|
||||||
|
'type' => 'checkbox',
|
||||||
|
'output_name' => 'Activate',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => [1],
|
||||||
|
],
|
||||||
|
'edit_access_right_id' => [
|
||||||
|
'type' => 'drop_down_db',
|
||||||
|
'output_name' => 'Access Level',
|
||||||
|
'preset' => 1, // first of the select
|
||||||
|
'int' => 1,
|
||||||
|
'query' => "SELECT edit_access_right_id, name FROM edit_access_right ORDER BY level"
|
||||||
|
],
|
||||||
|
'edit_default' => [
|
||||||
|
'type' => 'radio_group',
|
||||||
|
'output_name' => 'Default',
|
||||||
|
'int' => 1,
|
||||||
|
'element_list' => 'radio_group'
|
||||||
|
],
|
||||||
|
'edit_access_id' => [
|
||||||
|
'type' => 'hidden',
|
||||||
|
'int' => 1
|
||||||
|
],
|
||||||
|
],
|
||||||
|
], // edit pages ggroup
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form\TableArrays;
|
||||||
|
|
||||||
|
class EditVisibleGroup implements \CoreLibs\Output\Form\TableArraysInterface
|
||||||
|
{
|
||||||
|
/** @var \CoreLibs\Output\Form\Generate */
|
||||||
|
private $form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor
|
||||||
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
||||||
|
*/
|
||||||
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
||||||
|
{
|
||||||
|
$this->form = $form;
|
||||||
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return the table array
|
||||||
|
*
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'table_array' => [
|
||||||
|
'edit_visible_group_id' => [
|
||||||
|
'value' => $_POST['edit_visible_group_id'] ?? '',
|
||||||
|
'type' => 'hidden',
|
||||||
|
'pk' => 1
|
||||||
|
],
|
||||||
|
'name' => [
|
||||||
|
'value' => $_POST['name'] ?? '',
|
||||||
|
'output_name' => 'Group name',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text'
|
||||||
|
],
|
||||||
|
'flag' => [
|
||||||
|
'value' => $_POST['flag'] ?? '',
|
||||||
|
'output_name' => 'Flag',
|
||||||
|
'mandatory' => 1,
|
||||||
|
'type' => 'text',
|
||||||
|
'error_check' => 'alphanumeric|unique'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'table_name' => 'edit_visible_group',
|
||||||
|
'load_query' => "SELECT edit_visible_group_id, name FROM edit_visible_group ORDER BY name",
|
||||||
|
'show_fields' => [
|
||||||
|
[
|
||||||
|
'name' => 'name'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
16
4dev/deprecated/CoreLibs/Output/TableArraysInterface.php
Normal file
16
4dev/deprecated/CoreLibs/Output/TableArraysInterface.php
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace CoreLibs\Output\Form;
|
||||||
|
|
||||||
|
interface TableArraysInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* setTableArray interface, set the table array
|
||||||
|
* @return array<mixed>
|
||||||
|
*/
|
||||||
|
public function setTableArray(): array;
|
||||||
|
}
|
||||||
|
|
||||||
|
// __END__
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user