| Server IP : 35.236.43.222 / Your IP : 216.73.216.143 Web Server : Apache System : Linux order-form-vm-001 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64 User : deploy ( 1002) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/ravel.network/public/phpmyadmin/vendor/pragmarx/google2fa-qrcode/src/ |
Upload File : |
<?php
namespace PragmaRX\Google2FAQRCode;
use BaconQrCode\Writer;
use BaconQrCode\Renderer\Image\Png;
use BaconQrCode\Renderer\ImageRenderer;
use PragmaRX\Google2FAQRCode\QRCode\Bacon;
use PragmaRX\Google2FAQRCode\QRCode\Chillerlan;
use BaconQrCode\Renderer\Image\RendererInterface;
use BaconQrCode\Writer as BaconQrCodeWriter;
use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
use PragmaRX\Google2FA\Google2FA as Google2FAPackage;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Renderer\Image\ImageBackEndInterface;
use PragmaRX\Google2FAQRCode\Exceptions\MissingQrCodeServiceException;
class Google2FA extends Google2FAPackage
{
/**
* @var ImageBackEndInterface|RendererInterface|null $imageBackEnd
*/
protected $qrCodeService;
/**
* Google2FA constructor.
*
* @param ImageBackEndInterface|RendererInterface|null $imageBackEnd
*/
public function __construct($qrCodeService = null)
{
$this->setQrCodeService(
empty($qrCodeService)
? $this->qrCodeServiceFactory()
: $qrCodeService
);
}
/**
* Generates a QR code data url to display inline.
*
* @param string $company
* @param string $holder
* @param string $secret
* @param int $size
* @param string $encoding Default to UTF-8
*
* @return string
*/
public function getQRCodeInline(
$company,
$holder,
$secret,
$size = 200,
$encoding = 'utf-8'
) {
if (empty($this->getQrCodeService())) {
throw new MissingQrCodeServiceException(
'You need to install a service package or assign yourself the service to be used.'
);
}
return $this->qrCodeService->getQRCodeInline(
$this->getQRCodeUrl($company, $holder, $secret),
$size,
$encoding
);
}
/**
* Service setter
*
* @return \PragmaRX\Google2FAQRCode\QRCode\QRCodeServiceContract
*/
public function getQrCodeService()
{
return $this->qrCodeService;
}
/**
* Service setter
*
* @return self
*/
public function setQrCodeService($service)
{
$this->qrCodeService = $service;
return $this;
}
/**
* Create the QR Code service instance
*
* @return \PragmaRX\Google2FAQRCode\QRCode\QRCodeServiceContract
*/
public function qrCodeServiceFactory()
{
if (
class_exists('BaconQrCode\Writer') &&
class_exists('BaconQrCode\Renderer\ImageRenderer')
) {
return new Bacon();
}
if (class_exists('chillerlan\QRCode\QRCode')) {
return new Chillerlan();
}
return null;
}
}