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');
}
}