/** * 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, $idTopic) { // $ajouter = false; $forum = ForumForum::findOrFail($idForum); $topic = ForumTopic::findOrFail($idTopic); $posts = ForumPost::where('forum_topic_id', '=', $idTopic)->orderBy('created_at')->paginate(10); // tester autorisation d'ajout if (Auth::user() != NULL) { if (Auth::user()->rang()->first()->getId() >= $forum->getPermissionPost() && $topic->getGenreId() != 2) { $ajouter = true; } } foreach ($posts as $post) { $post->setTexte(str_replace('<script', '', $post->getTexte())); $post->setTexte(str_replace('</script', '', $post->getTexte())); $post->setTexte(str_replace('<div', '', $post->getTexte())); $post->setTexte(str_replace('</div', '', $post->getTexte())); } return view('forum.posts')->with(compact('topic', 'forum', 'posts', 'ajouter', 'idForum', 'idTopic')); }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($idForum, $id, TopicRequest $request) { // $topic = ForumTopic::findOrFail($id); $topic->setTitre($request->input('topic_titre')); $topic->setGenreId($request->input('topic_genre')); $topic->save(); return redirect('forum/' . $idForum . '/topic'); }