<?php
namespace App\Entity\User;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="App\Entity\User\UserRepository")
* @ORM\HasLifecycleCallbacks()
*/
class User implements UserInterface, PasswordAuthenticatedUserInterface
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=255)
*/
protected $photo;
/**
* @ORM\Column(type="string", length=100)
*/
protected $firstname;
/**
* @ORM\Column(type="string", length=100)
*/
protected $lastname;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, nullable=true)
*/
private $email;
/**
* @var string
*
* @ORM\Column(name="username", type="string", length=255, nullable=true, unique=true)
*/
private $username;
/**
* @var string
*
* @ORM\Column(name="password", type="string", length=255, nullable=true)
*/
private $password;
/**
* @var string
*
* @ORM\Column(name="telephone1", type="string", length=100, nullable=true)
*/
private $telephone1;
/**
* @var string
*
* @ORM\Column(name="telephone2", type="string", length=100, nullable=true)
*/
private $telephone2;
/**
* @var string
*
* @ORM\Column(type="boolean")
*/
private $is_admin;
/**
* @var boolean
*
* @ORM\Column(name="enabled", type="boolean", nullable=true)
*/
private $enabled = true;
/**
* @var last_login
*
* @ORM\Column(type="datetime")
*/
private $last_login;
public function __toString()
{
return $this->getFirstname().' '.$this->getLastname();
}
public function getPhoto()
{
return $this->photo;
}
public function getEmail()
{
return $this->email;
}
/**
* Get username
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* Get password
*
* @return string
*/
public function getPassword(): string
{
return $this->password;
}
public function getSalt()
{
// return null beacause we are usin bcrypt
return null;
}
public function getRoles()
{
return array('ROLE_USER');
}
public function eraseCredentials()
{
}
public function isAccountNonExpired()
{
return true;
}
public function isAccountNonLocked()
{
return true;
}
public function isCredentialsNonExpired()
{
return true;
}
public function isEnabled()
{
return $this->enabled;
}
// serialize and unserialize must be updated - see below
public function serialize()
{
return serialize(array(
$this->id,
$this->username,
$this->password,
$this->enabled
));
}
public function unserialize($serialized)
{
list (
$this->id,
$this->username,
$this->password,
$this->enabled
) = unserialize($serialized);
}
// super lame fix
public function getUserType()
{
return 2;
}
/**
* Set firstname
*
* @param string $firstname
* @return User
*/
public function setFirstname($firstname)
{
$this->firstname = $firstname;
return $this;
}
/**
* Get firstname
*
* @return string
*/
public function getFirstname()
{
return $this->firstname;
}
/**
* Set lastname
*
* @param string $lastname
* @return User
*/
public function setLastname($lastname)
{
$this->lastname = $lastname;
return $this;
}
/**
* Get lastname
*
* @return string
*/
public function getLastname()
{
return $this->lastname;
}
/**
* Set email
*
* @param string $email
* @return User
*/
public function setEmail($email)
{
$this->email = $email;
return $this;
}
/**
* Set username
*
* @param string $username
* @return User
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Set password
*
* @param string $password
* @return User
*/
public function setPassword($password)
{
$this->password = $password;
return $this;
}
/**
* Set enabled
*
* @param boolean $enabled
* @return User
*/
public function setEnabled($enabled)
{
$this->enabled = $enabled;
return $this;
}
/**
* Get enabled
*
* @return boolean
*/
public function getEnabled()
{
return $this->enabled;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set is_admin
*
* @param string $isAdmin
* @return User
*/
public function setIsAdmin($isAdmin)
{
$this->is_admin = $isAdmin;
return $this;
}
/**
* Get is_admin
*
* @return string
*/
public function getIsAdmin()
{
return $this->is_admin;
}
/**
* Set photo
*
* @param string $photo
* @return User
*/
public function setPhoto($photo)
{
$this->photo = $photo;
return $this;
}
/**
* Set telephone1
*
* @param string $telephone1
* @return User
*/
public function setTelephone1($telephone1)
{
$this->telephone1 = $telephone1;
return $this;
}
/**
* Get telephone1
*
* @return string
*/
public function getTelephone1()
{
return $this->telephone1;
}
/**
* Set telephone2
*
* @param string $telephone2
* @return User
*/
public function setTelephone2($telephone2)
{
$this->telephone2 = $telephone2;
return $this;
}
/**
* Get telephone2
*
* @return string
*/
public function getTelephone2()
{
return $this->telephone2;
}
/**
* Set last_login
*
* @param datetime $last_login
* @return User
*/
public function setLastLogin($last_login)
{
$this->last_login = $last_login;
return $this;
}
/**
* Get last_login
*
* @return datetime
*/
public function getLastLogin()
{
return $this->last_login;
}
/**
* Constructor
*/
public function __construct()
{
}
}