fix: use cache-busting 'verify_qr' route to bypass Varnish cache caching old 302 redirects
This commit is contained in:
@@ -358,8 +358,8 @@ foreach ($invoices as $invIdx => $inv) {
|
|||||||
|
|
||||||
// --- Add Clickable Website Link ---
|
// --- Add Clickable Website Link ---
|
||||||
// We'll move the link slightly down or put it in I1 with the QR
|
// We'll move the link slightly down or put it in I1 with the QR
|
||||||
$sheet->setCellValue("I" . $invRow, 'musadaq.intaleqapp.com/verify');
|
$sheet->setCellValue("I" . $invRow, 'musadaq.intaleqapp.com/verify_qr');
|
||||||
$verifyUrl = "https://musadaq.intaleqapp.com/index.php?route=verify&id=" . $inv['id'];
|
$verifyUrl = "https://musadaq.intaleqapp.com/index.php?route=verify_qr&id=" . $inv['id'];
|
||||||
$sheet->getCell("I" . $invRow)->getHyperlink()->setUrl($verifyUrl);
|
$sheet->getCell("I" . $invRow)->getHyperlink()->setUrl($verifyUrl);
|
||||||
$sheet->getStyle("I" . $invRow)->applyFromArray([
|
$sheet->getStyle("I" . $invRow)->applyFromArray([
|
||||||
'font' => ['color' => ['argb' => 'FFFFFFFF'], 'underline' => true, 'size' => 8],
|
'font' => ['color' => ['argb' => 'FFFFFFFF'], 'underline' => true, 'size' => 8],
|
||||||
@@ -368,7 +368,7 @@ foreach ($invoices as $invIdx => $inv) {
|
|||||||
|
|
||||||
// --- Add Verification QR Code ---
|
// --- Add Verification QR Code ---
|
||||||
try {
|
try {
|
||||||
$verifyUrl = "https://musadaq.intaleqapp.com/index.php?route=verify&id=" . $inv['id'];
|
$verifyUrl = "https://musadaq.intaleqapp.com/index.php?route=verify_qr&id=" . $inv['id'];
|
||||||
$qrApiUrl = "https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=" . urlencode($verifyUrl);
|
$qrApiUrl = "https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=" . urlencode($verifyUrl);
|
||||||
$qrData = $downloadUrl($qrApiUrl);
|
$qrData = $downloadUrl($qrApiUrl);
|
||||||
if ($qrData) {
|
if ($qrData) {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
|||||||
$route = $_GET['route'] ?? str_replace('/api/', '', $uri);
|
$route = $_GET['route'] ?? str_replace('/api/', '', $uri);
|
||||||
$route = trim($route, '/');
|
$route = trim($route, '/');
|
||||||
|
|
||||||
if ($route === 'verify' || $route === 'v.php' || $route === 'v1/verify') {
|
if ($route === 'verify_qr' || $route === 'verify' || $route === 'v.php' || $route === 'v1/verify') {
|
||||||
$id = $_GET['id'] ?? null;
|
$id = $_GET['id'] ?? null;
|
||||||
require_once APP_PATH . '/modules_app/invoices/verify_public.php';
|
require_once APP_PATH . '/modules_app/invoices/verify_public.php';
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
@@ -3039,7 +3039,7 @@
|
|||||||
getQrSrc(inv) {
|
getQrSrc(inv) {
|
||||||
if (!inv) return '';
|
if (!inv) return '';
|
||||||
if (inv.jofotara?.qr_image_uri) return inv.jofotara.qr_image_uri;
|
if (inv.jofotara?.qr_image_uri) return inv.jofotara.qr_image_uri;
|
||||||
const verifyUrl = `https://musadaq.intaleqapp.com/index.php?route=verify&id=${inv.id}`;
|
const verifyUrl = `https://musadaq.intaleqapp.com/index.php?route=verify_qr&id=${inv.id}`;
|
||||||
const qr = new QRious({ value: verifyUrl, size: 300, level: 'H' });
|
const qr = new QRious({ value: verifyUrl, size: 300, level: 'H' });
|
||||||
return qr.toDataURL();
|
return qr.toDataURL();
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user