page->addVar('title', 'Gestion des news'); $manager = $this->managers->getManagerOf('news'); $this->page->addVar('listeNews', $manager->getList()); $this->page->addVar('nombreNews', $manager->count()); } public function executeDelete(HTTPRequest $request) { $this->managers->getManagerOf('news')->delete($request->getData('id')); $this->app->user()->setFlash('La news a bien ?t? supprim?e !'); $this->app->httpResponse()->redirect('.'); } 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('.'); } public function executeInsert(HTTPRequest $request) { if ($request->postExists('auteur')) { $this->processForm($request); } $this->page->addVar('title', 'Ajout d\'une news'); } public function executeUpdate(HTTPRequest $request) { if ($request->postExists('auteur')) { $this->processForm($request); } else { $this->page->addVar('news', $this->managers->getManagerOf('news')->getUnique($request->getData('id'))); } $this->page->addVar('title', 'Modification d\'une news'); } public function executeUpdateComment(HTTPRequest $request) { $this->page->addVar('title', 'Modification d\'un commentaire'); if ($request->postExists('pseudo')) { $comment = new Comment(array( 'id' => $request->getData('id'), 'auteur' => $request->postData('pseudo'), 'contenu' => $request->postData('contenu') )); if ($comment->isValid()) { $this->managers->getManagerOf('comments')->save($comment); $this->app->user()->setFlash('Le commentaire a bien ?t? modifi? !'); $this->app->httpResponse()->redirect('/news-'.$request->postData('news').'.html'); } else { $this->page->addVar('erreurs', $comment->erreurs()); } $this->page->addVar('comment', $comment); } else { $this->page->addVar('comment', $this->managers->getManagerOf('comments')->get($request->getData('id'))); } } public function processForm(HTTPRequest $request) { $news = new News( array( 'auteur' => $request->postData('auteur'), 'titre' => $request->postData('titre'), 'contenu' => $request->postData('contenu') ) ); // L'identifiant de la news est transmis si on veut la modifier if ($request->postExists('id')) { $news->setId($request->postData('id')); } if ($news->isValid()) { $this->managers->getManagerOf('news')->save($news); $this->app->user()->setFlash($news->isNew() ? 'La news a bien ?t? ajout?e !' : 'La news a bien ?t? modifi?e !'); } else { $this->page->addVar('erreurs', $news->erreurs()); } $this->page->addVar('news', $news); } }