LogoutController
extends BaseController
in package
uses
UsersTrait
Logout page controller.
Tags
Table of Contents
Properties
- $Input : Input
- $Languages : Languages
- $runnedCronResult : array<string|int, mixed>
Methods
- __construct() : mixed
- {@inheritDoc}
- doLogoutAction() : string
- Rest API do logout.
- indexAction() : string
- Logout page.
- addUpdateUserFormValidation() : array<string|int, mixed>
- Form validation for add and update user.
- decryptUserFieldsKey() : string
- Decrypt user fields key.
- doLogout() : mixed
- Do logout process.
- generateUserFieldsKey() : array<string|int, mixed>
- Generate user fields key.
- getConfig() : array<string|int, mixed>
- Get common use configuration between methods.
- getPageHtmlClasses() : string
- Get page HTML classes.
- getPageHtmlTitle() : string
- Get page HTML title including site name if it was set.
- getUserUrlsMethods() : array<string|int, mixed>
- Get URLs and methods about user pages.
- logoutUser() : mixed
- Logout target user.
- maybeRunCron() : mixed
- Maybe run cron job if config is set to not use server cron.
- responseJson() : string
- {@inheritDoc}
- responseXml() : string
- {@inheritDoc}
- setBasicConfig() : mixed
- Setup basic PHP configurations such as default timezone.
- setHeaderAllowOrigin() : mixed
- Set header allow origin for CORS.
- isModuleExcute() : bool
- Check if current call is `Modules->execute()`
- removeSensitiveCfgInfo() : array<string|int, mixed>
- Remove sensitive config info that contains non-site configuration.
Properties
$Input
protected
Input
$Input
$Languages
protected
Languages
$Languages
$runnedCronResult
protected
array<string|int, mixed>
$runnedCronResult
= []
Runned cron jobs result.
This is for use in case that set cron job, cron tab to run by URL.
The CronController
will be call to this BaseController
.
So, it is no need to using Libraries\Cron
class to run jobs again.
Just get the run result from this property.
This property will be set by maybeRunCron()
method.
Methods
__construct()
{@inheritDoc}
public
__construct(Container $Container) : mixed
Parameters
- $Container : Container
doLogoutAction()
Rest API do logout.
public
doLogoutAction() : string
Logout use method POST (see link below for description).
Tags
Return values
stringindexAction()
Logout page.
public
indexAction() : string
Return values
stringaddUpdateUserFormValidation()
Form validation for add and update user.
protected
addUpdateUserFormValidation(array<string|int, mixed> $data[, array<string|int, mixed> $dataField = [] ][, array<string|int, mixed> $dataUsersRoles = [] ][, string $saveType = 'insert' ][, string|int $user_id = '' ]) : array<string|int, mixed>
Validate required and valid form fields.
Validate that selected roles did not have higher priority that the user who add or update them.
Validate username and email must not exists.
This method was called from doAddAction()
method.
Parameters
- $data : array<string|int, mixed>
-
The associative array form data.
- $dataField : array<string|int, mixed> = []
-
Associative array for
user_fields
table. - $dataUsersRoles : array<string|int, mixed> = []
-
Associative array for
users_roles
table. - $saveType : string = 'insert'
-
Type of saving data. It can be 'insert' or 'update'. Default is 'insert'.
- $user_id : string|int = ''
-
The
user_id
to check where$saveType
is 'update' that any user else data must be unique.
Return values
array<string|int, mixed> —Return associative array with keys if contain at least one error:
formResultStatus
(if error),
formResultMessage
(if error) The result message,
formFieldsValidation
(optional) Fields that contain errors,
responseStatus
(optional) For HTTP response status,
decryptUserFieldsKey()
Decrypt user fields key.
protected
decryptUserFieldsKey(string|object $encryptedKey) : string
Parameters
- $encryptedKey : string|object
-
The encrypted key string. Or you may set user_fields object from PDO query instead.
Return values
string —Return decrypted key string or return empty string if failed to decrypted.
doLogout()
Do logout process.
protected
doLogout() : mixed
generateUserFieldsKey()
Generate user fields key.
protected
generateUserFieldsKey([int $length = 8 ]) : array<string|int, mixed>
Generate keys that can be use in change email confirmation, register confirmation, etc.
Parameters
- $length : int = 8
-
The length of key.
Return values
array<string|int, mixed> —Return associative array with 'readableKey', 'encryptedKey' keys.
getConfig()
Get common use configuration between methods.
protected
getConfig() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>getPageHtmlClasses()
Get page HTML classes.
protected
getPageHtmlClasses([array<string|int, mixed> $classes = [] ]) : string
Parameters
- $classes : array<string|int, mixed> = []
-
The classes to set for this html page.
Tags
Return values
string —Return generated html classes names.
getPageHtmlTitle()
Get page HTML title including site name if it was set.
protected
getPageHtmlTitle(string $title[, string|null|false $siteName = false ]) : string
Parameters
- $title : string
-
The site title.
- $siteName : string|null|false = false
-
Site name should be string.
Set to empty string ornull
will not include the site name.
Set tofalse
to automatic get the site name from config DB.
Tags
Return values
stringgetUserUrlsMethods()
Get URLs and methods about user pages.
protected
getUserUrlsMethods([string $user_id = '' ]) : array<string|int, mixed>
Parameters
- $user_id : string = ''
-
The user ID.
Return values
array<string|int, mixed> —Return associative array.
logoutUser()
Logout target user.
protected
logoutUser([array<string|int, mixed> $cookieData = [] ][, bool $logoutAllDevice = false ]) : mixed
Parameters
- $cookieData : array<string|int, mixed> = []
-
The associative array of cookie data. This value can get from
Cookie
class. The array keys are:
user_id
(required).
sessionKey
(optional) For delete specific session key fromuser_logins
table. - $logoutAllDevice : bool = false
-
Set to
true
to logout all device,false
for specific session key.
maybeRunCron()
Maybe run cron job if config is set to not use server cron.
protected
maybeRunCron() : mixed
responseJson()
{@inheritDoc}
protected
responseJson(mixed $output) : string
Parameters
- $output : mixed
Return values
stringresponseXml()
{@inheritDoc}
protected
responseXml(mixed $output) : string
Parameters
- $output : mixed
Return values
stringsetBasicConfig()
Setup basic PHP configurations such as default timezone.
protected
setBasicConfig() : mixed
setHeaderAllowOrigin()
Set header allow origin for CORS.
protected
setHeaderAllowOrigin() : mixed
isModuleExcute()
Check if current call is `Modules->execute()`
private
isModuleExcute() : bool
This method was called from maybeRunCron()
, __construct()
.
Tags
Return values
bool —Return true
if it is, false
if it is not.
removeSensitiveCfgInfo()
Remove sensitive config info that contains non-site configuration.
private
removeSensitiveCfgInfo(array<string|int, mixed> $output) : array<string|int, mixed>
Parameters
- $output : array<string|int, mixed>
-
The output array that contain
configDb
array key.
Tags
Return values
array<string|int, mixed> —Return removed sensitive info.