예제 #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     if (!$request->has('comment')) {
         return JsonResponse::create(array('error' => 'invalid_request'));
     }
     $user = auth()->check() ? auth()->user() : null;
     if (is_null($user)) {
         return JsonResponse::create(array('error' => 'not_logged_in'));
     }
     if (!$user->can('edit_comment')) {
         return JsonResponse::create(array('error' => 'insufficient_permissions'));
     }
     if (is_null($comment = Comment::whereId($id)->first())) {
         return JsonResponse::create(array('error' => 'comment_not_found'));
     }
     $comment->content = e(trim($request->get('comment')));
     $comment->save();
     $log = new ModeratorLog();
     $log->user()->associate($user);
     $log->type = 'edit';
     $log->target_type = 'comment';
     $log->target_id = $id;
     $log->save();
     return JsonResponse::create(array('error' => 'null', 'rendered_comment' => Comment::simplemd($comment->content)));
 }