コード例 #1
0
 /**
  * @param Message $message Message
  *
  * @return Response
  *
  * @Method("GET")
  * @Route("message/{id}/delete", name="message_delete", options={"i18n"=false}))
  * @ParamConverter("message", class="AppBundle\Entity\Message")
  */
 public function deleteMessageAction(Message $message)
 {
     $message->setDeleted(true);
     $em = $this->getDoctrine()->getManager();
     $em->flush();
     $count = $this->get('app.user_items_count');
     $count = $count->getCount($this->getUser());
     return $this->render('frontend/user/show_messages.html.twig', ['type' => 'sent', 'count' => $count]);
 }
コード例 #2
0
ファイル: Sender.php プロジェクト: damianz5/ezplatform-demo
 /**
  * Sends e-mail with content based on form settings.
  *
  * @param \AppBundle\Entity\Message $message
  * @param string $title
  * @param string $senderEmail
  * @param string $recipientEmail
  *
  * @return bool
  */
 public function send(Message $message, $title, $senderEmail, $recipientEmail)
 {
     $msg = Swift_Message::newInstance($title, $message->getBody());
     $msg->setFrom($senderEmail)->setTo($recipientEmail)->setReplyTo($recipientEmail);
     if ($this->mailer->send($msg)) {
         return true;
     } else {
         return false;
     }
 }
コード例 #3
0
 /**
  * @Route("/contact",name="contact")
  */
 public function contactAction(Request $request)
 {
     $user = $request->getSession()->get('user');
     $mailTo = $this->createFormBuilder()->setMethod('post')->add('nom', TextType::class, array('label' => 'Nom', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'nom')))->add('prenom', TextType::class, array('label' => 'Prénom', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'prenom')))->add('email', EmailType::class, array('label' => 'Email', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'email')))->add('message', TextareaType::class, array('label' => 'Message', 'required' => true, 'attr' => array('class' => 'form-control', 'id' => 'message')))->add('telephone', TextType::class, array('label' => 'Téléphone', 'required' => false, 'attr' => array('class' => 'form-control', 'id' => 'telephone', 'pattern' => '(0|\\+33|0033)[1-9][0-9]{8}')))->add('type', EntityType::class, array('class' => 'AppBundle:TypeMessage', 'choice_label' => 'libelle', 'attr' => array('class' => 'form-control', 'id' => 'type')))->getForm();
     $mailTo->handleRequest($request);
     if ($mailTo->isSubmitted() && $mailTo->isValid()) {
         $data = $mailTo->getData();
         if (isset($data['telephone'])) {
             $telephone = $data['telephone'];
         } else {
             $telephone = '';
         }
         $message = new Message();
         $message->setMessage($data['message']);
         $message->setNom($data['nom']);
         $message->setPrenom($data['prenom']);
         $message->setTelephone($telephone);
         $message->setEmail($data['email']);
         $message->setIdType($data['type']);
         $message->setDate(new \Datetime());
         $em = $this->getDoctrine()->getManager();
         $em->persist($message);
         $em->flush();
         $this->addFlash('success', 'Votre message a bien été envoyé.');
     } elseif ($mailTo->isSubmitted()) {
         $this->addFlash('warning', 'Votre message n\'a pas pu être enregistré.');
     }
     // replace this example code with whatever you need
     return $this->render('@App/front/contact.html.twig', array('base_dir' => realpath($this->container->getParameter('kernel.root_dir') . '/..'), 'nav_active' => 'contact', 'user' => $user, 'mailTo' => $mailTo->createView()));
 }
コード例 #4
0
 public function load(\Doctrine\Common\Persistence\ObjectManager $manager)
 {
     $faker = \Faker\Factory::create();
     for ($j = 1; $j <= self::NUMBER; $j++) {
         $message = new Message();
         $message->setMessage($faker->sentence());
         $message->setPlayer($this->getReference('player' . rand(1, 10)));
         $manager->persist($message);
     }
     $manager->flush();
 }
コード例 #5
0
ファイル: ContactController.php プロジェクト: jmiridis/atc
 /**
  * Displays a form to create a new Message entity.
  *
  * @Route("", name="contact_index")
  * @Method("GET")
  */
 public function newAction()
 {
     $message = new Message();
     if (null !== ($clientId = $this->get('session')->get('client-id'))) {
         if (null !== ($client = $this->getDoctrine()->getRepository('AppBundle:Client')->find($clientId))) {
             $message->setClient($client);
         }
     }
     $form = $this->createCreateForm($message);
     return $this->render(':Contact:index.html.twig', array('message' => $message, 'form' => $form->createView()));
 }
