public function submitRecommandAction() { try { $globalContext = new \Sb\Context\Model\Context(); $user = $globalContext->getConnectedUser(); // Getting params $id = $this->getParam("id"); $title = $this->getParam("title"); $message = $this->getParam("message"); $IdAddressee = $this->getParam("IdAddressee"); // Getting book $book = $this->getBook($id); if (!empty($title) && !empty($message) && !empty($IdAddressee)) { $titleVal = trim($title); $messageVal = trim($message); $recipients = $IdAddressee; $recipientsIds = explode(",", $recipients); foreach ($recipientsIds as $recipientId) { if (trim($recipientId) != "") { $recipient = UserDao::getInstance()->get($recipientId); if ($recipient) { // adding message in db $message = new Message(); $message->setSender($user); $message->setRecipient($recipient); $message->setIs_read(false); $message->setTitle($titleVal); $message->setMessage($messageVal); MessageDao::getInstance()->add($message); // Sending email if user authorized it $userSetting = $recipient->getSetting(); if ($userSetting->getEmailMe() == 'Yes') { $body = MailHelper::newMessageArrivedBody($user->getUserName()); MailSvc::getInstance()->send($recipient->getEmail(), sprintf(__("%s vous recommande %s ", "s1b"), $user->getUserName(), $book->getTitle()), $body); } } } } Flash::addItem(__("Message envoyé.", "s1b")); HTTPHelper::redirect(Urls::USER_HOME); } else { Flash::addItem(__("Au moins l'un des champs n'est pas rempli", "s1b")); HTTPHelper::redirect(Urls::USER_MAILBOX_RECOMMAND, array("message" => $message, "id" => $id)); } } catch (\Exception $e) { Trace::addItem(sprintf("Une erreur s'est produite dans \"%s->%s\", TRACE : %s\"", get_class(), __FUNCTION__, $e->getTraceAsString())); $this->forward("error", "error", "default"); } }
public function replyAction() { return; try { $globalContext = new \Sb\Context\Model\Context(); $messageId = ArrayHelper::getSafeFromArray($_GET, 'mid', null); $redirect = false; if ($messageId) { $message = MessageDao::getInstance()->get($messageId); $this->view->message = $message; if ($message->getRecipient()->getId() != $globalContext->getConnectedUser()->getId()) { Flash::addItem(__("Vous ne pouvez pas répondre à ce message car il ne vous est pas destiné.", "s1b")); $redirect = true; } } else { Flash::addItem(__("Le message auquel vous tentez de répondre n'existe pas.", "s1b")); $redirect = true; } if ($_POST) { $title = htmlspecialchars($_POST['Title']); $messageContent = htmlspecialchars($_POST['Message']); /* test if form is not empty */ if (!empty($title) && !empty($messageContent)) { // create new message in db $reply = new Message(); $reply->setRecipient($message->getSender()); $replySender = $globalContext->getConnectedUser(); $reply->setSender($replySender); $reply->setDate(new \DateTime()); $reply->setTitle($title); $reply->setMessage($messageContent); $reply->setIs_read(false); MessageDao::getInstance()->add($reply); if ($message->getSender()->getSetting()->getEmailMe() == 'Yes') { // send a email to warn the origianl sender of the email $body = MailHelper::newMessageArrivedBody($replySender->getUserName()); MailSvc::getInstance()->send($message->getSender()->getEmail(), sprintf(__("Un message vous a été envoyé depuis le site %s", "s1b"), Constants::SITENAME), $body); } Flash::addItem(__("Message envoyé.", "s1b")); $redirect = true; } else { Flash::addItem(__("Vous devez renseigné le titre et le contenu du message.", "s1b")); } } if ($redirect) { HTTPHelper::redirect(Urls::USER_MAILBOX); } } catch (\Exception $e) { Trace::addItem(sprintf("Une erreur s'est produite dans \"%s->%s\", TRACE : %s\"", get_class(), __FUNCTION__, $e->getTraceAsString())); $this->forward("error", "error", "default"); } }
public function requestAction() { try { $globalContext = new \Sb\Context\Model\Context(); $user = $globalContext->getConnectedUser(); $requestFriendId = ArrayHelper::getSafeFromArray($_GET, 'fid', null); if ($requestFriendId) { // testing if a request to that user has been done or if the requested user is already a friend $userFriendShips = $user->getFriendships_as_source(); if ($userFriendShips && count($userFriendShips)) { foreach ($userFriendShips as $userFriendShip) { if ($userFriendShip->getUser_target()->getId() == $requestFriendId && $userFriendShip->getAccepted()) { Flash::addItem(__("Vous êtes déja ami avec cet utilisateur.", "s1b")); HTTPHelper::redirectToReferer(); } if ($userFriendShip->getUser_target()->getId() == $requestFriendId && !$userFriendShip->getValidated()) { Flash::addItem(__("Une demande a déjà été transmise à cet utilisateur.", "s1b")); HTTPHelper::redirectToReferer(); } } } // testing the accepted or pending frienship that the requested user has initiated $requestedUser = UserDao::getInstance()->get($requestFriendId); $requestedUserFriendShips = $requestedUser->getFriendships_as_source(); $connectedUserId = $user->getId(); if ($requestedUserFriendShips && count($requestedUserFriendShips)) { foreach ($requestedUserFriendShips as $requestedUserFriendShip) { if ($requestedUserFriendShip->getUser_target()->getId() == $connectedUserId && $requestedUserFriendShip->getAccepted()) { Flash::addItem(__("Vous êtes déja ami avec cet utilisateur.", "s1b")); HTTPHelper::redirectToReferer(); } if ($requestedUserFriendShip->getUser_target()->getId() == $connectedUserId && !$requestedUserFriendShip->getValidated()) { Flash::addItem(__("Une demande vous a déjà été transmise de la part de cet utilisateur.", "s1b")); HTTPHelper::redirectToReferer(); } } } } else { Flash::addItem(__("Vous devez sélectioner un utilisateur", "s1b")); HTTPHelper::redirectToReferer(); } // add friendship line $newFriendShip = new FriendShip(); $newFriendShip->setCreationDate(new \DateTime()); $newFriendShip->setUser_source($user); $newFriendShip->setUser_target($requestedUser); FriendShipDao::getInstance()->add($newFriendShip); // send email to the requested user MailSvc::getInstance()->send($requestedUser->getEmail(), sprintf(__("%s - Vous avez reçu une demande d'ami.", "s1b"), Constants::SITENAME), MailHelper::friendRequestEmailBody($user->getUserName())); // add message line for requestedUser $message = new Message(); $message->setRecipient($requestedUser); $message->setSender($user); $message->setDate(new \DateTime()); $message->setTitle(__("Demande d'ami", "s1b")); $message->setMessage(sprintf(__("Bonjour,<br/><br/>Vous avez reçu une demande d'ami de %s.", "s1b"), $user->getUserName())); $message->setIs_read(false); MessageDao::getInstance()->add($message); Flash::addItem(__("Votre demande a bien été envoyée.", "s1b")); HTTPHelper::redirectToReferer(); } catch (\Exception $e) { Trace::addItem(sprintf("Une erreur s'est produite dans \"%s->%s\", TRACE : %s\"", get_class(), __FUNCTION__, $e->getTraceAsString())); $this->forward("error", "error", "default"); } }
public function setIs_read($is_read) { $this->__load(); return parent::setIs_read($is_read); }