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('');
     }
 }
Beispiel #16
0
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);
 }