コード例 #6
0
ファイル: MessageController.php プロジェクト: karion/wf-api
 /**
  * @ParamConverter("user", class="AppBundle:User")
  */
 public function postAction(User $user, Request $request)
 {
     $message = new Message();
     $message->setSender($user);
     $form = $this->createForm(new MessageType(), $message);
     $form->submit($request->request->all());
     if (!$form->isValid()) {
         return new Response('Data is not valid', Response::HTTP_BAD_REQUEST);
     }
     $entityManager = $this->getDoctrine()->getManager();
     $entityManager->persist($message);
     $entityManager->flush();
     return new RedirectResponse($this->generateUrl('converstion_show', array('mainUserId' => $message->getSender()->getId(), 'secendaryUserId' => $message->getReceiver()->getId())), Response::HTTP_CREATED);
 }
コード例 #7
0
 /**
  * add message for project
  *
  * @param $project_id
  * @return Response
  */
 public function addAction($project_id)
 {
     $em = $this->getDoctrine()->getEntityManager();
     $message = new Message();
     $message->setMessage("pollas para todos");
     $message->setCreatedAt(new \DateTime());
     $message->setUpdatedAt(new \DateTime());
     $em->persist($message);
     $em->flush();
     $form = $this->createForm(new MessageType($this->generateUrl('message_create', array('project_id' => $project_id))));
     $project = $this->getDoctrine()->getRepository('AppBundle:Project')->findOneById($project_id);
     if (!$project) {
         throw new NotFoundHttpException('Project not found');
     }
     return $this->render('AppBundle:Message:add.html.twig', array('form' => $form->createView(), 'project' => $project));
 }
コード例 #8
0
 /**
  * User registration page
  *
  * @Route("/register", name="register")
  *
  * @param Request $request
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function registerAction(Request $request)
 {
     $user = new User();
     $form = $this->createForm(new UserType(), $user, array('action' => $this->generateUrl('register'), 'method' => 'POST'));
     $form->add('submit', 'submit', array('label' => 'Register'));
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $congrats = new Message();
         $congrats->setContent('Приветствуем нового пользователя ' . $user->getUsername());
         $em->persist($user);
         $em->persist($congrats);
         $em->flush();
         return $this->redirectToRoute('guestbook');
     }
     return $this->render('AppBundle::register.html.twig', array('form' => $form->createView()));
 }
コード例 #9
0
 public function createAutoMessageForRequisiteHistorical($requisiteHistorical, $user, $msgtext, $messageState)
 {
     $message = new Message();
     $message->setMessage($msgtext);
     $message->setType($messageState);
     $message->setCreatedAt(new \DateTime());
     $message->setUpdatedAt(new \DateTime());
     $message->setRequisiteHistorical($requisiteHistorical);
     $message->setUser($user);
     $this->entityManager->persist($message);
     $this->entityManager->flush();
 }
コード例 #10
0
 /**
  * Test an empty Message entity
  */
 public function testEmptyMessage()
 {
     $message = new Message();
     $this->assertNull($message->getId());
     $this->assertNull($message->getContent());
     $this->assertTrue($message->isActive());
     $this->assertNull($message->getSender());
     $this->assertNull($message->getReceiver());
     $this->assertFalse($message->isDeleted());
 }
コード例 #11
0
 public function saveObjects($data, $manager)
 {
     // type object
     $object = new Message();
     // fields object
     $object->setMessage($data['message']);
     $object->setCreatedAt($data['created_at']);
     $object->setUpdatedAt($data['created_at']);
     $object->setUser($this->getReference($data['ref-user']));
     $object->setType($this->getReference($data['ref-type']));
     // refs
     $object->setProject($this->getReference($data['ref-project']));
     // persist
     $manager->persist($object);
     $manager->flush();
 }
コード例 #12
0
 /**
  * @Route("/addMess/{from}/{to}/{mes}")
  */
 public function addAction($from, $to, $mes)
 {
     $message = new Message();
     $message->setFromId($from);
     $message->setToId($to);
     $message->setMessage($mes);
     $message->setStatus(0);
     $message->setDateTime(new \DateTime("now"));
     $date = new \DateTime("now");
     $date->format('Y-m-d h-m-s');
     print_r($date);
     $mrepo = $this->getDoctrine()->getManager();
     $mrepo->persist($message);
     $mrepo->flush();
     return new Response();
 }
