HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/fieldsblaze-heroku/app/Http/Controllers/CompanyProfileController.php
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\CompanyProfile;
use App\Models\CompanyBankDetail;
use App\Models\TermsConditions;
use App\Models\Countries;

use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\File;
use App\Library\UserLib;


class CompanyProfileController extends Controller
{
    protected $userLib;
    public function __construct(UserLib $userLib)
	{
		$this->userLib = $userLib;
	}

    public function CompanyProfile()
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }

        // $CompanyProfile = CompanyProfile::select('tbl_company_profile.*', 'tbl_countries.country_name as Country', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
        // ->leftJoin('tbl_admin', 'tbl_company_profile.Updated_by', '=', 'tbl_admin.UserId')
        // ->leftJoin('tbl_countries', 'tbl_company_profile.Country', '=', 'tbl_countries.id')
        // ->get()->first();

        $CompanyProfile = CompanyProfile::select('tbl_company_profile.*')
            ->get()->first();

        $country_id = $CompanyProfile->Country;

        $GetCountryName = Countries::select('*')
            ->where('id', $country_id)
            ->get()
            ->first();

        $CountryName = $GetCountryName->country_name;

        if ($CompanyProfile) {
            $CompanyProfile = $CompanyProfile;
        } else {
            $CompanyProfile = '';
        }

        $BankDetail = CompanyBankDetail::select('tbl_company_bank_detail.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')
        ->leftJoin('tbl_admin', 'tbl_company_bank_detail.Updated_by', '=', 'tbl_admin.UserId')
        ->where('tbl_company_bank_detail.IsDeleted', '=', '0')
        ->orderBy('tbl_company_bank_detail.id', 'desc')
        ->get();
        $TermsUser = TermsConditions::select('tbl_terms_conditions.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')->where('tbl_terms_conditions.TermsCategory', '=', 'User')
        ->leftJoin('tbl_admin', 'tbl_terms_conditions.Updated_by', '=', 'tbl_admin.UserId')
        ->orderBy('tbl_terms_conditions.id', 'DESC')
        ->get()->first();
        $TermsOrderInvoice = TermsConditions::select('tbl_terms_conditions.*', 'tbl_admin.FirstName as Updated_by', 'tbl_admin.FirstName as Created_by')->where('tbl_terms_conditions.TermsCategory', '=', 'Order Invoice')
        ->leftJoin('tbl_admin', 'tbl_terms_conditions.Updated_by', '=', 'tbl_admin.UserId')
        ->orderBy('tbl_terms_conditions.id', 'DESC')
        ->get()->first();
        return view('admin.company-profile', ['CompanyProfile' => $CompanyProfile, 'BankDetail' => $BankDetail, 'TermsOrderInvoice' => $TermsOrderInvoice, 'TermsUser' => $TermsUser, 'CountryName' => $CountryName]);
    }

    ### Save Compnay Profile
    public function storeCompanyProfile(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }

        $input = $request->all();
        $data = $input;

        //Profile Image
        $path1 = '';
        $ProfileImage = $request->file('ProfileImage');
        $imageName1 = $this->userLib->useridGenrator();
        $path1 = '';
        if ($request->hasFile('ProfileImage'))
        {
        $file1 = $request->file('ProfileImage');
        $extension = $file1->getClientOriginalExtension();
        $ProfileImage = $imageName1.'-'.time() . '.' . $extension;

        Storage::putFileAs(
            'public/company-info', $file1, $ProfileImage
        );
        $path1 = Storage::url('company-info/'.$ProfileImage);
        }

        //Company Seal Image
        $path2 = '';
        $SealImage = $request->file('SealImage');
        $imageName2 = $this->userLib->useridGenrator();
        $path2 = '';
        if ($request->hasFile('SealImage'))
        {
        $file2 = $request->file('SealImage');
        $extension = $file2->getClientOriginalExtension();
        $SealImage = $imageName2.'-'.time() . '.' . $extension;

        Storage::putFileAs(
            'public/company-info', $file2, $SealImage
        );
        $path2 = Storage::url('company-info/'.$SealImage);
        }

        // UPI Image
        $path3 = '';
        $UPIImage = $request->file('UPIImage');
        $imageName3 = $this->userLib->useridGenrator();
        $path3 = '';
        if ($request->hasFile('UPIImage'))
        {
        $file3 = $request->file('UPIImage');
        $extension = $file3->getClientOriginalExtension();
        $UPIImage = $imageName3.'-'.time() . '.' . $extension;

        Storage::putFileAs(
            'public/company-info', $file3, $UPIImage
        );
        $path3 = Storage::url('company-info/'.$UPIImage);
        }

        $data['CompanyId'] =  $this->userLib->useridGenrator();
        $data['CompanyProfileImage'] = $path1;
        $data['CompanySealImage'] = $path2;
        $data['CompanyUPIImage'] = $path3;
        $data['IsDeleted'] = 0;
        $data['Status'] = 1;
        $data['Created_by'] = session('UserId');
        $data['Created_at'] = date('Y-m-d H:i:s', time());
        $data['Updated_by'] = session('UserId');
        $data['Updated_at'] = date('Y-m-d H:i:s', time());

        unset($data['_token']);
        unset($data['ProfileImage']);
        unset($data['SealImage']);
        unset($data['UPIImage']);

        $insert_info = CompanyProfile::insert($data);

        if ($insert_info) {
            return response()->json('status_success');
        } else {
            return response()->json('status_failed');
        }

    }

    ### Get company data for Edit Company profile & Address
    public function editCompanyProfile($id)
    {
        $CompanyProfile = CompanyProfile::find($id);
        return response()->json([
            'status' => 200,
            'Company' => $CompanyProfile,
        ]);
    }

    ### Get Terms for Edit
    public function editCompanyTerms($id)
    {
        $TermsConditions = TermsConditions::find($id);
        return response()->json([
            'status' => 200,
            'TermsConditions' => $TermsConditions,
        ]);
    }


    ### Update Company profile
    public function updateCompanyProfile(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        //$user_id = Auth::id();
        $company_id =  $request->input('id');
        $CompanyProfile = CompanyProfile::find($company_id);
        $CompanyProfile->CompanyName = $request->input('CompanyName');
        $CompanyProfile->EmailId = $request->input('EmailId');
        $CompanyProfile->AlternateEmailId = $request->input('AlternateEmailId');
        $CompanyProfile->PhoneNo = $request->input('PhoneNo');
        $CompanyProfile->AlternatePhoneNo = $request->input('AlternatePhoneNo');
        $CompanyProfile->CompanyGST = $request->input('CompanyGST');
        $CompanyProfile->CompanyCIN = $request->input('CompanyCIN');
        $CompanyProfile->Created_by = session('UserId');
        $CompanyProfile->Updated_by = session('UserId');

        // $imageName1 = $this->userLib->useridGenrator();
        // if ($request->hasFile('CompanyProfileImage')) {
        //     $file1 = $request->file('CompanyProfileImage');
        //     $extension = $file1->getClientOriginalExtension();
        //     $newFileName1 = $imageName1.'-'.time() . '.' . $extension;

        //     Storage::putFileAs(
        //         'public/company-info', $file1, $newFileName1
        //     );
        //     $path1 = Storage::url('company-info/'.$newFileName1);
        //     $CompanyProfile->CompanyProfileImage =  $path1;
        // }
        $imageName1 = $this->userLib->useridGenrator();
        if ($request->hasFile('CompanyProfileImage')) {
            $path1 = '';
            $file1 = $request->file('CompanyProfileImage');
            $extension = $file1->getClientOriginalExtension();
            $newFileName1 = $imageName1 . '-' . time() . '.' . $extension;

            Storage::putFileAs(
                'public/company-info/',
                $file1,
                $newFileName1
            );
            $destinationPath = 'company-info/';
            $isUploaded = $file1->move($destinationPath,$newFileName1);

            $uploadedFileURL = '';
            if($isUploaded)
            {
                $path1 = 'company-info/' . $newFileName1;
                $ThumbnailUrl = $path1;
            //File Upload Service as s3
            $sourceFileURL = env('APP_URL').'/'.$path1;
            $curl = curl_init();
            curl_setopt_array($curl, array(
            CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
            CURLOPT_HTTPHEADER => array(
                'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
            ),
            ));
            $response = curl_exec($curl);
            curl_close($curl);
            $uploadedFile = json_decode($response,true);
            $uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
            }
            $CompanyProfile->CompanyProfileImage = $uploadedFileURL;
        }

        // $imageName2 = $this->userLib->useridGenrator();

        // if ($request->hasFile('CompanySealImage')) {
        // $file2 = $request->file('CompanySealImage');
        // $extension = $file2->getClientOriginalExtension();
        // $newFileName2 = $imageName2.'-'.time() . '.' . $extension;

        // Storage::putFileAs(
        //     'public/company-info', $file2, $newFileName2
        // );
        // $path2 = Storage::url('company-info/'.$newFileName2);
        // $CompanyProfile->CompanySealImage =  $path2;
        // }
        $imageName2 = $this->userLib->useridGenrator();
        if ($request->hasFile('CompanySealImage')) {
            $path2 = '';
            $file2 = $request->file('CompanySealImage');
            $extension = $file2->getClientOriginalExtension();
            $newFileName2 = $imageName2 . '-' . time() . '.' . $extension;

            Storage::putFileAs(
                'public/company-info/',
                $file2,
                $newFileName2
            );
            $destinationPath = 'company-info/';
            $isUploaded = $file2->move($destinationPath,$newFileName2);

            $uploadedFileURL = '';
            if($isUploaded)
            {
                $path2 = 'company-info/' . $newFileName2;
                $ThumbnailUrl = $path2;
            //File Upload Service as s3
            $sourceFileURL = env('APP_URL').'/'.$path2;
            $curl = curl_init();
            curl_setopt_array($curl, array(
            CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
            CURLOPT_HTTPHEADER => array(
                'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
            ),
            ));
            $response = curl_exec($curl);
            curl_close($curl);
            $uploadedFile = json_decode($response,true);
            $uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
            }
            $CompanyProfile->CompanySealImage = $uploadedFileURL;
        }

        // $imageName3 = $this->userLib->useridGenrator();
        // if ($request->hasFile('CompanyUPIImage')) {
        //     $file3 = $request->file('CompanyUPIImage');
        //     $extension = $file3->getClientOriginalExtension();
        //     $newFileName3 = $imageName3.'-'.time() . '.' . $extension;

        //     Storage::putFileAs(
        //         'public/company-info', $file3, $newFileName3
        //     );
        //     $path3 = Storage::url('company-info/'.$newFileName3);
        //     $CompanyProfile->CompanyUPIImage =  $path3;
        // }
        $imageName3 = $this->userLib->useridGenrator();
        if ($request->hasFile('CompanyUPIImage')) {
            $path3 = '';
            $file3 = $request->file('CompanyUPIImage');
            $extension = $file3->getClientOriginalExtension();
            $newFileName3 = $imageName3 . '-' . time() . '.' . $extension;

            Storage::putFileAs(
                'public/company-info/',
                $file3,
                $newFileName3
            );
            $destinationPath = 'company-info/';
            $isUploaded = $file3->move($destinationPath,$newFileName3);

            $uploadedFileURL = '';
            if($isUploaded)
            {
                $path3 = 'company-info/' . $newFileName3;
                $ThumbnailUrl = $path3;
            //File Upload Service as s3
            $sourceFileURL = env('APP_URL').'/'.$path3;
            $curl = curl_init();
            curl_setopt_array($curl, array(
            CURLOPT_URL => 'http://172.105.42.62/s3-file-server/api-upload.php',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_POSTFIELDS => array('file_url' => $sourceFileURL),
            CURLOPT_HTTPHEADER => array(
                'Cookie: private_content_version=3f7abce738dd8b52d0dcb8653bfe8e93; mage-messages=%5B%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%2C%7B%22type%22%3A%22error%22%2C%22text%22%3A%22Invalid%20Form%20Key.%20Please%20refresh%20the%20page.%22%7D%5D'
            ),
            ));
            $response = curl_exec($curl);
            curl_close($curl);
            $uploadedFile = json_decode($response,true);
            $uploadedFileURL = isset($uploadedFile['url']) ? $uploadedFile['url'] : '';
            }
            $CompanyProfile->CompanyUPIImage = $uploadedFileURL;
        }

        $CompanyProfile->update();
        return redirect()->back()->with('status_success');
    }

    ### Update Company Address
    public function updateCompanyAddress(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        //$user_id = Auth::id();
        $company_id =  $request->input('company_id');
        $CompanyProfile = CompanyProfile::find($company_id);
        $CompanyProfile->StreetAddress = $request->input('StreetAddress');
        $CompanyProfile->City = $request->input('City');
        $CompanyProfile->State = $request->input('State');
        $CompanyProfile->Country = $request->input('Country');
        $CompanyProfile->PostalCode = $request->input('PostalCode');
        $CompanyProfile->Updated_by = session('UserId');

        $CompanyProfile->update();
        return redirect()->back()->with('status_success');
    }

    ### Store Bank Detail
    public function storeBankDetail(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $CompanyBankDetail = new CompanyBankDetail;
        $CompanyBankDetail->BankDetailId = $this->userLib->useridGenrator();
        $CompanyBankDetail->BankName = $request->input('BankName');
        $CompanyBankDetail->BankAccountNo = $request->input('BankAccountNo');
        $CompanyBankDetail->IFSC_Code = $request->input('IFSC_Code');
        $CompanyBankDetail->AccountType = $request->input('AccountType');
        $CompanyBankDetail->SwiftCode = $request->input('SwiftCode');
        $CompanyBankDetail->BranchAddress = $request->input('BranchAddress');
        $CompanyBankDetail->Created_by = session('UserId');
        $CompanyBankDetail->Updated_by = session('UserId');
        $CompanyBankDetail->Status = '1';
        $CompanyBankDetail->IsDeleted = '0';

        $CompanyBankDetail->save();
        return redirect()->back()->with('status_success');
    }

     #### Change Status Bank Detail
     public function statusUpdateBankDetail($id)
     {
         $data = CompanyBankDetail::find($id);
         if ($data->Status == '1') {
             $Status = '0';
         } else {
             $Status = '1';
         }

         $values = array('Status' => $Status);
         CompanyBankDetail::find($id)->update($values);
         return redirect()->back();
     }

     #### Destroy Bank Detail
    public function destroyBankDetail($BankDetailId)
    {
        $destroyData = CompanyBankDetail::find($BankDetailId);
        $destroyData->delete();
    }

    ### Store Terms And Conditions
    public function storeTerms(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        $TermsConditions = new TermsConditions;
        $TermsConditions->TermsId = $this->userLib->useridGenrator();
        $TermsConditions->TermsCategory = $request->input('TermsCategory');
        $TermsConditions->Description = $request->input('Description');
        $TermsConditions->Created_by = session('UserId');
        $TermsConditions->Updated_by = session('UserId');
        $TermsConditions->Status = '1';
        $TermsConditions->IsDeleted = '0';

        $TermsConditions->save();
        return redirect()->back()->with('status_success');
    }


    ### Update Terms And Conditions
    public function updateTerms(Request $request)
    {
        if (empty(session('UserId'))) {
            return redirect('/admin/logout');
        }
        //$user_id = Auth::id();
        $terms_id =  $request->input('terms_id');
        $TermsConditions = TermsConditions::find($terms_id);
        $TermsConditions->Description = $request->input('Description');
        $TermsConditions->Updated_by = session('UserId');

        $TermsConditions->update();
        return redirect()->back()->with('status_success');
    }

}