/home/u503560585/domains/mscm.me/public_html/app/Http/Controllers/Dashboard/ServicesController.php
<?php
namespace App\Http\Controllers\Dashboard;
use App\Http\Controllers\Controller;
use App\Models\Banner;
use App\Http\Requests;
use App\Models\WebmasterBanner;
use App\Models\ServiceSite;
use App\Models\WebmasterSection;
use Auth;
use Exception;
use File;
use Helper;
use Illuminate\Config;
use Illuminate\Http\Request;
use Redirect;
class ServicesController extends Controller
{
private $uploadPath = "uploads/services/";
// Define Default Variables
public function __construct()
{
$this->middleware('auth');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
// General for all pages
$GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
// General END
//List of Banners Sections
$ServiceSites = ServiceSite::all();
return view("dashboard.service.list", compact("ServiceSites", "GeneralWebmasterSections"));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
// General for all pages
$GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
// General END
return view("dashboard.service.create", compact("GeneralWebmasterSections"));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
try {
// Check Permissions
if (!@Auth::user()->permissionsGroup->add_status) {
return Redirect::to(route('NoPermission'))->send();
}
$ServiceSite = new ServiceSite;
$ServiceSite->type_service = $request->type_service;
$ServiceSite->title_ar = $request->title_ar;
$ServiceSite->title_en = $request->title_en;
$ServiceSite->details_ar = $request->details_ar;
$ServiceSite->details_en = $request->details_en;
$ServiceSite->link_url = $request->link_url;
$ServiceSite->status = $request->status;
foreach (Helper::languagesList() as $ActiveLanguage) {
if ($ActiveLanguage->box_status) {
// Start of Upload Files
$formFileName = "file_" . $ActiveLanguage->code;
$fileFinalName = "";
if ($request->$formFileName != "") {
$this->validate($request, [
$formFileName => 'mimes:png,jpeg,jpg,gif,svg'
]);
$fileFinalName = time() . rand(1111,
9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
$path = $this->uploadPath;
$request->file($formFileName)->move($path, $fileFinalName);
}
//save file name
if ($fileFinalName != "") {
// Delete a banner file
if ($ServiceSite->{"file_" . $ActiveLanguage->code} != "") {
File::delete($this->uploadPath . $ServiceSite->{"file_" . $ActiveLanguage->code});
}
$ServiceSite->{"file_" . $ActiveLanguage->code} = "/".$this->uploadPath . $fileFinalName;
}
}
}
if($request->type_service == ServiceSite::TYPE_CONTENT) {
$content = $request->sub_content;
if(count($content) > 0) {
$ServiceSite->content = json_encode($content);
}
}
$ServiceSite->save();
return redirect()->route('Services')->with('doneMessage', __('backend.addDone'));
} catch(\Exception $e) {
dd($e);
}
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
// Check Permissions
if (!@Auth::user()->permissionsGroup->edit_status) {
return Redirect::to(route('NoPermission'))->send();
}
//
// General for all pages
$GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
// General END
$ServiceSite = ServiceSite::find($id);
if (!empty($ServiceSite)) {
//Banner Sections Details
return view("dashboard.service.edit", compact("ServiceSite", "GeneralWebmasterSections"));
} else {
return redirect()->route('Services')->with('doneMessage', __('backend.addDone'));
}
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
try {
// Check Permissions
if (!@Auth::user()->permissionsGroup->add_status) {
return Redirect::to(route('NoPermission'))->send();
}
$ServiceSite = ServiceSite::find($id);
$ServiceSite->title_ar = $request->title_ar;
$ServiceSite->title_en = $request->title_en;
$ServiceSite->details_ar = $request->details_ar;
$ServiceSite->details_en = $request->details_en;
$ServiceSite->link_url = $request->link_url;
$ServiceSite->status = $request->status;
foreach (Helper::languagesList() as $ActiveLanguage) {
if ($ActiveLanguage->box_status) {
// Start of Upload Files
$formFileName = "file_" . $ActiveLanguage->code;
$fileFinalName = "";
if ($request->$formFileName != "") {
$this->validate($request, [
$formFileName => 'mimes:png,jpeg,jpg,gif,svg'
]);
$fileFinalName = time() . rand(1111,
9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
$path = $this->uploadPath;
$request->file($formFileName)->move($path, $fileFinalName);
}
//save file name
if ($fileFinalName != "") {
// Delete a banner file
if ($ServiceSite->{"file_" . $ActiveLanguage->code} != "") {
File::delete($this->uploadPath . $ServiceSite->{"file_" . $ActiveLanguage->code});
}
$ServiceSite->{"file_" . $ActiveLanguage->code} = "/".$this->uploadPath . $fileFinalName;
}
}
}
$ServiceSite->save();
return redirect()->route('Services')->with('doneMessage', __('backend.addDone'));
} catch(\Exception $e) {
dd($e);
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
// Check Permissions
if (!@Auth::user()->permissionsGroup->delete_status) {
return Redirect::to(route('NoPermission'))->send();
}
//
$ServiceSite = ServiceSite::find($id);
if (!empty($ServiceSite)) {
// Delete a ServiceSite file
foreach (Helper::languagesList() as $ActiveLanguage) {
if ($ActiveLanguage->box_status) {
if ($ServiceSite->{"file_" . $ActiveLanguage->code} != "") {
File::delete($ServiceSite->{"file_" . $ActiveLanguage->code});
}
}
}
$ServiceSite->delete();
return redirect()->route('Services')->with('doneMessage', __('backend.deleteDone'));
} else {
return redirect()->route('Services');
}
}
/**
* Update all selected resources in storage.
*
* @param \Illuminate\Http\Request $request
* @param buttonNames , array $ids[]
* @return \Illuminate\Http\Response
*/
public function updateAll(Request $request)
{
//
if ($request->action == "order") {
foreach ($request->row_ids as $rowId) {
$Banner = Banner::find($rowId);
if (!empty($Banner)) {
$row_no_val = "row_no_" . $rowId;
$Banner->row_no = $request->$row_no_val;
$Banner->save();
}
}
} else {
if ($request->ids != "") {
if ($request->action == "activate") {
Banner::wherein('id', $request->ids)
->update(['status' => 1]);
} elseif ($request->action == "block") {
Banner::wherein('id', $request->ids)
->update(['status' => 0]);
} elseif ($request->action == "delete") {
// Check Permissions
if (!@Auth::user()->permissionsGroup->delete_status) {
return Redirect::to(route('NoPermission'))->send();
}
// Delete banners files
$Banners = Banner::wherein('id', $request->ids)->get();
foreach ($Banners as $banner) {
foreach (Helper::languagesList() as $ActiveLanguage) {
if ($ActiveLanguage->box_status) {
if ($banner->{"file_" . $ActiveLanguage->code} != "") {
File::delete($this->uploadPath . $banner->{"file_" . $ActiveLanguage->code});
}
}
}
}
Banner::wherein('id', $request->ids)
->delete();
}
}
}
return redirect()->action('Dashboard\BannersController@index')->with('doneMessage', __('backend.saveDone'));
}
}
@LwBee Strong Bypass
Upload File
Create New File