Example #1
0
 public function executeComments(HTTPRequest $request)
 {
     $this->run();
     $id = $request->getData('id');
     $manager = $this->managers->getManagerOf('Member');
     // Récupéré l'id du membre que l'on veux voir, et avec récupérer le nom, puis appliquer ce que l'on souhaite dans membre
     $auteur = $manager->getusername($id);
     if ($auteur == false) {
         $id = $manager->getId($id);
         if ($id != false) {
             $auteur = $manager->getusername($id);
         } else {
             $id = $request->getData('id');
         }
     }
     $this->page->addVar('auteur', $auteur);
     if ($auteur === false) {
         $auteur = $id;
     }
     $manager = $this->managers->getManagerOf('Comments');
     $this->page->addVar('id', $id);
     $this->page->addVar('title', 'Mes commentaires');
     $this->page->addVar('comments', $manager->getListOfMember($auteur));
     $this->page->addVar('number', $manager->countCountMember($auteur));
 }
Example #2
0
 public function executeIndex(HTTPRequest $request)
 {
     $this->run();
     if ($request->method() == 'POST') {
         $member = new Member(['username' => $request->postData('username'), 'password' => $request->postData('password')]);
     } else {
         $member = new Member();
     }
     $formBuilder = new AutorFormBuilder($member);
     $formBuilder->build($this->managers->getManagerOf('Member'));
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('Member'), $request);
     $entier = (int) $this->managers->getManagerOf('Member')->getId($member->username());
     if ($formHandler->process()) {
         $this->app->user()->setMember(1);
         // on met 1 pour auteur, il faudrait le faire dynamiquement ? (récupérer $member->priority() ?
         $this->app->user()->setUsername($member->username());
         $this->app->user()->setId($entier);
         //récupérer l'id du member
         $this->app->user()->setFlash('Tu es connecté');
         $this->app->httpResponse()->redirect($this->app->router()->getBuiltRoute('News', 'index', []));
     }
     $this->page->addVar('title', 'Connexion');
     $this->page->addVar('Member', $member);
     $this->page->addVar('form', $form->createView());
 }
Example #3
0
 public function executeDelete(HTTPRequest $request)
 {
     $MemberId = $request->getData('id');
     $this->managers->getManagerOf('Member')->delete($MemberId);
     if ($this->app->user()->getAttribute('user')->id() == $MemberId) {
         $this->app->httpResponse()->redirect('/admin/deconnexion.html');
     }
     $this->app->user()->setFlash('L\'utilisateur a bien été supprimé !');
     $this->app->httpResponse()->redirect('/admin/members.html');
 }
Example #4
0
 public function processForm(HTTPRequest $request)
 {
     if ($request->method() == 'POST') {
         $news = new News(['auteur' => $request->postData('auteur'), 'titre' => $request->postData('titre'), 'contenu' => $request->postData('contenu')]);
         if ($request->getExists('id')) {
             $news->setId($request->getData('id'));
         }
     } else {
         // L'identifiant de la news est transmis si on veut la modifier
         if ($request->getExists('id')) {
             $news = $this->managers->getManagerOf('News')->getUnique($request->getData('id'));
         } else {
             $news = new News();
         }
     }
     $formBuilder = new NewsFormBuilder($news);
     $formBuilder->build();
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('News'), $request);
     if ($formHandler->process()) {
         $this->app->user()->setFlash($news->isNew() ? 'La news a bien été ajoutée !' : 'La news a bien été modifiée !');
         $this->app->httpResponse()->redirect('/admin/');
     }
     $this->page->addVar('form', $form->createView());
 }
 public function executeShow(HTTPRequest $request)
 {
     $memberManager = $this->managers->getManagerOf('Members');
     /** @var $member Member        */
     if (!($idMember = $memberManager->checkPseudoExist($request->getData('pseudo')))) {
         $this->app->httpResponse()->redirect404();
     }
     $member = $memberManager->getUnique($idMember);
     $this->page->addVar('member', $member);
     $this->page->addVar('nbMessages', $this->managers->getManagerOf('Comments')->countByMember($idMember));
     $this->page->addVar('nbNews', $this->managers->getManagerOf('News')->countByMember($idMember));
     $this->run();
 }
 public function executeIndex(HTTPRequest $request)
 {
     $this->page->addVar('title', 'Connexion');
     if ($request->postExists('login')) {
         $login = $request->postData('login');
         $password = $request->postData('password');
         if ($typeMember = $this->managers->getManagerOf('Members')->connect($login, $password)) {
             $this->app->user()->setAuthenticated(true);
             $this->app->httpResponse()->redirect('/');
         } else {
             $this->app->user()->setFlash('Le pseudo ou le mot de passe est incorrect.');
         }
     }
 }
