1
0
Fork 1

Use native invite.png QR

pull/15/head
mdPlusPlus 3 years ago
parent 8f8da97393
commit 77fa6ceae3

@ -4,7 +4,26 @@
return "$QR_CODES/$room_id.png";
}
/*
/*
* Takes join URL and derives the invite.png path from it
*/
function room_qr_code_native($join_url) {
// Ex.: https://open.getsession.org/session?public_key=[...]
// Goal: https://open.getsession.org/r/session/invite.png
// Note: No @legacy support (Ex.: https://reccacon.com/view/Ukraine/invite.png)
// TODO: How does this behave with unreliable connections to Chinese servers?
$exploded = explode("/", explode("?", $join_url)[0]); // everything before "?"
$png_url =
$exploded[0] . "//" . // https://
$exploded[2] . "/r/" . // open.getsession.org/r/
$exploded[3] . "/invite.png"; // session/invite.png
// fwrite(STDERR, "PNG URL: " . $png_url . PHP_EOL);
return $png_url;
}
/*
* @Deprecated
* Use Google API to generate QR codes and encode them as base64
*/
function base64_qr_code($room_id, $join_url, $size = "512x512") {
@ -37,10 +56,20 @@
<span class="qr-code-modal-close" onclick='hideQRModal("<?=$id?>")'>
&times;
</span>
<!--
<img
src="data:image/png;base64,<?=base64_qr_code($id, $room->join_link)?>"
alt="Community join link encoded as QR code"
class="qr-code"
loading="lazy"
>
-->
<img
src="<?=room_qr_code_native($room->join_link)?>"
alt="Community join link encoded as QR code"
class="qr-code"
loading="lazy"
referrerpolicy="no-referrer"
>
</div>
</div>