Server IP : 51.89.169.208 / Your IP : 18.222.93.141 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/yellowleaf/public_html/phpMyAdmin/vendor/pragmarx/google2fa-qrcode/src/QRCode/ |
Upload File : |
<?php namespace PragmaRX\Google2FAQRCode\QRCode; use BaconQrCode\Renderer\ImageRenderer; use BaconQrCode\Writer as BaconQrCodeWriter; use BaconQrCode\Renderer\Image\SvgImageBackEnd; use BaconQrCode\Renderer\Image\ImageBackEndInterface; use BaconQrCode\Renderer\Image\ImagickImageBackEnd; use BaconQrCode\Renderer\RendererStyle\RendererStyle; use BaconQrCode\Writer; class Bacon implements QRCodeServiceContract { /** * @var ImageBackEndInterface|RendererInterface|null $imageBackEnd */ protected $imageBackEnd; /** * Google2FA constructor. * * @param ImageBackEndInterface|RendererInterface|null $imageBackEnd */ public function __construct($imageBackEnd = null) { $this->imageBackEnd = $imageBackEnd; } /** * Generates a QR code data url to display inline. * * @param string $string * @param int $size * @param string $encoding Default to UTF-8 * * @return string */ public function getQRCodeInline($string, $size = 200, $encoding = 'utf-8') { $renderer = new ImageRenderer( (new RendererStyle($size))->withSize($size), $this->getImageBackEnd() ); $bacon = new Writer($renderer); $data = $bacon->writeString($string, $encoding); if ($this->getImageBackEnd() instanceof ImagickImageBackEnd) { return 'data:image/png;base64,' . base64_encode($data); } return $data; } /** * Check if Imagick is available * * @return int */ public function imagickIsAvailable() { return extension_loaded('imagick'); } /** * Get image backend * * @return ImageRenderer */ public function getImageBackend() { if (empty($this->imageBackEnd)) { $this->imageBackEnd = !$this->imagickIsAvailable() ? new SvgImageBackEnd() : new ImagickImageBackEnd(); } $this->setImageBackEnd($this->imageBackEnd); return $this->imageBackEnd; } /** * Set image backend * * @param $imageBackEnd * @return $this */ public function setImageBackend($imageBackEnd) { $this->imageBackEnd = $imageBackEnd; return $this; } }