*/
protected $active;
+ /**
+ * @var bool
+ */
+ protected $disabled;
+
/**
* @var \DateTime
*/
protected $civility;
/**
- * @var \Doctrine\Common\Collections\Collection
+ * @var \Doctrine\Common\Collections\ArrayCollection
*/
protected $groups;
*/
public function __construct() {
$this->active = false;
+ $this->disabled = false;
$this->groups = new ArrayCollection();
}
*
* @return integer
*/
- public function getId() {
+ public function getId(): int {
return $this->id;
}
*
* @return User
*/
- public function setMail($mail) {
+ public function setMail(string $mail) {
$this->mail = $mail;
return $this;
*
* @return string
*/
- public function getMail() {
+ public function getMail(): ?string {
return $this->mail;
}
*
* @return User
*/
- public function setPseudonym($pseudonym) {
+ public function setPseudonym(string $pseudonym) {
$this->pseudonym = $pseudonym;
return $this;
*
* @return string
*/
- public function getPseudonym() {
+ public function getPseudonym(): ?string {
return $this->pseudonym;
}
*
* @return User
*/
- public function setForename($forename) {
+ public function setForename(string $forename) {
$this->forename = $forename;
return $this;
*
* @return string
*/
- public function getForename() {
+ public function getForename(): ?string {
return $this->forename;
}
*
* @return User
*/
- public function setSurname($surname) {
+ public function setSurname(string $surname) {
$this->surname = $surname;
return $this;
*
* @return string
*/
- public function getSurname() {
+ public function getSurname(): ?string {
return $this->surname;
}
*
* @return User
*/
- public function setPassword($password) {
+ public function setPassword(string $password) {
$this->password = $password;
return $this;
*
* @return string
*/
- public function getPassword() {
+ public function getPassword(): ?string {
return $this->password;
}
*
* @return User
*/
- public function setActive($active) {
+ public function setActive(bool $active) {
$this->active = $active;
return $this;
*
* @return bool
*/
- public function getActive() {
+ public function getActive(): bool {
return $this->active;
}
+ /**
+ * Set disabled
+ *
+ * @param bool $disabled
+ *
+ * @return User
+ */
+ public function setDisabled(bool $disabled) {
+ $this->disabled = $disabled;
+
+ return $this;
+ }
+
+ /**
+ * Get disabled
+ *
+ * @return bool
+ */
+ public function getDisabled(): bool {
+ return $this->disabled;
+ }
+
/**
* Set created
*
*
* @return User
*/
- public function setCreated($created) {
+ public function setCreated(\DateTime $created) {
$this->created = $created;
return $this;
*
* @return \DateTime
*/
- public function getCreated() {
+ public function getCreated(): \DateTime {
return $this->created;
}
*
* @return User
*/
- public function setUpdated($updated) {
+ public function setUpdated(\DateTime $updated) {
$this->updated = $updated;
return $this;
*
* @return \DateTime
*/
- public function getUpdated() {
+ public function getUpdated(): \DateTime {
return $this->updated;
}
/**
* Get civility
*/
- public function getCivility(): Civility {
+ public function getCivility(): ?Civility {
return $this->civility;
}
/**
* Get groups
*
- * @return \Doctrine\Common\Collections\Collection
+ * @return \Doctrine\Common\Collections\ArrayCollection
*/
- public function getGroups() {
+ public function getGroups(): ArrayCollection {
return $this->groups;
}
/**
* {@inheritdoc}
*/
- public function getRoles() {
+ public function getRoles(): array {
//Get the unique roles list by id
return array_unique(array_reduce(
//Cast groups as array
/**
* {@inheritdoc}
*/
- public function getRole() {
+ public function getRole(): ?string {
//Retrieve roles
$roles = $this->getRoles();
/**
* {@inheritdoc}
*/
- public function getSalt() {
+ public function getSalt(): ?string {
//No salt required with bcrypt
return null;
}
/**
* {@inheritdoc}
*/
- public function getUsername() {
+ public function getUsername(): string {
return $this->mail;
}
/**
* {@inheritdoc}
*/
- public function eraseCredentials() {}
+ public function eraseCredentials(): void {}
public function serialize(): string {
return serialize([
$this->mail,
$this->password,
$this->active,
+ $this->disabled,
$this->created,
$this->updated
]);
$this->mail,
$this->password,
$this->active,
+ $this->disabled,
$this->created,
$this->updated
) = unserialize($serialized);
}
- //XXX: was from vendor/symfony/security-core/User/AdvancedUserInterface.php, see if it's used anymore
- public function isEnabled() {
+ /**
+ * Check if account is activated
+ *
+ * It was from deprecated AdvancedUserInterface, see if it's used anymore
+ *
+ * @see vendor/symfony/security-core/User/AdvancedUserInterface.php
+ */
+ public function isActivated(): bool {
return $this->active;
}
+ /**
+ * Check if account is disabled
+ *
+ * It was from deprecated AdvancedUserInterface, see if it's used anymore
+ *
+ * @see vendor/symfony/security-core/User/AdvancedUserInterface.php
+ */
+ public function isDisabled(): bool {
+ return $this->disabled;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function preUpdate(\Doctrine\ORM\Event\PreUpdateEventArgs $eventArgs) {
+ //Check that we have an user instance
+ if (($user = $eventArgs->getEntity()) instanceof User) {
+ //Set updated value
+ $user->setUpdated(new \DateTime('now'));
+ }
+ }
+
/**
* Returns a string representation of the user
*