Example #7
0
 public function executeIndex(HTTPRequest $request)
 {
     $this->page->addVar('title', 'Connexion');
     if ($request->postExists('login')) {
         $login = $request->postData('login');
         $password = $request->postData('password');
         if ($login == $this->app->config()->get('login') && hash_equals($this->app->config()->get('pass'), crypt($password, $this->app->config()->get('pass')))) {
             $this->app->user()->setAuthenticated(true);
             $this->app->httpResponse()->redirect('.');
         } else {
             $this->app->user()->setFlash('Le pseudo ou le mot de passe est incorrect.');
         }
     }
 }
Example #8
0
 public function executeShowTag(HTTPRequest $request)
 {
     $this->run();
     $managertag = $this->managers->getManagerOf('Tag');
     // Si le numéro de tag exist :
     $idtag = $request->getData('id');
     $tagname = $managertag->getname($idtag);
     if ($tagname != false) {
         $ListTag = $managertag->getListOfNews($idtag);
         $this->page->addVar('ListNewsTag', $ListTag);
         $this->page->addVar('nametag', $tagname);
     } else {
         $this->page->addVar('undefined', 1);
     }
 }
 public function processForm(HTTPRequest $request)
 {
     if (!$this->app()->user()->isAuthenticated()) {
         $this->app->user()->setFlash('Connectez vous ou inscrivez vous pour accéder à cette section');
         $this->app->httpResponse()->redirect('/');
     }
     if ($request->method() == 'POST') {
         $news = new News(['auteur' => $this->app()->user()->member()->id(), 'titre' => $request->postData('titre'), 'contenu' => $request->postData('contenu'), 'tags' => $request->postData('tags')]);
         if ($request->getExists('id')) {
             $news->setId($request->getData('id'));
         }
     } else {
         // L'identifiant de la news est transmis si on veut la modifier
         if ($request->getExists('id')) {
             $news = $this->managers->getManagerOf('News')->getUnique($request->getData('id'), true);
             if ($news == NULL) {
                 $this->app()->httpResponse()->redirect404();
             }
         } else {
             $news = new News();
         }
     }
     $formBuilder = new NewsFormBuilder($news);
     $formBuilder->build();
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('News'), $request);
     if ($formHandler->process()) {
         $this->app->user()->setFlash($news->isNew() ? 'La news a bien été ajoutée !' : 'La news a bien été modifiée !');
         $this->app->httpResponse()->redirect('/');
     }
     $this->managers->getManagerOf('News')->saveTags($news);
     $this->page->addVar('form', $form->createView());
 }
Example #10
0
 public function executeIndex(HTTPRequest $request)
 {
     $this->page->addVar('title', 'Connexion');
     $this->run();
     if ($request->postExists('login') && $request->postExists('password')) {
         /** @var MemberManager $MemberManager */
         $MemberManager = $this->managers->getManagerOf('Member');
         $Member = $MemberManager->getMemberUsingLoginAndPassword($request->postData('login'), $request->postData('password'));
         if ($Member && $Member->level() <= self::LEVEL_AUTHORISATION) {
             $this->app->user()->setAuthenticated(true);
             $this->app->user()->setAttribute('user', $Member);
             $this->app->httpResponse()->redirect('.');
         } else {
             $this->app->user()->setFlash('Le pseudo ou le mot de passe est incorrect.');
         }
     }
 }
Example #11
0
 public function executeIndex(HTTPRequest $request)
 {
     $this->run();
     if ($request->method() == 'POST') {
         $member = new Member(['username' => $request->postData('username'), 'password' => $request->postData('password')]);
     } else {
         $member = new Member();
     }
     $formBuilder = new MemberFormBuilder($member);
     $formBuilder->build($this->managers->getManagerOf('Member'));
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('Member'), $request);
     if ($formHandler->process()) {
         $this->app->user()->setAuthenticated(true);
         $this->app->httpResponse()->redirect($this->app->router()->getBuiltRoute('News', 'index', []));
     }
     $this->page->addVar('title', 'Connexion');
     $this->page->addVar('Member', $member);
     $this->page->addVar('form', $form->createView());
 }
Example #12
0
 public function executeShow(HTTPRequest $Request)
 {
     $Member = $this->managers->getManagerOf('Member')->getUnique($Request->getData('member_id'));
     if ($Member->id() == 0) {
         $this->app->httpResponse()->redirect404();
     }
     $this->run();
     $CommentsManager = $this->managers->getManagerOf('Comments');
     $Comments_a = $CommentsManager->getCommentsUsingMemberId($Request->getData('member_id'));
     $Member->commentscount = $CommentsManager->countUsingMemberId($Request->getData('member_id'));
     $NewsManager = $this->managers->getManagerOf('News');
     $News_a = $NewsManager->getListUsingMemberId($Request->getData('member_id'));
     foreach ($News_a as $News) {
         $News->commentscount = $CommentsManager->countUsingNewsId($News->id());
     }
     $Router = new Router();
     $this->page->addVar('Member', $Member);
     $this->page->addVar('Comments_a', $Comments_a);
     $this->page->addVar('News_a', $News_a);
     $this->page->addVar('Router', $Router);
 }
