<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Illuminate\Http\Facades\DB;
use Auth;
use App\Models\Newsletter;
use Validator;
class NewsletterPopUpController extends Controller
{
//call constructor
public function __construct(){
$this->middleware('auth:admin');
}
public function index(){
$data = array();
$data['newsletter'] = Newsletter::find(1);
return view('admin.newsletter_popup', $data);
}
//view contact request
public function updateNewsletter(Request $request){
//define rule
$rules =[
'title' => 'required',
'banner' => 'mimes:jpeg,png,svg,gif,jpg|max:4098',
];
$validator = Validator::make($request->all(), $rules);
if($validator->fails()){
return response()->json(array(
"errors" => $validator->getMessageBag()->toArray(),
"status" => false,
"message" => "<div class='alert alert-danger'>There were error. please try again</div>"
));
}
//define object
$data = Newsletter::find($request->id);
$data->title = $request->title;
$data->subtitle = $request->subtitle;
$data->status = $request->status;
//upload banner
if($file = $request->file('banner')){
$banner = time().$file->getClientOriginalName();
$file->move(public_path('images/newsletter'), $banner);
$data->banner = $banner;
}
/*--- if data saved, then show success and redirect ---*/
if($data->save()){
return response()->json(array(
"status" => true,
"redirect" => route("admin.newsletter_popup", $request->id),
"message" => "<div class='alert alert-success'>Newsletter settings saved. please wait...</div>"
));
}
/*--- if unsuccessful, then show error ---*/
return response()->json(array(
"errors" => $validator->getMessageBag()->toArray(),
"status" => false,
"message" => "<div class='alert alert-danger'>There were error. please try again</div>"
));
}
//delete image
public function deleteBanner($image){
$data = Newsletter::find(1);
$data->banner = '';
if($data->save()){
//If Photo Exist
//echo "asdasd"; die();
if (file_exists(public_path().'/images/newsletter/'.$image)) {
unlink(public_path().'/images/newsletter/'.$image);
}
return redirect()->route("admin.newsletter_popup")->with("success", "Banner deleted successfully");
}
}
}
|