Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Dckap\Rememberme\Helper;
  4.  
  5. use Magento\Framework\App\Helper\AbstractHelper;
  6. use Magento\Framework\App\Config\ScopeConfigInterface;
  7. use Magento\Framework\Stdlib\Cookie\CookieMetadataFactory;
  8. use Magento\Framework\Stdlib\CookieManagerInterface;
  9. use Magento\Framework\Session\SessionManagerInterface;
  10.  
  11.  
  12. class Data extends AbstractHelper
  13. {
  14.  
  15. /**
  16. * Name of Cookie that holds private content version
  17. */
  18. CONST COOKIE_NAME = 'remember';
  19.  
  20. /**
  21. * Cookie life time
  22. */
  23. CONST COOKIE_LIFE = 604800;
  24.  
  25. /**
  26. * @var \Magento\Framework\Stdlib\CookieManagerInterface
  27. */
  28. protected $cookieManager;
  29.  
  30. /**
  31. * @var \Magento\Framework\Stdlib\Cookie\CookieMetadataFactory
  32. */
  33. protected $cookieMetadataFactory;
  34.  
  35. /**
  36. * @var $scopeConfigInterface
  37. */
  38. private $scopeConfigInterface;
  39.  
  40. /**
  41. * @var \Magento\Framework\Session\SessionManagerInterface
  42. */
  43. protected $sessionManager;
  44.  
  45.  
  46. public function __construct(
  47. ScopeConfigInterface $scopeConfigInterface,
  48. CookieManagerInterface $cookieManager,
  49. CookieMetadataFactory $cookieMetadataFactory,
  50. SessionManagerInterface $sessionManager
  51. ){
  52. $this->scopeConfigInterface = $scopeConfigInterface;
  53. $this->cookieManager = $cookieManager;
  54. $this->cookieMetadataFactory = $cookieMetadataFactory;
  55. $this->sessionManager = $sessionManager;
  56. }
  57.  
  58. /**
  59. * Get data from cookie set in remote address
  60. *
  61. * @return value
  62. */
  63. public function get($name)
  64. {
  65. return $this->cookieManager->getCookie($name);
  66. }
  67.  
  68. /**
  69. * Set data to cookie in remote address
  70. *
  71. * @param [string] $value [value of cookie]
  72. * @param integer $duration [duration for cookie] 7 Days
  73. *
  74. * @return void
  75. */
  76. public function set($value, $duration = 604800)
  77. {
  78. $metadata = $this->cookieMetadataFactory
  79. ->createPublicCookieMetadata()
  80. ->setDuration($duration)
  81. ->setPath($this->sessionManager->getCookiePath())
  82. ->setDomain($this->sessionManager->getCookieDomain());
  83.  
  84. $this->cookieManager->setPublicCookie(self::COOKIE_NAME, $value, $metadata);
  85.  
  86. }
  87.  
  88. /**
  89. * delete cookie remote address
  90. *
  91. * @return void
  92. */
  93. public function delete($name)
  94. {
  95. $this->cookieManager->deleteCookie(
  96. $name,
  97. $this->cookieMetadataFactory
  98. ->createCookieMetadata()
  99. ->setPath($this->sessionManager->getCookiePath())
  100. ->setDomain($this->sessionManager->getCookieDomain())
  101. );
  102. }
  103.  
  104. /**
  105. * @return \Dckap\Rememberme\Helper
  106. */
  107. public function getCookieloginName()
  108. {
  109. $name = json_decode($this->get(self::COOKIE_NAME));
  110. if($name)
  111. return $name->username ? $name->username : '';
  112. }
  113.  
  114. /**
  115. * @return \Dckap\Rememberme\Helper
  116. */
  117. public function getCookieloginPwd()
  118. {
  119. $pwd = json_decode($this->get(self::COOKIE_NAME));
  120. if($pwd)
  121. return $pwd->password ? $pwd->password : '';
  122. }
  123.  
  124. /**
  125. * @return \Dckap\Rememberme\Helper
  126. */
  127. public function getCookieloginChk()
  128. {
  129. $chk = json_decode($this->get(self::COOKIE_NAME));
  130. if($chk)
  131. return $chk->remchkbox ? 1 : '';
  132. }
  133.  
  134. /**
  135. * @return var
  136. */
  137. public function getCookielifetime()
  138. {
  139. return self::COOKIE_LIFE;
  140. }
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement