Path : /var/www/html/phkaynews-v2/app/Http/Controllers/Admin/ |
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
Current File : /var/www/html/phkaynews-v2/app/Http/Controllers/Admin/PostController.php |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Category; use App\Models\Post; use App\Models\PostCategory; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; // use Illuminate\Support\Facades\Mail; // use App\Mail\PostMail; class PostController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } /** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function store(Request $request) { $datas = $request->all(); // dd($datas) if ($request->hasFile('feature_image')) { $datas['feature_image'] = $this->uploadImage($request); } $datas['user_id'] = Auth::user()->id; if ($request->public) { $datas['public'] = 1; } else { $datas['public'] = 0; } $post = Post::create($datas); if (isset($datas['category_ids'])) { foreach ($datas['category_ids'] as $cat) { // insert item PostCategory::create(['post_id' => $post->id, 'category_id' => $cat]); } } return redirect()->route('admin.posts.index')->with('success', 'Post saved successfully.'); } public function index() { $posts = Post::orderBy('id', 'desc')->paginate(20); return view('admin.post.postList', ['posts' => $posts]); } public function create() { $categories = Category::orderBy("name")->get(); return view('admin.post.postForm', ['categories' => $categories]); } public function edit($id) { $post = Post::where("id", $id)->first(); $categories = Category::orderBy("name")->get(); return view('admin.post.postForm', ['post' => $post, 'categories' => $categories]); } public function update(Request $request, $id) { $post = Post::findOrFail($id); $datas = $request->all(); $existing_categories = $post->post_categories->pluck('category_id')->toArray(); // $selected_categories = $datas['category_ids']; // check to add new cat if (isset($datas['category_ids'])) { foreach ($datas['category_ids'] as $cat) { // insert item if (!in_array($cat, $existing_categories)) { PostCategory::create(['post_id' => $post->id, 'category_id' => $cat]); } } } // check to remove old cat foreach ($existing_categories as $cat) { if (!in_array($cat, $datas['category_ids'])) { $pc = PostCategory::where("post_id", $post->id)->where("category_id", $cat)->firstOrFail(); $pc->delete(); } } if ($request->hasFile('feature_image')) { $datas['feature_image'] = $this->uploadImage($request); } if ($request->public) { $datas['public'] = 1; } else { $datas['public'] = 0; } $post->update($datas); return redirect()->route('admin.posts.index')->with('success', 'Post have been updated successfully'); } public function destroy($id) { $post = Post::findOrFail($id); $post->delete(); return redirect()->route('admin.posts.index')->with('success', 'Post have been deleted successfully'); } public function show(Request $request) { return redirect()->route('admin.posts.index'); } private function uploadImage(Request $request) { $image = $request->file('feature_image'); $name = time() . '.' . $image->getClientOriginalName(); $destinationPath = public_path('images/'); $image->move($destinationPath, $name); return 'images/' . $name; } public function search(Request $request) { $posts = Post::where('title','like','%'.$request->q.'%')->orderBy('id','desc')->paginate(20); return view('admin.post.postList',['posts' => $posts,'q' => $request->q]); } }