コード例 #13
0
 /**
  * @Route("/user/challenge/{slug}", name="challenge", requirements={"slug": "\d+"})
  */
 public function challengeAction(Request $request, $slug)
 {
     $player = $this->getDoctrine()->getRepository('AppBundle:User')->find($slug);
     $lostMatches = $this->getDoctrine()->getRepository('AppBundle:User')->getLostMatches($slug);
     $wonMatches = $this->getDoctrine()->getRepository('AppBundle:User')->getWonMatches($slug);
     $challenge = new Challenge();
     $message = new Message();
     $user = $this->getUser();
     $tokenStorage = $this->container->get('security.token_storage');
     $form = $this->createForm(new ChallengeType($tokenStorage), $challenge);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $challenge->setPlayer1($user->getId());
         $challenge->setPlayer2($request->get('player2'));
         $challenge->setPublishedDate(new \DateTime('now'));
         $challenge->setClub($data->getClub()->getId());
         $message->setSenderId($user->getId());
         $message->setReceiverId($request->get('player2'));
         $message->setStatus(0);
         $message->setMessage($data->getMessage());
         $message->setDate(new \DateTime('now'));
         try {
             //Saving Challenge in the DataBase
             $em = $this->getDoctrine()->getManager();
             $em->persist($challenge);
             $em->flush();
             $message->setType($challenge->getId());
             $em->persist($message);
             $em->flush();
             $this->addFlash('notice', 'Your request was sent correctly.');
             return $this->render('user/challenge_notification.html.twig', array('icon' => "fa fa-check fa-2x", 'class' => "text-success"));
         } catch (Exception $e) {
             $this->addFlash('error', 'Something went wrong!');
             return $this->render('user/challenge_notification.html.twig', array('icon' => "fa fa-exclamation-circle fa-2x", 'class' => "text-danger"));
         }
     }
     return $this->render('user/user_challenge.html.twig', array('form' => $form->createView(), 'slug' => $slug, 'player' => $player, 'won' => $wonMatches, 'lost' => $lostMatches));
 }
コード例 #14
0
 /**
  *
  * @Route("/msg", name="api.post.msg")
  * @Method("POST")
  */
 public function postMsgAction(Request $request)
 {
     $user = $this->getUser();
     if (empty($user) || !$user instanceof User) {
         return $this->createResponse([self::KEY_STATUS => self::STATUS_ERROR, self::KEY_MESSAGE => 'Not logged in']);
     }
     $data = $this->getDataFromRequest($request);
     $msg = $data['message'];
     if (empty($msg)) {
         return $this->createResponse([self::KEY_STATUS => self::STATUS_ERROR, self::KEY_MESSAGE => 'NO message provided']);
     }
     $lat = $data['lat'];
     $lng = $data['lng'];
     if (empty($lat) || empty($lng)) {
         return $this->createResponse([self::KEY_STATUS => self::STATUS_ERROR, self::KEY_MESSAGE => 'Incorrect geolocation info.']);
     }
     /** @var Game $game */
     $game = $this->getDoctrine()->getManager()->getRepository('AppBundle:Player')->find(1);
     /** @var Player $player */
     $player = $this->getDoctrine()->getManager()->getRepository('AppBundle:Player')->findOneBy(['user' => $user]);
     $teamMembers = $player->getTeam()->getPlayers();
     $ids = [];
     /** @var Player $teamMember */
     foreach ($teamMembers as $teamMember) {
         //            if ($teamMember->getUser() != $this->getUser()) {
         $id = $teamMember->getUser()->getGcmRegistrationId();
         if (!empty($id)) {
             $ids[] = $id;
         }
         //            }
     }
     $message = new Message();
     $message->setMessage($msg);
     $message->setPlayer($player);
     $message->setLat($lat);
     $message->setLng($lng);
     $this->getDoctrine()->getManager()->persist($message);
     $this->getDoctrine()->getManager()->flush();
     /** @var GcmService $gcmService */
     $gcmService = $this->get('gcm_service');
     $result = $gcmService->sendNotification($ids, ['message' => $msg, 'fromPlayer' => $player, 'team' => $teamMember, 'lat' => $lat, 'lng' => $lng]);
     file_put_contents(__DIR__ . '/../../app/logs/gcm.log', is_array($result) ? json_encode($result) : $result);
     return $this->createResponse([self::KEY_STATUS => self::STATUS_OK, self::KEY_MESSAGE => 'Message sent']);
 }
