/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $urlArray = explode('/', $request->url()); for ($i = 0; $i < count($urlArray); $i++) { if ($urlArray[$i] == 'forum') { $forum = ForumForum::findOrFail($urlArray[$i + 1]); if ($forum->getPermissionModerer() == 1) { return $next($request); } if (Auth::user() != NULL) { if (Auth::user()->rang()->first()->getId() >= $forum->getPermissionModerer()) { return $next($request); } } } if ($urlArray[$i] == 'topic' && $urlArray[$i + 2] == 'edit') { $topic = ForumTopic::findOrFail($urlArray[$i + 1]); if (Auth::user() != NULL) { if (Auth::user()->getId() == $topic->createur()->first()->getId()) { return $next($request); } } } if ($urlArray[$i] == 'post' && $urlArray[$i + 2] == 'edit') { $post = ForumPost::findOrFail($urlArray[$i + 1]); if (Auth::user() != NULL) { if (Auth::user()->getId() == $post->createur()->first()->getId()) { return $next($request); } } } } return new RedirectResponse(url('/forum/' . $forum->getId() . '/topic')); }
/** * Store a newly created resource in storage. * * @return Response */ public function store($idForum, TopicRequest $request) { // $topic = new ForumTopic(); $post = new ForumPost(); $topic->setForumId($idForum); $topic->setTitre($request->input('topic_titre')); $topic->setNbVu(0); $topic->setNbPost(0); $topic->setVerrouille(false); $topic->setGenreId($request->input('topic_genre')); $post->setTexte($request->input('post_texte')); $post->setForumId($idForum); Auth::user()->topics()->save($topic); $post->setTopicId($topic->getId()); Auth::user()->posts()->save($post); $topic->setFirsPostId($post->getId()); $topic->setLastPostId($post->getId()); $topic->save(); return redirect('forum/' . $idForum . '/topic'); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($idForum, $idTopic, $id) { // $post = ForumPost::findOrFail($id); if ($post->getIsDelete() == false) { $post->setIsDelete(true); $post->save(); } else { $post->setIsDelete(false); $post->save(); } return redirect('forum/' . $idForum . '/topic/' . $idTopic . '/post'); }