| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/rbcvm.ca/trevorpeter-xvend/web/controller/ |
Upload File : |
<?php
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Response\QrCodeResponse;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\Color\Color;
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['command']) ) {
switch ($_POST['command']) {
case 'save_USER':
//print_r ($_POST);
// Strip out everything but letters & drop anything longer than 1 character on the last initial
$firstname = preg_replace('/[^A-Za-z]/i','',$_POST['firstname']);
$lastinitial = preg_replace('/[^A-Za-z]/i','',$_POST['lastinitial']);
$lastinitial = substr($lastinitial, 0, 1);
$artist = ( isset($_POST['artist']) && in_array($_POST['artist'], array(0,1)) ? $_POST['artist'] : 0 );
$rules = ( isset($_POST['rules']) && in_array($_POST['rules'], array(0,1)) ? $_POST['rules'] : 0 );
$waiver = ( isset($_POST['waiver']) && in_array($_POST['waiver'], array(0,1)) ? $_POST['waiver'] : 0 );
$skill_testing = ( isset($_POST['skill_testing']) && $_POST['skill_testing'] == $cfg['skill_testing_answer'] ? $_POST['skill_testing'] : 0 );
$signature = ( isset($_POST['sig']) ? $_POST['sig'] : 0 );
$qr_uuid = vsprintf( '%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex(random_bytes(16)), 4) );
$sql = "INSERT INTO user (datetime, firstname, lastinitial, artist, rules, waiver, skill_testing, signature, qr_uuid) VALUES (:datetime, :firstname, :lastinitial, :artist, :rules, :waiver, :skill_testing, :signature, :qr_uuid)";
$insert = $db->prepare($sql);
$insert->execute( array(":datetime" => time(), ":firstname" => $firstname, ":lastinitial" => $lastinitial, ":artist" => $artist, ":rules" => $rules, ":waiver" => $waiver, ":skill_testing" => $skill_testing, ":signature" => $signature, ":qr_uuid" => $qr_uuid) );
$writer = new PngWriter();
$qrCode = QrCode::create($qr_uuid)
->setEncoding(new Encoding('UTF-8'))
->setErrorCorrectionLevel(new ErrorCorrectionLevelLow())
->setSize(600)
->setMargin(20)
->setBackgroundColor(new Color(255,255,255))
->setForegroundColor(new Color(0,0,0));
$result = $writer->write($qrCode);
$dataUri = $result->getDataUri();
$_SESSION['qrCode'] = $dataUri;
exit(json_encode(array('result' => 'success', 'qr_code_val' => $qr_uuid, 'qr_code' => $dataUri)));
break;
/*
case 'user_LOOKUP':
$sql = "SELECT id FROM user WHERE email = :email";
$select = $db->prepare($sql);
$select->execute( array(":email" => $_POST['email']) );
$result = $select->fetchAll(PDO::FETCH_ASSOC);
if ( empty($result) ) {
exit(json_encode(array('result' => 'newuser')));
} else {
exit(json_encode(array('result' => 'duplicate')));
}
break;
*/
/*
case 'generate_QR':
// Check if the machine is empty
$sql = "SELECT * FROM machine WHERE quantity > 0";
$query = $db->prepare($sql);
$query->execute();
$stockCheck = $query->fetch(PDO::FETCH_ASSOC);
if (empty($stockCheck)) {
// Machine is empty
exit(json_encode(array('result' => 'empty')));
} else {
// Check for low stock
$query_sum = $db->prepare('SELECT SUM(quantity) as amt FROM `machine`');
$query_sum->execute();
$sum = $query_sum->fetchColumn();
if (intval($sum) < $cfg['amount_threshold'] && $_SESSION['last_sent'] < strtotime("-20 minutes")) {
$_SESSION['last_sent'] = time();
send_recipient_email($cfg['email_to_notify'], 'adp', $sum, date("m/d/Y H:i A"));
}
}
// Add a QR code to the database
$query = $db->prepare('INSERT INTO qr_code (qr_uuid) VALUES ( REPLACE(UUID(), "-", "") )');
$query->execute();
// Get record ID
$qr_code_id = $db->lastInsertId();
// Lookup the UUID
$query = $db->prepare("SELECT qr_uuid AS uuid FROM qr_code WHERE id = :id");
$query->execute( array(":id" => $qr_code_id) );
$result = $query->fetch(PDO::FETCH_ASSOC);
// Generate the QR code and send it back
if (!empty($result)) {
$qr_uuid = $result['uuid'];
$writer = new PngWriter();
$qrCodeValue = $cfg['qr_url'] . "?c=" . $qr_uuid;
$qrCode = QrCode::create($qrCodeValue)
->setEncoding(new Encoding('UTF-8'))
->setErrorCorrectionLevel(new ErrorCorrectionLevelLow())
->setSize(600)
->setMargin(20)
//->setBackgroundColor(new Color(255,255,255))
->setBackgroundColor(new Color(237,175,138))
->setForegroundColor(new Color(48,46,63));
$result = $writer->write($qrCode);
$dataUri = $result->getDataUri();
exit(json_encode(array('result' => 'success', 'qr_code_url' => $qrCodeValue, 'qr_uuid' => $qr_uuid, 'qr_code' => $dataUri)));
}
break;
case 'check_QR':
$query = $db->prepare("SELECT * FROM qr_code WHERE qr_uuid = :id AND used_datetime IS NULL");
$query->execute( array(":id" => $_POST['c']) );
$result = $query->fetch(PDO::FETCH_ASSOC);
if (!empty($result)) {
exit(json_encode(array('qr_status' => 'unused')));
} else {
exit(json_encode(array('qr_status' => 'used')));
}
break;
*/
}
}
?>