/** * @param \Secretary\Entity\Key $key * @param \Secretary\Entity\User $user * @return \Secretary\Entity\Key */ public function saveKey(KeyEntity $key, UserEntity $user, $pubKey) { $key->setPubKey($pubKey); $key->setUserId($user->getId()); $key->setUser($user); $this->em->persist($key); $this->em->flush(); return $key; }
/** * @param Entity\User $user * @param string $groupname * @return Entity\Group */ public function addUserGroup(Entity\User $user, $groupname) { $groupRecord = new Entity\Group(); $groupRecord->setName($groupname)->setOwner($user->getId()); $user->addGroup($groupRecord); $this->em->persist($user); $this->em->flush(); return $groupRecord; }
/** * {@inheritDoc} */ public function getId() { if ($this->__isInitialized__ === false) { return (int) parent::getId(); } $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', array()); return parent::getId(); }
/** * @param array $users * @param Entity\Note $note * @param Entity\User $owner * @param array $encryptData * @return Entity\Note */ public function saveUser2NoteRelations(array $users, Entity\Note $note, Entity\User $owner, array $encryptData) { $i = 0; // Save User2Note entries /** @var Entity\User $user */ foreach ($users as $user) { $ownerCheck = false; if ($owner->getId() == $user->getId()) { $ownerCheck = true; } $user2Note = new Entity\User2Note(); $user2Note->setUser($user)->setUserId($user->getId())->setNote($note)->setNoteId($note->getId())->setEKey($encryptData['ekeys'][$i])->setOwner($ownerCheck)->setReadPermission(true)->setWritePermission($ownerCheck); $note->addUser2Note($user2Note); $this->em->persist($note); $i++; } $this->em->flush(); return $note; }
/** * @param Entity\Note $note * @param array $users * @param Entity\User $owner * @param string $subject * @param string $title * @return void */ protected function sendNoteGroupMail(Entity\Note $note, array $users, Entity\User $owner, $subject, $title) { /** @var Entity\User $user */ foreach ($users as $user) { if ($user->getId() != $owner->getId() && true === $user->getNotifications()) { $this->translator->setLocale($user->getLanguage()); $subject = $this->translator->translate($subject); $content = new ViewModel(); $content->setTemplate('mail/note.phtml')->setVariable('title', $title)->setVariable('note', $note)->setVariable('host', $this->host); $message = $this->SxMail->compose($content); $message->addTo($user->getEmail()); $message->addFrom($this->defaultFrom); $message->setSubject($subject); $this->SxMail->send($message); } } // @todo this will only work, as long owner is the only one with edit permissions $this->translator->setLocale($owner->getLanguage()); return; }