Example #13
0
 public function executeUnsubscribe(HTTPRequest $Request)
 {
     $this->run();
     $this->page->addVar('title', 'Désinscription');
     if ($Request->method() == 'POST') {
         $unsubscribe_message = $Request->postData('unsubscribe_message');
         if (!$unsubscribe_message) {
             $this->page->addVar('erreur', 'Votre message ne doit pas être vide.');
             return;
         }
         $FORManager = $this->managers->getManagerOf('FOR');
         $Characteristicc = $FORManager->getCharacteristiccUsingName('unsubscribe_message');
         $FVC_id = $FORManager->addCharacteristicvaluec($Characteristicc->id(), $unsubscribe_message);
         $Alertc = new Alertc(array('FAC_fk_FAY' => 1, 'FAC_fk_FAE' => 1));
         $FAC_id = $FORManager->addAlertc($Alertc);
         $Alertd = new Alertd(array('FAD_fk_FAC' => $FAC_id, 'FAD_fk_FHC' => $Characteristicc->id(), 'FAD_fk_FVC' => $FVC_id));
         $FORManager->addAlertd($Alertd);
         $this->app->user()->setFlash('Votre demande a bien été enregistrée');
         $this->app->httpResponse()->redirect('/mon-compte.html');
     }
 }
 /**
  * Méthode pour l'action InsertComment
  * Vérifie si le formulaire est envoyé en vérifiant si la variable POST pseudo existe
  * Ensuite la méthode vérifie les données
  * Si toutes les données sont valides => le commentaire est inséré en base
  * 
  * @param HTTPRequest $request
  * @return void
  */
 public function executeInsertComment(HTTPRequest $request)
 {
     // Si le formulaire a été envoyé => création du commentaire avec les valeurs du formulaire.
     if ($request->method() == 'POST') {
         $comment = new Comment(['news' => $request->getData('news'), 'auteur' => $request->postData('auteur'), 'contenu' => $request->postData('contenu')]);
     } else {
         $comment = new Comment();
     }
     $formBuilder = new CommentFormBuilder($comment);
     $formBuilder->build();
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('Comments'), $request);
     // Enregistrement du commentaire en DB
     if ($formHandler->process()) {
         $this->app->user()->setFlash('Le commentaire a bien été ajouté, merci !');
         $this->app->httpResponse()->redirect('news-' . $request->getData('news') . '.html');
     }
     $this->page->addVar('comment', $comment);
     $this->page->addVar('form', $form->createView());
     // Passer le formulaire généré à la vue.
     $this->page->addVar('title', 'Ajout d\'un commentaire');
 }
Example #15
0
 public function executeIndex(HTTPRequest $request)
 {
     $this->run();
     if ($request->method() == 'POST') {
         $member = new Member(['username' => $request->postData('username'), 'password' => $request->postData('password'), 'confirmation' => $request->postData('confirmation'), 'description' => $request->postData('description'), 'mail' => $request->postData('mail')]);
     } else {
         $member = new Member();
         // on garde cette entité member ?
     }
     $formBuilder = new RegisterFormBuilder($member);
     // même formbuilder ?
     $formBuilder->build($this->managers->getManagerOf('Member'));
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('Member'), $request);
     if ($formHandler->process()) {
         $this->app->user()->setFlash('vous êtes bien inscrit');
         $this->app->httpResponse()->redirect('.');
     }
     $this->page->addVar('title', 'Inscription');
     $this->page->addVar('Member', $member);
     $this->page->addVar('form', $form->createView());
 }
 public function executeIndex(HTTPRequest $request)
 {
     if ($request->method() == 'POST') {
         $member = new Member(['pseudo' => $request->postData('pseudo'), 'password' => $request->postData('password')]);
     } else {
         $member = new Member();
     }
     $formBuilder = new ConnexionFormBuilder($member);
     $formBuilder->build($this->managers->getManagerOf('Members'));
     $form = $formBuilder->form();
     $formHandler = new FormHandler($form, $this->managers->getManagerOf('Members'), $request);
     /**@var $memberManager MembersManager */
     $memberManager = $this->managers->getManagerOf('Members');
     if ($formHandler->verify()) {
         $this->app->user()->setFlash('Vous etes désormais connecté');
         $this->app->user()->setAuthenticated($memberManager->getUnique($memberManager->connect($request->postData('pseudo'), $request->postData('password'))));
         $this->app->httpResponse()->redirect('/');
     }
     $this->page->addVar('member', $member);
     $this->page->addVar('form', $form->createView());
     $this->page->addVar('title', 'Connexion');
 }
