BaconQrProvider.php 941 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. /**
  3. * @package Grav\Plugin\Login
  4. *
  5. * @copyright Copyright (C) 2014 - 2021 RocketTheme, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Plugin\Login\TwoFactorAuth;
  9. use BaconQrCode\Renderer\Image\SvgImageBackEnd;
  10. use BaconQrCode\Renderer\ImageRenderer as BaconImageRenderer;
  11. use BaconQrCode\Renderer\RendererStyle\RendererStyle as BaconRendererStyle;
  12. use BaconQrCode\Writer as BaconWriter;
  13. use RobThree\Auth\Providers\Qr\IQRCodeProvider;
  14. class BaconQrProvider implements IQRCodeProvider
  15. {
  16. public function getMimeType()
  17. {
  18. return 'image/svg+xml';
  19. }
  20. public function getQRCodeImage($qrtext, $size = 256)
  21. {
  22. $renderer = new BaconImageRenderer(
  23. new BaconRendererStyle((int) $size),
  24. new SvgImageBackEnd()
  25. );
  26. $writer = new BaconWriter($renderer);
  27. return $writer->writeString($qrtext);
  28. }
  29. }