Session: - can recreate session id periodic (Default never) - options are set via array like in other classes - checks for strict session settings on default ACL Login: - remove all DEBUG/DB_DEBUG variables, calls, etc - removed from the EditBase/EditUsers classes too - switch to UUIDv4 as the session lookup variable - all session vars are prefixed with "LOGIN_" - the charset ones are left as DEFAULT_CHARSET, DEFAULT_LOCALE, DEFAULT_LANG - the old LOGIN_LANG has been removed (deprecated) - TEMPLATE session has been removed, there is no template data in the edit class - session is resynced (ACL lookup), default 5min, adjustable via option - sets strict header options as default - moves several methods parts into their own classes - plan to split up class into sub classes for certain actions - new force logout counter in DB - edit logger is moved into this class - plan to move logging into sub class - all SQL calls user heredoc and params - update login/change password to new layout for pc/smartphone compatible - change password will be replaced with reset password in future - last login success is now set as timestamp - all old PK lookups for edit access etc are deprecated and replaced with cuid lookups ArrayHandling: - add array return matching key Give any array with key values and a list of keys and only return matching keys Wrapper for array_filter call
69 lines
1.5 KiB
PHP
69 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* AUTHOR: Clemens Schwaighofer
|
|
* CREATED: 2024/12/12
|
|
* DESCRIPTION:
|
|
* ACL Login user status bitmap list
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace CoreLibs\ACL;
|
|
|
|
final class LoginUserStatus
|
|
{
|
|
// lock status bitmap (smallint, 256)
|
|
/** @var int enabled flag */
|
|
public const ENABLED = 1;
|
|
/** @var int deleted flag */
|
|
public const DELETED = 2;
|
|
/** @var int locked flag */
|
|
public const LOCKED = 4;
|
|
/** @var int banned/suspened flag [not implemented] */
|
|
public const BANNED = 8;
|
|
/** @var int password reset in progress [not implemented] */
|
|
public const RESET = 16;
|
|
/** @var int confirm/paending, eg waiting for confirm of email [not implemented] */
|
|
public const CONFIRM = 32;
|
|
/** @var int strict, on error lock */
|
|
public const STRICT = 64;
|
|
/** @var int proected, cannot delete */
|
|
public const PROTECTED = 128;
|
|
/** @var int master admin flag */
|
|
public const ADMIN = 256;
|
|
|
|
/**
|
|
* Returns an array mapping the numerical role values to their descriptive names
|
|
*
|
|
* @return array<int|string,string>
|
|
*/
|
|
public static function getMap()
|
|
{
|
|
return array_flip((new \ReflectionClass(static::class))->getConstants());
|
|
}
|
|
|
|
/**
|
|
* Returns the descriptive role names
|
|
*
|
|
* @return string[]
|
|
*/
|
|
public static function getNames()
|
|
{
|
|
|
|
return array_keys((new \ReflectionClass(static::class))->getConstants());
|
|
}
|
|
|
|
/**
|
|
* Returns the numerical role values
|
|
*
|
|
* @return int[]
|
|
*/
|
|
public static function getValues()
|
|
{
|
|
return array_values((new \ReflectionClass(static::class))->getConstants());
|
|
}
|
|
}
|
|
|
|
// __END__
|