Example #17
0
 public function executeInsertComment(HTTPRequest $request)
 {
     // Si le formulaire a été envoyé.
     if ($request->method() == 'POST') {
         $comment = new Comment(['news' => $request->getData('news'), 'auteur' => $request->postData('auteur'), 'contenu' => $request->postData('contenu')]);
     } else {
         $comment = new Comment();
     }
     $formBuilder = new CommentFormBuilder($comment);
     $formBuilder->build();
     $form = $formBuilder->form();
     // On récupère le gestionnaire de formulaire (le paramètre de getManagerOf() est bien entendu à remplacer).
     $formHandler = new \OCFram\FormHandler($form, $this->managers->getManagerOf('Comments'), $request);
     if ($formHandler->process()) {
         // Ici ne résident plus que les opérations à effectuer une fois l'entité du formulaire enregistrée
         // (affichage d'un message informatif, redirection, etc.).
         $this->app->user()->setFlash('Le commentaire a bien été ajouté, merci !');
         $this->app->httpResponse()->redirect('news-' . $request->getData('news') . '.html');
     }
     $this->page->addVar('comment', $comment);
     $this->page->addVar('form', $form->createView());
     $this->page->addVar('title', 'Ajout d\'un commentaire');
 }
 /**
  * Méthode pour l'action deleteComment
  * Le contrôleur se charge d'invoquer
  * la méthode du manager qui supprimera le commentaire (delete)
  * L'utilisateur est ensuite redirigé vers l'index admin
  * avec affichage d'un message au rechargement de la page
  * Cette action ne possède aucune vue
  * 
  * @param HTTPRequest $request
  * @return void
  */
 public function executeDeleteComment(HTTPRequest $request)
 {
     $this->managers->getManagerOf('Comments')->delete($request->getData('id'));
     $this->app->user()->setFlash('Le commentaire a bien été supprimé !');
     $this->app->httpResponse()->redirect('.');
 }
Example #19
0
 public function executeGetNewComments(HTTPRequest $request)
 {
     $this->processJSONComment($this->managers->getManagerOf('Comments')->getNewComments($request->postData('comment_last_id'), $request->postData('news_id')));
 }
Example #20
0
 public function executeCommentStreamUpdatingUsingAjax(HTTPRequest $Request)
 {
     $CommentManager = $this->managers->getManagerOf('Comments');
     $Comments_a = $CommentManager->getAfterId($Request->postData('news_id'), $Request->postData('last_insert_id'));
     $this->page->setTemplate('jsonLayout.php');
     if (!$Comments_a) {
         $this->page->addVar('ajax', json_encode(array('success' => false, 'message' => 'aucun nouveau commentaire')));
         return;
     }
     $comments_views_a = array();
     $Router = new Router();
     foreach ($Comments_a as $Comment) {
         $PageComment = new Page($this->app);
         $PageComment->setContentFile(__DIR__ . '/Views/comment.php');
         $PageComment->addVar('comment', $Comment);
         $PageComment->addVar('router', $Router);
         $PageComment->setTemplate('jsonLayout.php');
         $comments_views_a[$Comment->id()] = $PageComment->getGeneratedPage();
     }
     $ajax = array('success' => true, 'comments' => $comments_views_a, 'validation_message' => 'Votre message a bien été ajouté.');
     $this->page->addVar('ajax', json_encode($ajax));
 }
Example #21
0
 public function executeTest(HTTPRequest $request)
 {
     $this->page->addVar('test', $request->getData('id'));
     echo 'test ';
     echo $request->getData('id');
 }
Example #22
0
 public function executeDeleteCommentUsingAjax(HTTPRequest $Request)
 {
     $CommentManager = $this->managers->getManagerOf('Comments');
     $Comment = $CommentManager->getUnique($Request->getData('comment_id'));
     $this->page->setTemplate('jsonLayout.php');
     if (!$Comment) {
         $this->page->addVar('ajax', json_encode(array('success' => false, 'erreurs' => 'Le commentaire n\'existe pas !')));
         return;
     }
     $Membre = $this->app->user()->getAttribute('user');
     if ($Comment->auteurId() != $Membre->id() && $Membre->level() != MemberManager::ADMINISTRATOR) {
         $this->page->addVar('ajax', json_encode(array('success' => false, 'erreurs' => 'Droits insuffisants')));
         return;
     }
     $CommentManager->delete($Request->getData('comment_id'));
     $this->page->addVar('ajax', json_encode(array('success' => true, 'validation_message' => 'Votre message a bien été supprimé')));
 }