Example #1
0
 public function restoreDeleted($id)
 {
     $article = Article::onlyTrashed()->find($id, ['id']);
     if (empty($article)) {
         return response()->json(404);
     }
     $this->articles->restoreTags($article);
     $article->restore();
     return response()->json(200);
 }
Example #2
0
 public function onlyDeleted()
 {
     $articles = Article::onlyTrashed()->with('user')->latest('deleted_at')->paginate(10);
     return $articles;
 }
 public function restoreOrDelete(Request $request)
 {
     $id = $request->id;
     $action = $request->action;
     $article = Article::onlyTrashed()->find($id);
     if (empty($article)) {
         return response()->json(['status' => 404, 'msg' => '文章不存在']);
     }
     if (Gate::denies('owns', $article)) {
         return response()->json(['status' => 403, 'msg' => '无权操作非自己的文章']);
     }
     if (!in_array($action, ['restore', 'forceDelete'])) {
         return response()->json(['status' => 403, 'msg' => '非法操作']);
     }
     if ($action == 'restore') {
         $article->restore();
         $this->articles->restoreTags($article);
         return response()->json(['status' => 200, 'msg' => '恢复成功']);
     } else {
         $article->likes()->delete();
         Comment::where('article_id', $article->id)->delete();
         Auth::user()->histories()->create(['type' => 'article', 'content' => '清除文章《<a href="javascript:;">' . $article->title . '</a>》']);
         $article->forceDelete();
         return response()->json(['status' => 200, 'msg' => '删除成功']);
     }
 }
 public function recycle()
 {
     $articles = Article::onlyTrashed()->paginate(15);
     return view('admin.articles.recycle', compact('articles'));
 }
 public function onlyDeleted()
 {
     $articles = Article::onlyTrashed()->with('user')->Orderby('deleted_at', 'DESC')->paginate(10);
     return $articles;
 }
 public function forceDelete($id)
 {
     Article::onlyTrashed()->find($id)->forceDelete();
     return redirect('admin/articles/trash');
 }