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); }
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()); }