AbstractCardRenderer.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Vault\Block;
  7. use Magento\Framework\View\Element\Template;
  8. use Magento\Payment\Model\CcConfigProvider;
  9. /**
  10. * Class AbstractCardRenderer
  11. * @api
  12. * @since 100.1.0
  13. */
  14. abstract class AbstractCardRenderer extends AbstractTokenRenderer implements CardRendererInterface
  15. {
  16. /**
  17. * @var CcConfigProvider
  18. */
  19. private $iconsProvider;
  20. /**
  21. * Constructor
  22. *
  23. * @param Template\Context $context
  24. * @param CcConfigProvider $iconsProvider
  25. * @param array $data
  26. */
  27. public function __construct(
  28. Template\Context $context,
  29. CcConfigProvider $iconsProvider,
  30. array $data = []
  31. ) {
  32. parent::__construct($context, $data);
  33. $this->iconsProvider = $iconsProvider;
  34. }
  35. /**
  36. * @param string $type
  37. * @return array
  38. * @since 100.1.0
  39. */
  40. protected function getIconForType($type)
  41. {
  42. if (isset($this->iconsProvider->getIcons()[$type])) {
  43. return $this->iconsProvider->getIcons()[$type];
  44. }
  45. return [
  46. 'url' => '',
  47. 'width' => 0,
  48. 'height' => 0
  49. ];
  50. }
  51. }