From 887908d733d442011cbb35ef648d7c340ac21994 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Tue, 14 Aug 2018 20:25:53 +0200 Subject: [PATCH] app/models/Data/User.php: split name into first/last name. --- app/models/Data/User.php | 68 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 5 deletions(-) diff --git a/app/models/Data/User.php b/app/models/Data/User.php index 425ec3e..22a7df7 100644 --- a/app/models/Data/User.php +++ b/app/models/Data/User.php @@ -18,7 +18,9 @@ class User extends Model protected $username; - protected $name; + protected $firstname; + + protected $lastname; protected $email; @@ -93,20 +95,76 @@ class User extends Model } /** - * @return mixed + * @return string */ public function getName() { - return $this->name; + $name = $this->getFirstname(); + if (strlen($this->getLastname())) { + $name .= ' ' . $this->getLastname(); + } + return $name; } /** - * @param mixed $name + * @param string $name * @return User */ public function setName($name) { - $this->name = $name; + $firstname = $name; + $lastname = null; + + $pos = strpos($name, ' '); + if ($pos !== false) { + $firstname = substr($name, 0, $pos); + $lastname = substr($name, $pos + 1); + } + + $this->setFirstname($firstname); + $this->setLastname($lastname); + return $this; + } + + /** + * @return string|null + */ + public function getFirstname() + { + return $this->firstname; + } + + /** + * @param string $firstname + * @return User + */ + public function setFirstname($firstname) + { + if ($firstname !== null) { + $firstname = (string) $firstname; + } + $this->firstname = $firstname; + return $this; + } + + /** + * @return string|null + */ + public function getLastname() + { + return $this->lastname; + } + + /** + * @param string|null $lastname + * @return User + */ + public function setLastname($lastname) + { + if ($lastname !== null) { + $lastname = (string) $lastname; + } + $this->lastname = $lastname; return $this; }