コード例 #15
0
ファイル: Auction.php プロジェクト: stachura93/OtoGielda
 /**
  * Add message
  *
  * @param \AppBundle\Entity\Message $message
  *
  * @return Auction
  */
 public function addMessage(\AppBundle\Entity\Message $message)
 {
     $this->message[] = $message;
     $message->setAuction($this);
     return $this;
 }
コード例 #16
0
ファイル: LoadData.php プロジェクト: jmiridis/atc
 /**
  * @param ObjectManager $manager
  * @throws \Doctrine\DBAL\DBALException
  */
 protected function loadMessages(ObjectManager $manager)
 {
     echo "\nMessages ... ";
     $stmt = $this->connection->executeQuery('SELECT * FROM message');
     foreach ($stmt->fetchAll() as $record) {
         $message = new Message();
         if ($record['client_id']) {
             $message->setClient($this->getReference('client-' . $record['client_id']));
         }
         $message->setEmailAddress($record['client_id'] ? $record['client_id'] : '');
         $message->setMessage($record['message']);
         $message->setCreated(\DateTime::createFromFormat('Y-m-d H:i:s', preg_replace('/\\.[0-9]+$/', '', $record['created_at'])));
         $message->setUpdated(\DateTime::createFromFormat('Y-m-d H:i:s', preg_replace('/\\.[0-9]+$/', '', $record['updated_at'])));
         $manager->persist($message);
     }
 }
コード例 #17
0
 /**
  * Save in database the Message entity representation of a MessageInterface instance.
  *
  * @param MessageInterface $message
  */
 public function save(MessageInterface $message)
 {
     $entity = new Message();
     $entity->setContent($message->getContent());
     $entity->setDate($message->getDate());
     $entity->setUser($this->getUserEntity($message->getUser()));
     $entity->setType($message->getType());
     try {
         $this->em->persist($entity);
         $this->em->flush();
     } catch (\Exception $e) {
         echo $e->getMessage();
     }
 }
コード例 #18
0
 /**
  * Displays a form to create a new Message entity.
  *
  * @Route("/message/new/{userRecipient}-{auction}", name="message_new")
  * @Route("/message/new/{userRecipient}-{auction}/{subject}", name="message_new_subject")
  * @Method("GET")
  * @Template()
  */
 public function newAction($userRecipient, $auction, $subject = null)
 {
     $user = $this->get('security.token_storage')->getToken()->getUser();
     $entity = new Message();
     $entity->setSubject($subject);
     $entity->setUserSender($user);
     $em = $this->getDoctrine()->getManager();
     $userRecipient = $em->getRepository('ApplicationSonataUserBundle:User')->findOneBy(array('username' => $userRecipient));
     $auction = $em->getRepository('AppBundle:Auction')->findOneBy(array('id' => $auction));
     $entity->setUserRecipient($userRecipient);
     $entity->setAuction($auction);
     $auction->addMessage($entity);
     $form = $this->createCreateForm($entity);
     return array('entity' => $entity, 'form' => $form->createView());
 }
コード例 #19
0
 private function updateMessageRead(Message $message, User $receiver)
 {
     $em = $this->getDoctrine()->getManager();
     $userMessageRepository = $em->getRepository('AppBundle:UserMessage');
     $userMessage = $userMessageRepository->findOneBy(array('receiver' => $receiver->getId(), 'message' => $message->getId()));
     if (isset($userMessage)) {
         $unreadMessageId = -1;
         if ($userMessage->getDeliveredTimestamp() == null) {
             $userMessage->setDeliveredTimestamp((new DateTime())->setTimezone(new \DateTimeZone('UTC')));
         }
         $userMessage->setReadByReceiver(true);
         if ($userMessage->getReadTimestamp() == null) {
             $userMessage->setReadTimestamp((new DateTime())->setTimezone(new \DateTimeZone('UTC')));
             $unreadMessageId = $userMessage->getMessage()->getId();
         }
         $em->persist($userMessage);
         $em->flush();
         return $unreadMessageId;
     }
     return -1;
 }