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