public function executeLeave(HTTPRequest $request) { $this->authenticationRedirection(); if (!$request->getExists('feedbackRequestId')) { $this->app->httpResponse()->redirect404(); exit; } $feedbackRequestId = htmlspecialchars($request->getData('feedbackRequestId')); $feedbackRequest = $this->_feedbackRequestsManager->get($feedbackRequestId); if (is_null($feedbackRequest)) { $this->app->httpResponse()->redirect404(); exit; } if ($request->postExists('submit-form')) { $feedback = new Feedback(); $feedback->setAnnounceId($feedbackRequest->getAnnounceId()); $feedback->setUserAuthorId($feedbackRequest->getUserAuthorId()); $feedback->setUserOwnerId($feedbackRequest->getUserOwnerId()); $feedback->setUserSubscriberId($feedbackRequest->getUserSubscriberId()); $feedback->setReservationId($feedbackRequest->getReservationId()); $mark = htmlspecialchars($request->postData('mark')); $comment = htmlspecialchars($request->postData('comment')); $feedback->setMark($mark); $feedback->setComment($comment); $this->_feedbacksManager->save($feedback); $this->_feedbackRequestsManager->delete($feedbackRequest->id()); $this->app->user()->setFlash('feedback-saved'); $this->app->httpResponse()->redirect('/feedback'); exit; } $this->page->smarty()->assign('feedbackRequest', $feedbackRequest); }
public function executeIndex(HTTPRequest $request) { $announceFilter = new AnnounceFilter(); if ($request->postExists('search')) { $this->parseSearch($request, $announceFilter); $url = '/search/page=' . '0' . '/region=' . $announceFilter->getRegionId() . '/department=' . $announceFilter->getDepartmentId() . '/category=' . $announceFilter->getCategoryId() . '/subcategory=' . $announceFilter->getSubCategoryId() . '/zipcode=' . $announceFilter->getZipCode() . '/community=' . $announceFilter->getInCommunity() . '/filter=' . $announceFilter->getFilterText(); $this->app->httpResponse()->redirect($url); exit; } $categories = $this->_categoriesManager->getListOf(); $regions = $this->_regionsManager->getListOf(); $departments = $this->_departmentsManager->getListOf(); $this->assignFilter($request, $announceFilter); $announcements = $this->_filterManager->getAnnouncement($announceFilter); $announcementsPro = $this->_filterManager->getAnnouncementPro($announceFilter); $this->page->smarty()->assign('announcements', $announcements); $this->page->smarty()->assign('announcementsPro', $announcementsPro); $this->page->smarty()->assign('profilesManager', $this->_profilesManager); $this->page->smarty()->assign('profilesProManager', $this->_profilesProManager); $this->page->smarty()->assign('usersManager', $this->_usersManager); $this->page->smarty()->assign('categoriesManager', $this->_categoriesManager); $this->page->smarty()->assign('regionsManager', $this->_regionsManager); $this->page->smarty()->assign('departmentsManager', $this->_departmentsManager); $this->page->smarty()->assign('categories', $categories); $this->page->smarty()->assign('regions', $regions); $this->page->smarty()->assign('departments', $departments); }
private function parseForm(HTTPRequest $request, Category $category) { $name = htmlspecialchars($request->postData('name')); $description = htmlspecialchars($request->postData('description')); $isRoot = !$request->postExists('parent-category'); $category->setName($name); $category->setIsRoot($isRoot); $category->setDescription($description); if (!$isRoot) { $parentCategoryId = $request->postData('parent-category'); $category->setParentCategoryId($parentCategoryId); } }
public function executeRefuse(HTTPRequest $request) { $announce = $this->_announcementsManager->get($request->getData('announceId')); $this->page->smarty()->assign('announce', $announce); if ($request->postExists('confirm')) { $announce->setStateId(AnnouncementStates::STATE_REFUSED); $announce->setAdminComment(htmlspecialchars($request->postData('admin-comment'))); $this->_announcementsManager->save($announce); $this->app->user()->setFlash('announce-refused'); //TODO : Envoyer un mail à l'utilistateur $this->app->httpResponse()->redirect('/admin/announcements'); exit; } }
public function executePublish(HTTPRequest $request) { $opinionId = $request->getData('opinionId'); $opinion = $this->_opinionsManager->get($opinionId); if ($request->postExists('submit-form')) { $opinion->setIsPublished(true); $this->_opinionsManager->save($opinion); $this->app->user()->setFlash('opinion-published'); $this->app->httpResponse()->redirect('/admin/opinion'); exit; } $this->page->smarty()->assign('opinion', $opinion); $this->page->smarty()->assign('opinionsManager', $this->_opinionsManager); $this->page->smarty()->assign('usersManager', $this->_usersManager); }
public function executeDeleteFeedback(HTTPRequest $request) { $feedbackId = htmlspecialchars($request->getData('feedbackId')); $feedback = $this->_feedbacksManager->get($feedbackId); if ($request->postExists('submit-form')) { $this->_moderatesManager->deleteByFeedbackId($feedbackId); $this->_feedbacksManager->delete($feedbackId); $this->app->user()->setFlash('feedback-deleted'); $this->app->httpResponse()->redirect('/admin/moderate'); exit; } $this->page->smarty()->assign('feedback', $feedback); $this->page->smarty()->assign('feedbacksManager', $this->_feedbacksManager); $this->page->smarty()->assign('profilesManager', $this->_profilesManager); $this->page->smarty()->assign('usersManager', $this->_usersManager); }
public function executeIndex(HTTPRequest $request) { $this->init(); if ($request->postExists('connect')) { $login = htmlspecialchars($request->postData('login')); $password = htmlspecialchars($request->postData('password')); $this->_user = $this->_userManager->authenticate($login, $password); if (!is_null($this->_user) && $this->_user->getRoleId() >= Role::ROLE_ADMINISTRATEUR && $this->_user->getIsActive()) { $this->app->user()->setAdminAuthenticated(true); $this->app->user()->setAttribute('admin-id', $this->_user->id()); $this->authenticationRedirection(); } else { $message = MessageBox::Error('L\'authentification a échoué !'); $this->page->smarty()->assign('connexionMessage', $message); } } }
public function executeFeedback(HTTPRequest $request) { $feedback = $this->_feedbacksManager->get(htmlspecialchars($request->getData('feedbackId'))); if ($request->postExists('submit-form')) { $moderate = new Moderate(); $moderate->setType(Moderate::TYPE_FEEDBACK); $moderate->setTypeId(htmlspecialchars($request->postData('feedback-id'))); $moderate->setUserAuthorId(htmlspecialchars($request->postData('user-id'))); $moderate->setMessage(htmlspecialchars($request->postData('message'))); $this->_moderatesManager->save($moderate); //Envoyer un mail ici $messageMail = new Mail(); $messageMail->sendModerationRequest(); $this->page->smarty()->assign('messageSent', true); $this->app->user()->setFlash('message-sent'); $this->displayInfoMessage(); } $this->page->smarty()->assign('feedback', $feedback); $this->page->smarty()->assign('profilesManager', $this->_profilesManager); $this->page->smarty()->assign('usersManager', $this->_usersManager); }
public function executeEdit(HTTPRequest $request) { $address = new Address(); if ($this->app->httpRequest()->getExists('addressId')) { $addressId = htmlspecialchars($this->app->httpRequest()->getData('addressId')); $address = $this->_addressManager->get($addressId); if (is_null($address)) { $this->app->httpResponse()->redirect('/addresses'); exit; } } else { $this->app->httpResponse()->redirect('/addresses'); exit; } $this->page->smarty()->assign('address', $address); if ($request->postExists('save-address')) { $this->parseForm($request, $address); $this->_addressManager->save($address); $this->app->httpResponse()->redirect('/addresses'); exit; } }
public function executeContact(HTTPRequest $request) { if ($request->postExists('email')) { if ($this->isContactMessageValid($request)) { $subject = htmlspecialchars($request->postData('subject')); $email = htmlspecialchars($request->postData('email')); $message = htmlspecialchars($request->postData('message')); $messageMail = new Mail(); $messageMail->to = 'contact@tipkin.fr,postmaster@beta.tipkin.fr'; $messageMail->from = $email; $messageMail->subject = date('d-m-y h:i:s') . '[CONTACTEZ-NOUS] ' . $subject; $messageMail->content = $message; $messageMail->send(); if ($request->postExists('send-copy')) { $messageMail->to = $email; $messageMail->from = null; $messageMail->subject = '[TIPKIN] Copie de votre message : ' . $subject; $messageMail->send(); } $this->page->smarty()->assign('isMessageSent', true); } } }
private function parsePrices(HTTPRequest $request, $announcementPriceList) { $announcementPriceListReturn = array(); foreach ($this->_listOfGroupsEndField as $contactGroup => $endField) { $currentAnnouncementPrice = new AnnouncementPrice(); $currentAnnouncementPrice->setContactGroupId($contactGroup); foreach ($announcementPriceList as $announcementPrice) { if ($announcementPrice->getContactGroupId() == $contactGroup) { $currentAnnouncementPrice = $announcementPrice; } } if ($request->postExists('price-default-for-' . $endField) && $contactGroup != ContactGroups::USERS) { $currentAnnouncementPrice->setIsActive(false); } else { $currentAnnouncementPrice->setIsActive(true); } foreach ($this->_listOfPriceFields as $classAttribute => $formField) { $setMethod = 'set' . $classAttribute; $value = htmlspecialchars($request->postData($formField . '-' . $endField)); $currentAnnouncementPrice->{$setMethod}($this->str2num($value)); } $announcementPriceListReturn[] = $currentAnnouncementPrice; } return $announcementPriceListReturn; }
public function executeReservationLanding(HTTPRequest $request) { if (!$request->postExists('user-subscriber-id')) { $this->app->httpResponse()->redirect404(); exit; } $reservation = new AnnouncementReservation(); $this->parsePostReservation($request, $reservation); if ($this->_announcementReservationManager->isReservationExists($reservation)) { $this->app->httpResponse()->redirect('/activities/reservation-exists'); exit; } $reservation->setStateId(PaiementStates::WAITING_PAIEMENT); $reservation->setKeyCheck(mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand()); $reservation->setTransactionRef($reservation->id()); $this->_announcementReservationManager->save($reservation); $platformFee = $reservation->getPrice() * Tipkin\Config::get('platform-fee-ratio'); if ($platformFee == 0 || $request->postData('currency-id') != 'default') { $reservation->setStateId(PaiementStates::WAITING_VALIDATION); $reservation->setTransactionRef('FREE'); $this->_announcementReservationManager->save($reservation); $messageMail = new Mail(); $messageMail->sendReservationOwnerValidation($this->_usersManager->get($reservation->getUserOwnerId()), $this->_usersManager->get($reservation->getUserSubscriberId()), $this->_announcementManager->get($reservation->getAnnouncementId()), $reservation); $messageMail->sendReservationSubscriberRecap($this->_usersManager->get($reservation->getUserOwnerId()), $this->_usersManager->get($reservation->getUserSubscriberId()), $this->_announcementManager->get($reservation->getAnnouncementId())); $this->app->httpResponse()->redirect('/activities/reservations'); exit; } else { $this->app->httpResponse()->redirect('/paiement/' . $reservation->id()); exit; } }
public function executeDelete(HTTPRequest $request) { if ($request->postExists('confirm')) { $messageMail = new Mail(); $messageMail->sendDisableAccount($this->_user, Tipkin\Config::get('admin-mail')); $this->app->user()->setFlash('disable-account'); $this->app->httpResponse()->redirect('/profile-pro'); } }
private function parseForm(HTTPRequest $request) { $username = htmlspecialchars($request->postData('username')); $mail = htmlspecialchars($request->postData('mail')); $mailConfirmation = htmlspecialchars($request->postData('mail-confirmation')); if ($request->postExists('generate-password')) { $password = $passwordConfirmation = Users::CreateNewPassword(); } else { $password = htmlspecialchars($request->postData('password')); $passwordConfirmation = htmlspecialchars($request->postData('password-confirmation')); } $role = htmlspecialchars($request->postData('role')); if ($mail == $mailConfirmation && $password == $passwordConfirmation && strlen($username) >= 6 && strlen($password) >= 6) { $user = new Users(); $user->setUsername($username); $user->setMail($mail); $user->setPassword($password, Tipkin\Config::get('secret-key')); $user->setRoleId($role); if (!$this->_userManager->isUsernameOrMailExist($username, $mail)) { $this->_userManager->save($user); $messageMail = new Mail(); $messageMail->sendRegistrationInfo($user, $password); $this->app->user()->setFlash('new-user-added'); $this->app->httpResponse()->redirect('/admin/users'); exit; } else { $this->app->user()->setFlash('username-or-mail-exist'); $this->app->httpResponse()->redirect('/admin/users'); exit; } } else { $this->app->user()->setFlash('form-invalid'); $this->app->httpResponse()->redirect('/admin/users'); exit; } }
private function parseForm(HTTPRequest $request, AnnouncementPro $announce) { $title = htmlspecialchars($request->postData('title')); $isPublished = $request->postExists('is-published'); $description = htmlspecialchars($request->postData('description')); $pricePublic = htmlspecialchars($request->postData('price-public')); if ($request->postExists('has-tips')) { $tips = htmlspecialchars($request->postData('tips')); } else { $tips = ''; } $rawMaterial = htmlspecialchars($request->postData('raw-material')); $address1 = htmlspecialchars($request->postData('address1')); $address2 = htmlspecialchars($request->postData('address2')); $zipCode = htmlspecialchars($request->postData('zip-code')); $city = htmlspecialchars($request->postData('city')); $country = 'FRANCE'; $departmentId = htmlspecialchars($request->postData('department')); $regionId = $this->_departmentsManager->get($departmentId)->getRegionId(); $categoryId = htmlspecialchars($request->postData('category')); $subCategoryId = htmlspecialchars($request->postData('sub-category')); $userId = $this->_user->id(); //Parsing $announce->setTitle($title); $announce->setIsPublished($isPublished); $announce->setDescription($description); $announce->setPricePublic($this->str2num($pricePublic)); $announce->setTips($tips); $announce->setRawMaterial($rawMaterial); $announce->setAddress1($address1); $announce->setAddress2($address2); $announce->setZipCode($zipCode); $announce->setCity($city); $announce->setCountry($country); $announce->setDepartmentId($departmentId); $announce->setRegionId($regionId); $announce->setCategoryId($categoryId); $announce->setSubCategoryId($subCategoryId); $announce->setUserId($userId); $announce->setAdminComment(''); // Demande de suppression de photo if ($request->postExists('delete-photo-main')) { unlink($_SERVER['DOCUMENT_ROOT'] . AnnouncementPro::ANNOUNCEMENT_PRO_DIRECTORY . $announce->id() . '/' . $announce->getPhotoMain()); unlink($_SERVER['DOCUMENT_ROOT'] . AnnouncementPro::ANNOUNCEMENT_PRO_DIRECTORY . $announce->id() . '/' . AnnouncementPro::THUMBNAILS_PREFIX . $announce->getPhotoMain()); $announce->setPhotoMain(''); } if ($request->postExists('delete-photo-option-1')) { unlink($_SERVER['DOCUMENT_ROOT'] . AnnouncementPro::ANNOUNCEMENT_PRO_DIRECTORY . $announce->id() . '/' . $announce->getPhotoOption1()); unlink($_SERVER['DOCUMENT_ROOT'] . AnnouncementPro::ANNOUNCEMENT_PRO_DIRECTORY . $announce->id() . '/' . AnnouncementPro::THUMBNAILS_PREFIX . $announce->getPhotoOption1()); $announce->setPhotoOption1(''); } if ($request->postExists('delete-photo-option-2')) { unlink($_SERVER['DOCUMENT_ROOT'] . AnnouncementPro::ANNOUNCEMENT_PRO_DIRECTORY . $announce->id() . '/' . $announce->getPhotoOption2()); unlink($_SERVER['DOCUMENT_ROOT'] . AnnouncementPro::ANNOUNCEMENT_PRO_DIRECTORY . $announce->id() . '/' . AnnouncementPro::THUMBNAILS_PREFIX . $announce->getPhotoOption2()); $announce->setPhotoOption2(''); } }
include_once "C:\\wamp\\www\\CMPJ\\Vendors\\Entity\\adherent.php"; include_once "C:\\wamp\\www\\CMPJ\\Controleurs\\HTTPRequest.php"; include_once "C:\\wamp\\www\\CMPJ\\Controleurs\\HTTPResponse.php"; include_once "C:\\wamp\\www\\CMPJ\\Model\\AdherentManagerPDO.php"; include_once "C:\\wamp\\www\\CMPJ\\Model\\PDOFactory.php"; $request = new HTTPRequest(); $manager = new AdherentManagerPDO(PDOFactory::getPdoInstance()); if (isset($_GET['modifier'])) { if (!$manager->Exists((int) $_GET['modifier'])) { $message = 'NOT FOUND.'; } else { $adherent = $manager->getUnique((int) $_GET['modifier']); } } if ($request->postExists('nom')) { //on hydrate les données $adherent = new Adherent(['nom' => $request->postData('nom'), 'prenom' => $request->postData('prenom'), 'dateNaissance' => $request->postData('date'), 'lieu' => $request->postData('lieuNaissance'), 'sexe' => $request->postData('sexe'), 'region' => $request->postData('region'), 'departement' => $request->postData('departement'), 'ethnie' => $request->postData('ethnie'), 'nationalite' => $request->postData('nationalite'), 'profession_mere_parrain' => $request->postData('profession'), 'situationMatrimoniale' => $request->postData('situation'), 'lieuResidence' => $request->postData('lieuResidence'), 'adresse' => $request->postData('addr'), 'telPerso' => $request->postData('telPerso'), 'sosTel' => $request->postData('sosTel'), 'sosName' => $request->postData('sosName'), 'diplomeEleve' => $request->postData('diplome'), 'dateObtentionPlace' => $request->postData('dateObtention'), 'speakLanguage' => $request->postData('speakLanguage'), 'filiere' => $request->postData('option')]); $adherent->setId((int) $_GET['modifier']); if ($adherent->isvalid()) { $manager->update($adherent); $message = 'Informations bien modifiées '; } else { $erreurs = $adherent->getErreurs(); } } ?> <!DOCTYPE html> <html> <head> <title>Formulaire d'inscription CMPJ MAYO-LOUTI</title>
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'); } }
public function executePopupConnect(HTTPRequest $request) { $this->init(); $returnUrl = $request->getData('returnUrl'); $this->page->smarty()->assign('returnUrl', $returnUrl); if ($request->postExists('connect')) { $login = htmlspecialchars($request->postData('login')); $password = htmlspecialchars($request->postData('password')); $createCookie = $request->postExists('create-cookie'); $this->_user = $this->_userManager->authenticate($login, $password); if (!is_null($this->_user)) { if ($this->_user->getRoleId() >= Role::ROLE_MEMBER && $this->_user->getIsActive()) { $this->app->user()->setAuthenticated(true); $this->app->user()->setAttribute('id', $this->_user->id()); if ($createCookie) { //On crée un cookie expirant dans un mois $this->app->httpResponse()->setCookie('tipkin-id', $this->_user->id(), time() + 60 * 60 * 24 * 30); } $this->app->httpResponse()->redirect($returnUrl); exit; } else { $this->app->user()->setFlash('profile-disabled'); $this->app->httpResponse()->redirect('/login'); exit; } } else { $this->app->user()->setFlash('bad-login'); $this->app->httpResponse()->redirect('/login'); exit; } } }
public function executeManageAlternateCurrencies(HTTPRequest $request) { //On récupère le code postal de la personne $postalCode = $this->_address->getZipCode(); //On récupère la liste des monnaies alternatives avec ce code postal $alternateCurrencyPostalCodeList = $this->_alternateCurrencyPostalCodeManager->getListByPostalCode($postalCode); //On test si l'utilisateur peut utiliser des monnaie alternative $canUseAlternateCurrency = count($alternateCurrencyPostalCodeList) > 0; //On crée un tableau pour récupérer la liste de nos monnaies alternative utilisable par cet utilisateur $listAlternateCurrenciesAvailable = array(); //Si l'utilisteur peut utiliser des monnaies alternative if ($canUseAlternateCurrency) { //Pour chaque code postaux associé à une monnaie foreach ($alternateCurrencyPostalCodeList as $alternateCurrencyPostalCode) { //On ajoute l'entrée à notre tableau de liste de monnaie $listAlternateCurrenciesAvailable[] = $this->_alternateCurrencyManager->get($alternateCurrencyPostalCode->getAlternateCurrencyId()); } } else { $this->app->httpResponse()->redirect404(); exit; } if ($request->postExists('save-currencies')) { $listAlternateCurrency = array(); if ($request->postExists('alternateCurrency')) { $listAlternateCurrency = $request->postData('alternateCurrency'); } $this->_profile->setAlternateCurrenciesUsed(implode(',', $listAlternateCurrency)); $this->_profileManager->save($this->_profile); $this->app->user()->setFlash('profil-updated'); $this->app->httpResponse()->redirect('/profile'); exit; } $listCurrencyUsed = explode(',', $this->_profile->getAlternateCurrenciesUsed()); $this->page->smarty()->assign('listCurrencyUsed', $listCurrencyUsed); $this->page->smarty()->assign('listAlternateCurrenciesAvailable', $listAlternateCurrenciesAvailable); }