コード例 #1
0
 public function handleSave(Form $form)
 {
     $values = $form->values;
     if ($values['file']->isOk()) {
         if ($values['cleanout']) {
             foreach ($this->userRepository->findAll() as $user) {
                 $this->userRepository->delete($user);
             }
         }
         /** @var FileUpload $file */
         $file = $values['file'];
         $data = file_get_contents($file->getTemporaryFile());
         foreach (explode("\n", $data) as $row) {
             if (!$row) {
                 continue;
             }
             $items = explode(',', $row);
             if (!count($items)) {
                 continue;
             }
             try {
                 $user = new UserEntity(trim($items[0]));
             } catch (InvalidArgumentException $e) {
                 $form->addError($e->getMessage());
             }
             $this->userRepository->save($user);
         }
     }
 }
コード例 #2
0
 public function handleExport()
 {
     $ret = array();
     foreach ($this->repository->findAll() as $user) {
         $ret[] = array($user->email, $user->userKey);
     }
     $out = "";
     foreach ($ret as $arr) {
         $out .= implode(',', $arr) . "\n";
     }
     header('Content-Type: application/csv, utf-8');
     header('Content-Disposition: attachment;filename="users.csv"');
     header('Cache-Control: max-age=0');
     $this->presenter->sendResponse(new TextResponse($out));
 }
コード例 #3
0
 /**
  * @param MessageEntity $messageEntity
  * @return int
  */
 public function sendNewsletter(MessageEntity $messageEntity)
 {
     $newsletter = $messageEntity->newsletter;
     /** @var NewsletterPresenter $presenter */
     $presenter = $this->application->getPresenterFactory()->createPresenter('Vranovsko:Pages:Newsletter:Newsletter');
     $presenter->autoCanonicalize = FALSE;
     /** @var Message $message */
     $message = $this->mailFactory->invoke();
     $message->setSubject($newsletter->getSubject());
     $x = 0;
     foreach ($messageEntity->getAllUsers() ? $this->userRepository->findAll() : $messageEntity->users as $user) {
         $presenter->setMessageUser($user);
         $request = new \Nette\Application\Request('Vranovsko:Pages:Newsletter:Newsletter', 'GET', array('routeId' => $newsletter->route->id));
         $response = $presenter->run($request);
         $html = (string) $response->getSource();
         $userMessage = clone $message;
         $userMessage->addTo($user->email);
         $userMessage->setHtmlBody($html, FALSE);
         $userMessage->send();
         $x++;
     }
     return $x;
 }
コード例 #4
0
ファイル: UserService.php プロジェクト: cobase/cobase
 /**
  * @return array
  */
 public function getUsers()
 {
     return $this->repository->findAll();
 }