You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
2.4 KiB

  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /** @var \Magento\Captcha\Block\Captcha\DefaultCaptcha $block */
  7. /** @var \Magento\Captcha\Model\DefaultModel $captcha */
  8. /** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
  9. $captcha = $block->getCaptchaModel();
  10. /** @var bool $validationEnabled */
  11. $validationEnabled = $block->hasData('frontend_validation') ? $block->getData('frontend_validation') : true;
  12. ?>
  13. <div class="admin__field<?php if ($validationEnabled): ?> _required<?php endif; ?>">
  14. <label for="captcha" class="admin__field-label">
  15. <span><?= $block->escapeHtml(__('Please enter the letters and numbers from the image')) ?></span>
  16. </label>
  17. <div class="admin__field-control">
  18. <input
  19. id="captcha"
  20. class="admin__control-text"
  21. type="text"
  22. name="<?= $block->escapeHtmlAttr(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE)
  23. ?>[<?= $block->escapeHtml($block->getFormId()) ?>]"
  24. <?php if ($validationEnabled): ?>data-validate="{required:true}"<?php endif; ?>/>
  25. <?php if ($captcha->isCaseSensitive()):?>
  26. <div class="admin__field-note">
  27. <span><?= $block->escapeHtml(__('<strong>Attention</strong>: Captcha is case sensitive.'), ['strong'])
  28. ?></span>
  29. </div>
  30. <?php endif; ?>
  31. </div>
  32. </div>
  33. <div class="admin__field field-captcha">
  34. <img
  35. id="captcha-reload"
  36. class="captcha-reload"
  37. src="<?= $block->escapeUrl($block->getViewFileUrl('Magento_Captcha::reload.png')) ?>"
  38. alt="<?= $block->escapeHtmlAttr(__('Reload captcha')) ?>"/>
  39. <img
  40. id="<?= $block->escapeHtmlAttr($block->getFormId()) ?>"
  41. width="<?= /* @noEscape */ (float) $block->getImgWidth() ?>"
  42. height="<?= /* @noEscape */ (float) $block->getImgHeight() ?>"
  43. src="<?= $block->escapeUrl($captcha->getImgSrc()) ?>" />
  44. </div>
  45. <?php
  46. $url = $block->escapeJs($block->getRefreshUrl());
  47. $formId = $block->escapeJs($block->escapeHtml($block->getFormId()));
  48. $scriptString = <<<script
  49. require(["prototype", "mage/captcha"], function(){
  50. //<![CDATA[
  51. var captcha = new Captcha('{$url}', '{$formId}');
  52. $('captcha-reload').observe('click', function () {
  53. captcha.refresh(this);
  54. });
  55. //]]>
  56. });
  57. script;
  58. ?>
  59. <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>