浏览代码

Update PageController

Daniel Supernault 6 年之前
父节点
当前提交
59fcfc2779
共有 1 个文件被更改,包括 25 次插入1 次删除
  1. 25 1
      app/Http/Controllers/PageController.php

+ 25 - 1
app/Http/Controllers/PageController.php

@@ -3,7 +3,7 @@
 namespace App\Http\Controllers;
 
 use Illuminate\Http\Request;
-use Auth;
+use Auth, Cache;
 use App\Page;
 
 class PageController extends Controller
@@ -13,6 +13,14 @@ class PageController extends Controller
 		$this->middleware(['auth', 'admin']);
 	}
 
+	protected function cacheKeys() {
+		return [
+			'/site/about' => 'site:about',
+			'/site/privacy' => 'site:privacy',
+			'/site/terms' => 'site:terms',
+		];
+	}
+
 	protected function authCheck($admin_only = false)
 	{
 		$auth = $admin_only ?
@@ -48,9 +56,25 @@ class PageController extends Controller
 		$page->title = $request->input('title');
 		$page->active = (bool) $request->input('active');
 		$page->save();
+		if($page->cached) {
+			$keys = $this->cacheKeys();
+			$key = $keys[$page->slug];
+			Cache::forget($key);
+		}
 		return response()->json(['msg' => 200]);
 	}
 
+	public function delete(Request $request)
+	{
+		$this->validate($request, [
+			'id' => 'required|integer|min:1|exists:pages,id'
+		]);
+
+		$page = Page::findOrFail($request->input('id'));
+		$page->delete();
+		return redirect(route('admin.settings.pages'));
+	}
+
 	public function generatePage(Request $request)
 	{
 		$this->validate($request, [