From d0f211f61e022e443707075526f5b1fb72fad4a7 Mon Sep 17 00:00:00 2001 From: Miraty Date: Tue, 7 Jun 2022 00:05:07 +0200 Subject: [PATCH] Handle errors when generating QR codes --- index.php | 9 ++++++++- locales/en.php | 2 ++ locales/fr.php | 2 ++ locales/oc.php | 2 ++ locales/template.php | 2 ++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/index.php b/index.php index d3744f1..9d35407 100755 --- a/index.php +++ b/index.php @@ -241,7 +241,14 @@ if ($validFormSubmitted) { hexdec(substr($params['fgColor'],4,2)) )); - $result = $qrCode->build(); + try { + $result = $qrCode->build(); + } catch (Exception $ex) { + http_response_code(500); + echo "

" . $loc['error_generation'] . "

"; + error_log("LibreQR encountered an error while generating a QR code: " . $ex); + exit(); + } $dataUri = $result->getDataUri(); diff --git a/locales/en.php b/locales/en.php index db6092b..bc5bef5 100644 --- a/locales/en.php +++ b/locales/en.php @@ -37,4 +37,6 @@ $loc = array( QR code on Wikipedia. ", 'metaText_legal' => "LibreQR " . LIBREQR_VERSION . " is a free software whose source code is available under the terms of the AGPLv3+.", + + 'error_generation' => "An error occurred while generating the QR code. Try with different parameters.", ); diff --git a/locales/fr.php b/locales/fr.php index 8be97e2..c7af543 100644 --- a/locales/fr.php +++ b/locales/fr.php @@ -37,4 +37,6 @@ $loc = array( Code QR sur Wikipédia. ", 'metaText_legal' => "LibreQR " . LIBREQR_VERSION . " est un logiciel libre dont le code source est disponible selon les termes de l'AGPLv3+.", + + 'error_generation' => "Une erreur a eu lieu lors de la génération du code QR. Essayez avec des paramètres différents.", ); diff --git a/locales/oc.php b/locales/oc.php index 3c5821e..3e7a54e 100644 --- a/locales/oc.php +++ b/locales/oc.php @@ -37,4 +37,6 @@ $loc = array( Còdi QR a la Wikipèdia. ", 'metaText_legal' => "LibreQR " . LIBREQR_VERSION . " es un logicial liure que son còdi font es disponible jols tèrmes de la licéncia AGPLv3+.", + + 'error_generation' => "An error occurred while generating the QR code. Try with different parameters.", ); diff --git a/locales/template.php b/locales/template.php index 0bb935f..7c63a2f 100644 --- a/locales/template.php +++ b/locales/template.php @@ -29,4 +29,6 @@ $loc = array( 'metaText_qr' => "metaText_qr", 'metaText_legal' => "metaText_legal", + + 'error_generation' => "error_generation", );