/** * 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')); }
/** * Display a listing of the resource. * * @return Response */ public function index($idForum) { $ajouter = false; $forum = ForumForum::findOrFail($idForum); $topics = ForumTopic::where('forum_id', '=', $idForum)->orderBy('topic_genre', 'desc')->paginate(10); $lastPosts = array(); $firstPosts = array(); foreach ($topics as $topic) { $lastPost = ForumPost::findOrFail($topic->getLastPostId()); array_push($lastPosts, $lastPost); $firstPost = ForumPost::findOrFail($topic->getFirstPostId()); array_push($firstPosts, $firstPost); } // tester autorisation d'ajout if (Auth::user() != NULL) { if (Auth::user()->rang()->first()->getId() >= $forum->getPermissionTopic()) { $ajouter = true; } } return view('forum.topics')->with(compact('topics', 'forum', 'lastPosts', 'firstPosts', 'ajouter')); }
/** * 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'); }