====== UserService ======
**Layer:** ''Service'' · **Source:** ''lib/service/UserService.php:30'' (lines 30–717)
----
class UserService
UserService Class
======= Docblock Metadata =======
^ Tag ^ Value ^
| ''@category'' | Service Class |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |
======= Inheritance =======
//No parent, interface or trait. This is a root type.//
======= Constants (0) =======
//None.//
======= Properties (23) =======
^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$user_id'' | | 36 |
| ''private'' | ''(untyped)'' | ''$user_login'' | | 42 |
| ''private'' | ''(untyped)'' | ''$user_email'' | | 48 |
| ''private'' | ''(untyped)'' | ''$user_pass'' | | 54 |
| ''private'' | ''(untyped)'' | ''$user_level'' | | 60 |
| ''private'' | ''(untyped)'' | ''$user_fullname'' | | 66 |
| ''private'' | ''(untyped)'' | ''$user_url'' | | 72 |
| ''private'' | ''(untyped)'' | ''$user_activation_key'' | | 78 |
| ''private'' | ''(untyped)'' | ''$pwd_hash'' | | 86 |
| ''private'' | ''(untyped)'' | ''$selector_hash'' | | 94 |
| ''private'' | ''(untyped)'' | ''$cookie_expired_date'' | | 102 |
| ''private'' | ''(untyped)'' | ''$user_session'' | | 108 |
| ''private'' | ''(untyped)'' | ''$user_banned'' | | 115 |
| ''private'' | ''(untyped)'' | ''$userDao'' | | 123 |
| ''private'' | ''(untyped)'' | ''$userToken'' | | 131 |
| ''private'' | ''(untyped)'' | ''$validator'' | | 139 |
| ''private'' | ''(untyped)'' | ''$sanitize'' | | 147 |
| ''private'' | ''(untyped)'' | ''$commentDao'' | | 154 |
| ''private'' | ''(untyped)'' | ''$postDao'' | | 161 |
| ''private'' | ''(untyped)'' | ''$key'' | | 168 |
| ''private'' | ''(untyped)'' | ''$validator_verified'' | ''false'' | 175 |
| ''private'' | ''(untyped)'' | ''$selector_verified'' | ''false'' | 182 |
| ''private'' | ''(untyped)'' | ''$expired_verified'' | ''false'' | 189 |
======= Methods (33) =======
^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | | 195 |
| public | ''setUserId()'' | set user Id | 221 |
| public | ''setUserLogin()'' | Set user login | 232 |
| public | ''setUserEmail()'' | Set user email | 245 |
| public | ''setUserPass()'' | Set user password | 254 |
| public | ''setPwdHash()'' | setPwdHash | 266 |
| public | ''setSelectorHash()'' | setSelectorHash | 278 |
| public | ''setCookieExpireDate()'' | (undocumented) | 283 |
| public | ''setUserLevel()'' | Set user level | 292 |
| public | ''setUserFullname()'' | Set user fullname | 301 |
| public | ''setUserUrl()'' | SetUserUrl | 313 |
| public | ''setUserActivationKey()'' | SetUserActivationKey | 325 |
| public | ''setUserSession()'' | SetUserSession() | 335 |
| public | ''setUserBanned()'' | setUserBanned | 345 |
| public | ''grabUsers()'' | Retrieving All records from table users | 359 |
| public | ''grabUser()'' | grabUser | 372 |
| public | ''grabUserByLogin()'' | grabUserByLogin | 384 |
| public | ''grabTokenByLogin()'' | grabTokenByLogin | 397 |
| public | ''addUser()'' | addUser | 406 |
| public | ''modifyUser()'' | modifyUser | 446 |
| public | ''modifyTokenExpired()'' | modifyTokenExpired | 485 |
| public | ''removeUser()'' | removeUser | 496 |
| public | ''removeUserWithAnonymization()'' | removeUserWithAnonymization | 517 |
| private | ''resolveFallbackAuthorId()'' | Resolve a valid fallback author for post reassignment during erasure. | 545 |
| private | ''getCommentDao()'' | Lazy-access the injected CommentDao, falling back to a fresh instance | 572 |
| private | ''getPostDao()'' | Lazy-access the injected PostDao, falling back to a fresh instance | 587 |
| public | ''userLevelDropDown()'' | User Level DropDown | 602 |
| public | ''checkUserLogin()'' | Checking User login | 613 |
| public | ''isEmailExists()'' | Whether email address exists or not | 624 |
| public | ''isUserLevel()'' | isUserLevel | 638 |
| public | ''reAuthenticateUserPrivilege()'' | reAuthenticateUserPrivilege | 651 |
| public | ''identifyCookieToken()'' | identifyCookieToken | 666 |
| public | ''totalUsers()'' | Total User recorded | 713 |
======== __construct() ========
public function __construct(UserDao $userDao, FormValidator $validator, UserTokenDao $userToken, Sanitize $sanitize, ?CommentDao $commentDao = null, ?PostDao $postDao = null)
//lines 195–212 (18)//
^ Parameter ^ Type ^ Default ^ Description ^
| ''$userDao'' | [[scriptlog:lib:dao:userdao|''UserDao'']] | //required// | //none// |
| ''$validator'' | [[scriptlog:lib:core:formvalidator|''FormValidator'']] | //required// | //none// |
| ''$userToken'' | [[scriptlog:lib:dao:usertokendao|''UserTokenDao'']] | //required// | //none// |
| ''$sanitize'' | [[scriptlog:lib:core:sanitize|''Sanitize'']] | //required// | //none// |
| ''$commentDao'' | [[scriptlog:lib:dao:commentdao|''?CommentDao'']] | ''null'' | //none// |
| ''$postDao'' | [[scriptlog:lib:dao:postdao|''?PostDao'']] | ''null'' | //none// |
======== setUserId() ========
public function setUserId($userId)
//lines 221–224 (4)//
set user Id
^ Parameter ^ Type ^ Default ^ Description ^
| ''$userId'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserLogin() ========
public function setUserLogin($user_login)
//lines 232–238 (7)//
Set user login
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_login'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserEmail() ========
public function setUserEmail($user_email)
//lines 245–248 (4)//
Set user email
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_email'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserPass() ========
public function setUserPass($user_pass)
//lines 254–257 (4)//
Set user password
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_pass'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setPwdHash() ========
public function setPwdHash($pwd_hash)
//lines 266–269 (4)//
setPwdHash
set password hash validator for cookies
^ Parameter ^ Type ^ Default ^ Description ^
| ''$pwd_hash'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setSelectorHash() ========
public function setSelectorHash($selector_hash)
//lines 278–281 (4)//
setSelectorHash
set selector hash validator for cookies
^ Parameter ^ Type ^ Default ^ Description ^
| ''$selector_hash'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setCookieExpireDate() ========
public function setCookieExpireDate($cookie_expired_date)
//lines 283–286 (4)//
^ Parameter ^ Type ^ Default ^ Description ^
| ''$cookie_expired_date'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserLevel() ========
public function setUserLevel($user_level)
//lines 292–295 (4)//
Set user level
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_level'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserFullname() ========
public function setUserFullname($user_fullname)
//lines 301–304 (4)//
Set user fullname
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_fullname'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserUrl() ========
public function setUserUrl($user_url)
//lines 313–316 (4)//
SetUserUrl
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_url'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserActivationKey() ========
public function setUserActivationKey($activation_key)
//lines 325–328 (4)//
SetUserActivationKey
^ Parameter ^ Type ^ Default ^ Description ^
| ''$activation_key'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserSession() ========
public function setUserSession($user_session)
//lines 335–338 (4)//
SetUserSession()
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_session'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== setUserBanned() ========
public function setUserBanned($user_banned)
//lines 345–348 (4)//
setUserBanned
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_banned'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== grabUsers() ========
public function grabUsers($orderBy = 'ID', $fetchMode = null)
//lines 359–363 (5)//
Retrieving All records from table users
^ Parameter ^ Type ^ Default ^ Description ^
| ''$orderBy'' | ''(untyped)'' | '''ID''' | //none// |
| ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — array|bool|object
======== grabUser() ========
public function grabUser($userId, $fetchMode = null)
//lines 372–375 (4)//
grabUser
^ Parameter ^ Type ^ Default ^ Description ^
| ''$userId'' | ''(untyped)'' | //required// | //none// |
| ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — array|bool|object
======== grabUserByLogin() ========
public function grabUserByLogin($user_login, $fetchMode = null)
//lines 384–387 (4)//
grabUserByLogin
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_login'' | ''(untyped)'' | //required// | //none// |
| ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — array
======== grabTokenByLogin() ========
public function grabTokenByLogin($login, $expired, $fetchMode = null)
//lines 397–400 (4)//
grabTokenByLogin
^ Parameter ^ Type ^ Default ^ Description ^
| ''$login'' | ''(untyped)'' | //required// | //none// |
| ''$expired'' | ''(untyped)'' | //required// | //none// |
| ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — array
======== addUser() ========
public function addUser()
//lines 406–440 (35)//
addUser
//Takes no parameters.//
**Returns:** ''(none declared)''
======== modifyUser() ========
public function modifyUser()
//lines 446–477 (32)//
modifyUser
//Takes no parameters.//
**Returns:** ''(none declared)''
======== modifyTokenExpired() ========
public function modifyTokenExpired($userTokenId)
//lines 485–488 (4)//
modifyTokenExpired
^ Parameter ^ Type ^ Default ^ Description ^
| ''$userTokenId'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)''
======== removeUser() ========
public function removeUser()
//lines 496–500 (5)//
removeUser
remove user from record
//Takes no parameters.//
**Returns:** ''(none declared)''
======== removeUserWithAnonymization() ========
public function removeUserWithAnonymization($userId, $userEmail = null)
//lines 517–532 (16)//
removeUserWithAnonymization
Remove user and anonymize their data (GDPR compliance).
The comment anonymization, post-author reassignment and account deletion
run inside a single database transaction so a partial failure cannot
leave inconsistent state (N11). The fallback author for post
reassignment is validated to exist and to not be the erased user (N12).
^ Parameter ^ Type ^ Default ^ Description ^
| ''$userId'' | ''(untyped)'' | //required// | //none// |
| ''$userEmail'' | ''(untyped)'' | ''null'' | //none// |
**Returns:** ''(none declared)'' — bool
**Throws:** [[scriptlog:lib:core:appexception|''\Scriptlog\Core\AppException'']]
======== resolveFallbackAuthorId() ========
private function resolveFallbackAuthorId($excludedUserId)
//lines 545–564 (20)//
Resolve a valid fallback author for post reassignment during erasure.
Prefers user ID 1 (the traditional fallback) when that account exists
and is not the user being erased; otherwise falls back to the first
other available user. Throws when no suitable account remains.
^ Parameter ^ Type ^ Default ^ Description ^
| ''$excludedUserId'' | ''(untyped)'' | //required// | The user being erased |
**Returns:** ''(none declared)'' — int
**Throws:** [[scriptlog:lib:core:appexception|''\Scriptlog\Core\AppException'']]
======== getCommentDao() ========
private function getCommentDao()
//lines 572–579 (8)//
Lazy-access the injected CommentDao, falling back to a fresh instance
when none was provided (backward compatibility with existing callers).
//Takes no parameters.//
**Returns:** ''(none declared)'' — CommentDao
======== getPostDao() ========
private function getPostDao()
//lines 587–594 (8)//
Lazy-access the injected PostDao, falling back to a fresh instance
when none was provided (backward compatibility with existing callers).
//Takes no parameters.//
**Returns:** ''(none declared)'' — PostDao
======== userLevelDropDown() ========
public function userLevelDropDown($selected = "")
//lines 602–605 (4)//
User Level DropDown
^ Parameter ^ Type ^ Default ^ Description ^
| ''$selected'' | ''(untyped)'' | ''""'' | //none// |
**Returns:** ''(none declared)'' — string
======== checkUserLogin() ========
public function checkUserLogin($user_login)
//lines 613–616 (4)//
Checking User login
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_login'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — boolean
======== isEmailExists() ========
public function isEmailExists($user_email)
//lines 624–627 (4)//
Whether email address exists or not
^ Parameter ^ Type ^ Default ^ Description ^
| ''$user_email'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — boolean
======== isUserLevel() ========
public function isUserLevel()
//lines 638–641 (4)//
isUserLevel
Check whether user level session defined or not
if defined then return it
//Takes no parameters.//
**Returns:** ''(none declared)'' — boolean
======== reAuthenticateUserPrivilege() ========
public function reAuthenticateUserPrivilege($login, $password)
//lines 651–654 (4)//
reAuthenticateUserPrivilege
^ Parameter ^ Type ^ Default ^ Description ^
| ''$login'' | ''(untyped)'' | //required// | //none// |
| ''$password'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — bool
======== identifyCookieToken() ========
public function identifyCookieToken($secret)
//lines 666–704 (39)//
identifyCookieToken
Checking whether a session cookies defined or not
if defined then return it
^ Parameter ^ Type ^ Default ^ Description ^
| ''$secret'' | ''(untyped)'' | //required// | //none// |
**Returns:** ''(none declared)'' — bool
======== totalUsers() ========
public function totalUsers(array $data = []): ?int
//lines 713–716 (4)//
Total User recorded
^ Parameter ^ Type ^ Default ^ Description ^
| ''$data'' | ''array'' | ''[]'' | //none// |
**Returns:** ''?int'' — integer
======= Imports =======
^ Alias ^ Fully-qualified name ^
| ''AppException'' | [[scriptlog:lib:core:appexception|''Scriptlog\Core\AppException'']] |
| ''FormValidator'' | [[scriptlog:lib:core:formvalidator|''Scriptlog\Core\FormValidator'']] |
| ''Registry'' | [[scriptlog:lib:core:registry|''Scriptlog\Core\Registry'']] |
| ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] |
| ''ScriptlogCryptonize'' | [[scriptlog:lib:core:scriptlogcryptonize|''Scriptlog\Core\ScriptlogCryptonize'']] |
| ''Session'' | [[scriptlog:lib:core:session|''Scriptlog\Core\Session'']] |
| ''Tokenizer'' | [[scriptlog:lib:core:tokenizer|''Scriptlog\Core\Tokenizer'']] |
| ''CommentDao'' | [[scriptlog:lib:dao:commentdao|''Scriptlog\Dao\CommentDao'']] |
| ''PostDao'' | [[scriptlog:lib:dao:postdao|''Scriptlog\Dao\PostDao'']] |
| ''UserDao'' | [[scriptlog:lib:dao:userdao|''Scriptlog\Dao\UserDao'']] |
| ''UserTokenDao'' | [[scriptlog:lib:dao:usertokendao|''Scriptlog\Dao\UserTokenDao'']] |
----
//This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//