Files
freeu-project/app/Http/Controllers/Admin/ManageNewsController.php
Ritikesh yadav c661166e1d first commit
2024-03-28 14:52:40 +05:30

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,
]);
}
}