From 43660d89c34fcfbb8106794fd7a5ee28d292434b Mon Sep 17 00:00:00 2001 From: gravel Date: Fri, 27 Jan 2023 11:36:10 +0100 Subject: [PATCH] Cache QR invites from SOGS --- sites/+components/qr_modals.php | 59 ++++++++------------------------- 1 file changed, 13 insertions(+), 46 deletions(-) diff --git a/sites/+components/qr_modals.php b/sites/+components/qr_modals.php index b0844b0..38d0f44 100644 --- a/sites/+components/qr_modals.php +++ b/sites/+components/qr_modals.php @@ -1,56 +1,32 @@ preview_link . "invite.png"; } /* - * @Deprecated - * Use Google API to generate QR codes and encode them as base64 + * Fetch QR codes from SOGS server and encode them as base64 */ - function base64_qr_code($room_id, $join_url, $size = "512x512") { - // Could use http_build_query() instead, but I won't break what works. - // https://developers.google.com/chart/infographics/docs/qr_codes + function base64_qr_code($room_id, $room, $size = "512x512") { $png_cached = room_qr_code_cached($room_id); - if (file_exists($png_cached)) + if (file_exists($png_cached)) { // fwrite(STDERR, "QR code found for " . $room_id . PHP_EOL); return base64_encode(file_get_contents($png_cached)); -// fwrite(STDERR, "QR code NOT found for " . $room_id . PHP_EOL); - $data = urlencode($join_url); - $api_url = - "https://chart.googleapis.com/chart?cht=qr" . - "&chs=$size" . - "&chl=$data" . - "&chld=L|0"; - // error correction level: L = 7%, M = 15%, Q = 25%, H = 30% - // | margin in number of rows - $png = file_get_contents($api_url); + } +// fwrite(STDERR, "QR code NOT found for " . $room_id . PHP_EOL); + $png = file_get_contents(room_invite_png($room_id, $room)); file_put_contents($png_cached, $png); return base64_encode($png); } - - file_exists($QR_CODES) or mkdir($QR_CODES, 0700); // @Deprecated + + file_exists($QR_CODES) or mkdir($QR_CODES, 0700); ?>