Skip to content

Commit

Permalink
Merge pull request #11445 from snipe/fixes/11444
Browse files Browse the repository at this point in the history
Replicates #11444
  • Loading branch information
snipe committed Jul 1, 2022
2 parents acbd4de + 45c6166 commit d4476cb
Showing 1 changed file with 27 additions and 18 deletions.
45 changes: 27 additions & 18 deletions app/Http/Controllers/Account/AcceptanceController.php
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,7 @@ public function store(Request $request, $id)
Storage::makeDirectory('private_uploads/signatures', 775);
}

/**
* Check for the eula-pdfs directory
*/
if (! Storage::exists('private_uploads/eula-pdfs')) {
Storage::makeDirectory('private_uploads/eula-pdfs', 775);
}


$item = $acceptance->checkoutable_type::find($acceptance->checkoutable_id);
$display_model = '';
Expand All @@ -126,19 +121,33 @@ public function store(Request $request, $id)

if ($request->input('asset_acceptance') == 'accepted') {

// The item was accepted, check for a signature
if ($request->filled('signature_output')) {
$sig_filename = 'siglog-'.Str::uuid().'-'.date('Y-m-d-his').'.png';
$data_uri = $request->input('signature_output');
$encoded_image = explode(',', $data_uri);
$decoded_image = base64_decode($encoded_image[1]);
Storage::put('private_uploads/signatures/'.$sig_filename, (string) $decoded_image);

// No image data is present, kick them back.
// This mostly only applies to users on super-duper crapola browsers *cough* IE *cough*
} else {
return redirect()->back()->with('error', trans('general.shitty_browser'));
/**
* Check for the eula-pdfs directory
*/
if (! Storage::exists('private_uploads/eula-pdfs')) {
Storage::makeDirectory('private_uploads/eula-pdfs', 775);
}

if (Setting::getSettings()->require_accept_signature == '1') {

// Check if the signature directory exists, if not create it
if (!Storage::exists('private_uploads/signatures')) {
Storage::makeDirectory('private_uploads/signatures', 775);
}

// The item was accepted, check for a signature
if ($request->filled('signature_output')) {
$sig_filename = 'siglog-' . Str::uuid() . '-' . date('Y-m-d-his') . '.png';
$data_uri = $request->input('signature_output');
$encoded_image = explode(',', $data_uri);
$decoded_image = base64_decode($encoded_image[1]);
Storage::put('private_uploads/signatures/' . $sig_filename, (string)$decoded_image);

// No image data is present, kick them back.
// This mostly only applies to users on super-duper crapola browsers *cough* IE *cough*
} else {
return redirect()->back()->with('error', trans('general.shitty_browser'));
}
}


Expand Down

0 comments on commit d4476cb

Please sign in to comment.