groups = new ArrayCollection(); $this->surveys = new ArrayCollection(); $this->guests = new ArrayCollection(); } public function getUsername(): ?string { return $this->username; } public function getSalt(): ?string { return $this->salt; } public function setPassword($password): self { if($password!=$this->password&&$password!=""&&!is_null($password)){ $this->salt = uniqid(mt_rand(), true); $hash = "{SSHA}" . base64_encode(pack("H*", sha1($password . $this->salt)) . $this->salt); $this->password = $hash; } return $this; } public function getPassword(): ?string { return $this->password; } public function getRoles(): ?array { return $this->roles; } public function hasRole(string $role): ?bool { return in_array($role,$this->roles); } public function eraseCredentials() { } public function serialize() { return serialize(array( $this->id, $this->username, $this->password, $this->salt, )); } public function unserialize($serialized) { list ( $this->id, $this->username, $this->password, $this->salt ) = unserialize($serialized, array('allowed_classes' => false)); } public function getDisplayname() { return $this->firstname." ".$this->lastname; } public function setId(int $id): self { $this->id = $id; return $this; } public function getId(): ?int { return $this->id; } public function setUsername(string $username): self { $this->username = $username; return $this; } public function setRoles(array $roles): self { $this->roles = $roles; return $this; } public function setSalt(string $salt): self { $this->salt = $salt; 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 getAvatar(): ?string { if($this->avatar) return $this->avatar; else return "noavatar.png"; } public function setAvatar(?string $avatar): self { $this->avatar = $avatar; return $this; } public function getEmail(): ?string { return $this->email; } public function setEmail(string $email): self { $this->email = $email; return $this; } public function getApikey(): ?string { return $this->apikey; } public function setApikey(?string $apikey): self { $this->apikey = $apikey; return $this; } /** * @return Collection|Group[] */ public function getGroups(): Collection { return $this->groups; } public function addGroup(Group $group): self { if (!$this->groups->contains($group)) { $this->groups[] = $group; } return $this; } public function removeGroup(Group $group): self { if ($this->groups->contains($group)) { $this->groups->removeElement($group); } return $this; } /** * @return Collection|Survey[] */ public function getSurveys(): Collection { return $this->surveys; } public function addSurvey(Survey $survey): self { if (!$this->surveys->contains($survey)) { $this->surveys[] = $survey; $survey->setAuthor($this); } return $this; } public function removeSurvey(Survey $survey): self { if ($this->surveys->contains($survey)) { $this->surveys->removeElement($survey); // set the owning side to null (unless already changed) if ($survey->getAuthor() === $this) { $survey->setAuthor(null); } } return $this; } /** * @return Collection|Guest[] */ public function getGuests(): Collection { return $this->guests; } public function addGuest(Guest $guest): self { if (!$this->guests->contains($guest)) { $this->guests[] = $guest; $guest->setUser($this); } return $this; } public function removeGuest(Guest $guest): self { if ($this->guests->removeElement($guest)) { // set the owning side to null (unless already changed) if ($guest->getUser() === $this) { $guest->setUser(null); } } return $this; } }