====== 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.//