Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
trash
/
vhost_www.bachtale.com_1719306535
/
htdocs
/
src
/
Entity
/
/srv/data/trash/vhost_www.bachtale.com_1719306535/htdocs/src/Entity/User.php
<?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; /** * @ORM\Entity(repositoryClass="App\Repository\UserRepository") * @UniqueEntity( * fields = {"email"}, * message = "L'email que vous avez indiqué est déjà utilisé !" * ) */ class User implements UserInterface { const LENGTH_PASSWORD = 8; /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) * @Assert\NotBlank(message="Le champ ne peut pas être vide!") * @Assert\Email */ private $email; /** * @ORM\Column(type="string", length=255) */ private $username; /** * @ORM\Column(type="string", length=255) */ private $password; private $confirm_password; /** * @ORM\Column(name="roles", type="array") */ private $roles = []; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @ORM\Column(type="datetime", nullable=true) * @var \DateTime */ private $passwordRequestedAt; /** * @var string * * @ORM\Column(type="string", length=255, nullable=true) */ private $token; /** * @var string * * @ORM\Column(type="string", length=255, nullable=true) */ private $firstname; /** * @var string * * @ORM\Column(type="string", length=255, nullable=true) */ private $lastname; /** * @ORM\Column(type="datetime", nullable=true) * @var \DateTime */ private $lastLogin; /** * @ORM\Column(name="is_active", type="boolean") */ private $isActive; public function __construct() { $this->isActive = true; $this->createdAt = new \DateTime(); $this->roles = ['ROLE_USER']; } public function getId(): ?int { return $this->id; } public function getEmail(): ?string { return $this->email; } public function setEmail(string $email): self { $this->email = $email; return $this; } public function getUsername(): ?string { return $this->username; } public function setUsername(string $username): self { $this->username = $username; return $this; } public function getFirstname(): ?string { return $this->firstname; } public function setFirstname(string $firstname): self { $this->firstname = $firstname; return $this; } public function getLastname(): ?string { return $this->lastname; } public function setLastname(string $lastname): self { $this->lastname = $lastname; return $this; } public function getPassword(): ?string { return $this->password; } public function setPassword(string $password): self { $this->password = $password; return $this; } public function getConfirmPassword(): ?string { return $this->confirm_password; } public function setConfirmPassword(string $confirm_password): self { $this->confirm_password = $confirm_password; return $this; } public function eraseCredentials() {} public function getSalt() {} public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; } public function setCreatedAt(\DateTimeInterface $createdAt): self { $this->createdAt = $createdAt; return $this; } public function getLastLogin(): ?\DateTimeInterface { return $this->lastLogin; } public function setLastLogin(\DateTimeInterface $lastLogin): self { $this->lastLogin = $lastLogin; return $this; } /* * Get getIsActive */ function getIsActive() { return $this->isActive; } /* * Set setIsActive */ function setIsActive($isActive) { $this->isActive = $isActive; return $this; } /** * Retourne les rôles de l'utilisateur * Get getRoles */ public function getRoles() { $roles = $this->roles; // Afin d'être sûr qu'un user a toujours au moins 1 rôle if (empty($roles)) { $roles[] = 'ROLE_USER'; } return array_unique($roles); } /* * Set setRoles */ public function setRoles(array $roles) { if (!in_array('ROLE_USER', $roles)) { $roles[] = 'ROLE_USER'; } foreach ($roles as $role) { if(substr($role, 0, 5) !== 'ROLE_') { throw new InvalidArgumentException("Chaque rôle doit commencer par 'ROLE_'"); } if($role === 'ROLE_SUPER_ADMIN'){ if (!in_array('ROLE_ADMIN', $roles)) { $roles[] = 'ROLE_ADMIN'; } } } $this->roles = $roles; return $this; } /* * Get passwordRequestedAt */ public function getPasswordRequestedAt() { return $this->passwordRequestedAt; } /* * Set passwordRequestedAt */ public function setPasswordRequestedAt($passwordRequestedAt) { $this->passwordRequestedAt = $passwordRequestedAt; return $this; } /* * Get token */ public function getToken() { return $this->token; } /* * Set token */ public function setToken($token) { $this->token = $token; return $this; } public function serialize() { return serialize([ $this->id, $this->username, $this->email, $this->password, $this->isActive ]); } public function unserialize($serialized) { list( $this->id, $this->username, $this->email, $this->password, $this->isActive ) = unserialize($serialized, ['allowed_classes' => false]); } public function isGranted($role) { return in_array($role, $this->getRoles()); } }