summaryrefslogtreecommitdiffstats
path: root/core/namespace/User/Item.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/namespace/User/Item.php')
-rw-r--r--core/namespace/User/Item.php36
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