Пример #1
0
 public function run()
 {
     $User = $this->app->user();
     $Membre = $User->getAttribute('user');
     $Router = new Router();
     if ($User->isAuthenticated()) {
         $menu = '<nav>';
         $menu .= '<ul>';
         $menu .= '<li><a href="' . $Router->getUrl('Frontend', 'News', 'index') . '">Accueil</a></li>';
         if ($Membre->level() == MemberManager::ADMINISTRATOR) {
             $menu .= '<li><a href="' . $Router->getUrl('Frontend', 'Administration', 'index') . '">Administration</a></li>';
         }
         if ($Membre->level() > MemberManager::ADMINISTRATOR) {
             $menu .= '<li><a href="' . $Router->getUrl('Frontend', 'Administration', 'index') . '">Mon Compte</a>';
         }
         $menu .= '<li><a href="' . $Router->getUrl('Backend', 'Connexion', 'deconnexion') . '">Déconnexion de ' . htmlspecialchars($Membre->login()) . '</a></li>';
         $menu .= '</ul>';
         $menu .= '</nav>';
         $this->page->addVar('menu', $menu);
     } else {
         $menu = '<nav>';
         $menu .= '<ul>';
         $menu .= '<li><a href="' . $Router->getUrl('Frontend', 'News', 'index') . '">Accueil</a></li>';
         $menu .= '<li><a href="' . $Router->getUrl('Frontend', 'Connexion', 'index') . '">Connexion</a></li>';
         $menu .= '<li><a href="' . $Router->getUrl('Frontend', 'Connexion', 'inscription') . '">Inscription</a></li>';
         $menu .= '</ul>';
         $menu .= '</nav>';
         $this->page->addVar('menu', $menu);
     }
     $member_form = '<form class="find_member_form" action="' . $Router->getUrl('Frontend', 'Member', 'findMember') . '" method="post">';
     $member_form .= '<input type="text" name="member_login" placeholder="Chercher un Membre" /> ';
     $member_form .= '<input type="submit" value="Chercher">';
     $member_form .= '</form>';
     $this->page->addVar('member_form', $member_form);
 }
Пример #2
0
 public function executeShow(HTTPRequest $request)
 {
     $news = $this->managers->getManagerOf('News')->getUnique($request->getData('id'));
     if (empty($news)) {
         $this->app->httpResponse()->redirect404();
         $this->run();
     }
     // Si le formulaire a été envoyé.
     if ($request->method() == 'POST') {
         $Comment = new Comment(['newsId' => $request->getData('news_id'), 'auteurId' => $this->app->user()->getAttribute('user')->id(), '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_id') . '.html');
     }
     $Router = new Router();
     $form_action = $Router->getUrl('Backend', 'News', 'insertComment', array('news_id' => $request->getData('id')));
     $form_action_ajax_validation = $Router->getUrl('Backend', 'News', 'insertCommentUsingAjax', array('news_id' => $request->getData('id')));
     $jsFiles_a = array();
     $jsFiles_a[] = '<script type="text/javascript" src="/js/CommentInsertUsingAjax.js"></script>';
     $news_id = $request->getData('id');
     $this->run();
     $this->page->addVar('news_id', $news_id);
     $this->page->addVar('form_action', $form_action);
     $this->page->addVar('form_action_ajax_validation', $form_action_ajax_validation);
     $this->page->addVar('comment', $Comment);
     $this->page->addVar('form', $form->createView());
     $this->page->addVar('title', 'Ajout d\'un commentaire');
     $this->page->addVar('jsFiles_a', $jsFiles_a);
     $this->page->addVar('router', new Router());
     $this->page->addVar('title', $news->titre());
     $this->page->addVar('news', $news);
     $this->page->addVar('comments', $this->managers->getManagerOf('Comments')->getListOf($news->id()));
 }
 public function executeIndex(HTTPRequest $request)
 {
     $User = $this->app->user()->getAttribute('user');
     if (!$User) {
         $this->app->user()->setFlash('Vous devez être connecté pour accéder à votre compte');
     }
     $Router = new Router();
     $links = '<ul>';
     if ($User->level() == MemberManager::ADMINISTRATOR) {
         $links .= '<li><a href="' . $Router->getUrl('Backend', 'Member', 'index') . '">Gestion des utilisateurs</a></li>';
     }
     if ($User->level() <= MemberManager::WRITER) {
         $links .= '<li><a href="' . $Router->getUrl('Backend', 'News', 'index') . '">Gestion des news</a></li>';
     }
     if ($User->level() > MemberManager::ADMINISTRATOR) {
         $links .= '<li><a href="' . $Router->getUrl('Frontend', 'Connexion', 'unsubscribe') . '">Formulaire de désincription</a></li>';
     }
     $links .= '<li><a href="#">Modifier mes informations <em>(Work in Progress)</em></a></li>';
     $links .= '</ul>';
     $this->run();
     $this->page->addVar('title', 'Administration');
     $this->page->addVar('links', $links);
     $this->page->addVar('router', new Router());
 }