/**
  * 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'));
 }
Esempio n. 2
0
 /**
  * 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'));
 }
Esempio n. 3
0
 /**
  * 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');
 }