diff options
Diffstat (limited to 'core/namespace/User/Item.php')
-rw-r--r-- | core/namespace/User/Item.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/core/namespace/User/Item.php b/core/namespace/User/Item.php new file mode 100644 index 0000000..129d8f9 --- /dev/null +++ b/core/namespace/User/Item.php @@ -0,0 +1,36 @@ +<?php +namespace User; + +class Item extends \Item { + const CONFIGURATION = 'USER'; + + #=============================================================================== + # Return absolute user URL + #=============================================================================== + public function getURL(): string { + if(\Application::get('USER.SLUG_URLS')) { + return \Application::getUserURL("{$this->Attribute->get('slug')}/"); + } + + return \Application::getUserURL("{$this->Attribute->get('id')}/"); + } + + #=============================================================================== + # Return unique pseudo GUID + #=============================================================================== + public function getGUID(): string { + foreach(['id', 'time_insert'] as $attribute) { + $attributes[] = $this->Attribute->get($attribute); + } + + return sha1(implode(NULL, $attributes)); + } + + #=============================================================================== + # Compare plaintext password with hashed password from database + #=============================================================================== + public function comparePassword($password): bool { + return password_verify($password, $this->Attribute->get('password')); + } +} +?>
\ No newline at end of file |