function lauchScript2() { $managers = new Managers('pdo', PDOFactory::getMysqlConnexion()); $reservationManager = $managers->getManagerOf('announcementreservations'); $feedbacksManager = $managers->getManagerOf('feedbacks'); $feedbackRequestsManager = $managers->getManagerOf('feedbackrequests'); $contactsManager = $managers->getManagerOf('contacts'); $contactRequestsManager = $managers->getManagerOf('contactrequests'); $usersManager = $managers->getManagerOf('users'); $listOfPassedReservation = $reservationManager->getListOfPassedValidated(); $messageMail = new Mail(); foreach ($listOfPassedReservation as $reservation) { $listOfFeddbackRequest = $feedbackRequestsManager->getByReservationId($reservation->id()); $listOfFeddback = $feedbacksManager->getByReservationId($reservation->id()); if (count($listOfFeddback) + count($listOfFeddbackRequest) == 0) { $feedbackRequest = new FeedbackRequest(); $feedbackRequest->setAnnounceId($reservation->getAnnouncementId()); $feedbackRequest->setReservationId($reservation->id()); $feedbackRequest->setUserOwnerId($reservation->getUserOwnerId()); $feedbackRequest->setUserSubscriberId($reservation->getUserSubscriberId()); //ENVOI POUR LE PRETEUR $feedbackRequest->setId(null); $feedbackRequest->setUserAuthorId($feedbackRequest->getUserOwnerId()); $feedbackRequestsManager->save($feedbackRequest); //Envoyer un mail pour le preteur ICI $messageMail->sendFeedbackRequest($usersManager->get($feedbackRequest->getUserOwnerId()), $usersManager->get($feedbackRequest->getUserSubscriberId())); //ENVOI POUR L'EMPRUNTEUR $feedbackRequest->setId(null); $feedbackRequest->setUserAuthorId($feedbackRequest->getUserSubscriberId()); $feedbackRequestsManager->save($feedbackRequest); //Envoyer un mail pour l'emprunteur ICI $messageMail->sendFeedbackRequest($usersManager->get($feedbackRequest->getUserSubscriberId()), $usersManager->get($feedbackRequest->getUserOwnerId())); //On effectue la création d'un ajout de contact s'ils ne le sont pas déjà ou qu'aucune demande n'est en attente $contactRequest = new ContactRequest(); $contactRequest->setContactGroupId(ContactGroups::TIPPEURS); $contactRequest->setUserIdFrom($reservation->getUserSubscriberId()); $contactRequest->setUserIdTo($reservation->getUserOwnerId()); if (!$contactRequestsManager->isContactRequestExist($contactRequest) && !$contactsManager->isContactExistById($contactRequest->getUserIdFrom(), $contactRequest->getUserIdTo())) { $contactRequestsManager->save($contactRequest); $userFrom = $usersManager->get($contactRequest->getUserIdFrom()); $userTo = $usersManager->get($contactRequest->getUserIdTo()); $messageMail->sendContactRequest($userFrom, $userTo); } } } }
public function executeAdd(HTTPRequest $request) { $userId = htmlspecialchars($request->getData('userId')); $user = $this->_usersManager->get($userId); $this->page->smarty()->assign('user', $user); if ($request->postExists('contact-group')) { $contactRequest = new ContactRequest(); $contactRequest->setUserIdFrom($this->_user->id()); $contactRequest->setUserIdTo(htmlspecialchars($request->postData('user-id-to'))); $contactRequest->setContactGroupId(htmlspecialchars($request->postData('contact-group'))); $this->_contactRequestsManager->save($contactRequest); //TODO envoyer un mail $userFrom = $this->_usersManager->get($contactRequest->getUserIdFrom()); $userTo = $this->_usersManager->get($contactRequest->getUserIdTo()); $messageMail = new Mail(); $messageMail->sendContactRequest($userFrom, $userTo); $this->app->user()->setFlash('contact-request-sent'); $this->app->httpResponse()->redirect('/contacts'); } }
private function assignVars(Users $user) { $isContactRequestExist = false; $isContactExist = false; if (!is_null($this->_user)) { $contactRequest = new ContactRequest(); $contact = new Contact(); $contactRequest->setUserIdFrom($this->_user->id()); $contactRequest->setUserIdTo($user->id()); $isContactRequestExist = $this->_contactRequestsManager->isContactRequestExist($contactRequest); $contact->setUserId1($this->_user->id()); $contact->setUserId2($user->id()); $isContactExist = $this->_contactsManager->isContactExist($contact); } $this->page->smarty()->assign('isContactRequestExist', $isContactRequestExist); $this->page->smarty()->assign('isContactExist', $isContactExist); }