138 lines
4.1 KiB
PHP
138 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Models\Admin\News;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\File;
|
|
use App\Http\Controllers\Controller;
|
|
|
|
class ManageNewsController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$data = News::orderBy('id', 'DESC')->get();
|
|
return view('Admin.Pages.manage_cms.manage_news.manage_news')->with(['data' => $data]);
|
|
}
|
|
|
|
public function add_news()
|
|
{
|
|
return view('Admin.Pages.manage_cms.manage_news.add_news');
|
|
}
|
|
|
|
public function store_news(Request $request)
|
|
{
|
|
$data = new News();
|
|
$data->news_title = $request->news_title;
|
|
$data->news_schedule_at = $request->news_schedule_at;
|
|
$data->news_description = $request->news_description;
|
|
|
|
if ($request->hasFile('news_image')) {
|
|
$file = $request->file('news_image');
|
|
$filename = date('YmdHi') . $file->getClientOriginalName();
|
|
$file->move(public_path('uploads/news/images'), $filename);
|
|
$data->news_image = 'uploads/news/images/'.$filename;
|
|
}
|
|
$data->save();
|
|
$news_id = $data->id;
|
|
|
|
if (isset($news_id) && $news_id != '') {
|
|
$request->session()->flash('message', 'News added successfully.');
|
|
return response()->json(['status' => 200]);
|
|
} else {
|
|
return response()->json([
|
|
'status' => 204,
|
|
'message' => 'Data is missing.'
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function show_news($id)
|
|
{
|
|
$data['news_data'] = News::where('id',$id)->first();
|
|
// print_r($data);
|
|
// exit;
|
|
return view('Admin.Pages.manage_cms.manage_news.show_news', $data);
|
|
}
|
|
|
|
public function edit_news($id)
|
|
{
|
|
$data['news_data'] = News::find($id);
|
|
return view('Admin.Pages.manage_cms.manage_news.edit_news', $data);
|
|
}
|
|
|
|
public function update_news(Request $request)
|
|
{
|
|
$data = News::find($request->news_id);
|
|
$data->news_title = $request->news_title;
|
|
$data->news_schedule_at = $request->news_schedule_at;
|
|
$data->news_description = $request->news_description;
|
|
|
|
if($request->hasfile('news_image')){
|
|
|
|
$old_image = 'uploads/news/images'.$request->news_image;
|
|
if(File::exists($old_image)){
|
|
File::delete($old_image);
|
|
|
|
}
|
|
$file = $request->file('news_image');
|
|
$filename = date('YmdHi') . $file->getClientOriginalName();
|
|
$file->move(public_path('uploads/news/images'),$filename);
|
|
$data->news_image = 'uploads/news/images/'.$filename;
|
|
|
|
}
|
|
$data->save();
|
|
$news_id = $data->id;
|
|
if (isset($news_id) && $news_id != '') {
|
|
$request->session()->flash('message', 'News updated successfully.');
|
|
return response()->json(['status' => 200]);
|
|
} else {
|
|
return response()->json([
|
|
'status' => 204,
|
|
'message' => 'Data is missing.'
|
|
]);
|
|
}
|
|
}
|
|
public function delete_news(Request $request, $id)
|
|
{
|
|
$data = News::find($id);
|
|
if ($data) {
|
|
$data->delete();
|
|
$request->session()->flash('message', 'News deleted successfully.');
|
|
return response()->json([
|
|
'status' => 200,
|
|
'message' => 'News Deleted Successfully.'
|
|
]);
|
|
} else {
|
|
$request->session()->flash('message', 'Something went wrong! Please Try Again.');
|
|
return response()->json([
|
|
'status' => 204,
|
|
'message' => 'Something went wrong! Please Try Again.'
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function news_status(Request $request)
|
|
{
|
|
$data = News::where('id',$request->id)->first();
|
|
if($data)
|
|
{
|
|
if ($request->status == '1')
|
|
{
|
|
$data->status = '0';
|
|
}
|
|
else
|
|
{
|
|
$data->status = '1';
|
|
}
|
|
$data->save();
|
|
}
|
|
|
|
return response()->json([
|
|
'status' => 200,
|
|
]);
|
|
}
|
|
|
|
|
|
}
|