Remember.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Persistent\Block\Form;
  7. /**
  8. * Remember Me block
  9. *
  10. * @api
  11. * @author Magento Core Team <core@magentocommerce.com>
  12. * @since 100.0.2
  13. */
  14. class Remember extends \Magento\Framework\View\Element\Template
  15. {
  16. /**
  17. * Persistent data
  18. *
  19. * @var \Magento\Persistent\Helper\Data
  20. */
  21. protected $_persistentData = null;
  22. /**
  23. * @var \Magento\Framework\Math\Random
  24. */
  25. protected $mathRandom;
  26. /**
  27. * @param \Magento\Framework\View\Element\Template\Context $context
  28. * @param \Magento\Persistent\Helper\Data $persistentData
  29. * @param \Magento\Framework\Math\Random $mathRandom
  30. * @param array $data
  31. */
  32. public function __construct(
  33. \Magento\Framework\View\Element\Template\Context $context,
  34. \Magento\Persistent\Helper\Data $persistentData,
  35. \Magento\Framework\Math\Random $mathRandom,
  36. array $data = []
  37. ) {
  38. $this->_persistentData = $persistentData;
  39. $this->mathRandom = $mathRandom;
  40. parent::__construct($context, $data);
  41. }
  42. /**
  43. * Prevent rendering if Persistent disabled
  44. *
  45. * @return string
  46. */
  47. protected function _toHtml()
  48. {
  49. return $this->_persistentData->isEnabled() &&
  50. $this->_persistentData->isRememberMeEnabled() ? parent::_toHtml() : '';
  51. }
  52. /**
  53. * Is "Remember Me" checked
  54. *
  55. * @return bool
  56. */
  57. public function isRememberMeChecked()
  58. {
  59. return $this->_persistentData->isEnabled() &&
  60. $this->_persistentData->isRememberMeEnabled() &&
  61. $this->_persistentData->isRememberMeCheckedDefault();
  62. }
  63. /**
  64. * Get random string
  65. *
  66. * @param int $length
  67. * @param string|null $chars
  68. * @return string
  69. * @codeCoverageIgnore
  70. */
  71. public function getRandomString($length, $chars = null)
  72. {
  73. return $this->mathRandom->getRandomString($length, $chars);
  74. }
  75. }