resetpassword.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. /**
  3. * FecShop file.
  4. *
  5. * @link http://www.fecshop.com/
  6. * @copyright Copyright (c) 2016 FecShop Software LLC
  7. * @license http://www.fecshop.com/license/
  8. */
  9. ?>
  10. <div class="account-ds">
  11. <div class="bar bar-nav account-top-m">
  12. <a external class="button button-link button-nav pull-left" href="<?= Yii::$service->url->getUrl('customer/account/index'); ?>">
  13. <span class="icon icon-left"></span>
  14. </a>
  15. <h1 class='title'><?= Yii::$service->page->translate->__('Reset Password'); ?></h1>
  16. </div>
  17. </div>
  18. <?= Yii::$service->page->widget->render('flashmessage'); ?>
  19. <div class="list-block customer-login ">
  20. <?php if(!empty($identity)): ?>
  21. <div class="account-create">
  22. <form action="<?= Yii::$service->url->getUrl('customer/account/resetpassword',['resetToken'=>$resetToken]); ?>" method="post" id="form-validate">
  23. <?= \fec\helpers\CRequest::getCsrfInputHtml(); ?>
  24. <input type="hidden" name="editForm[resetToken]" value="<?= $resetToken ?>" />
  25. <ul>
  26. <li>
  27. <div class="item-content">
  28. <div class="item-media">
  29. <i class="icon icon-form-name"></i>
  30. </div>
  31. <div class="item-inner">
  32. <div class="item-input">
  33. <input placeholder="<?= Yii::$service->page->translate->__('Your Email Address');?>" name="editForm[email]" id="email_address" value="<?= $email ?>" title="Email Address" class="input-text validate-email required-entry" type="text">
  34. </div>
  35. </div>
  36. </div>
  37. </li>
  38. <li>
  39. <div class="item-content">
  40. <div class="item-media">
  41. <i class="icon icon-form-name"></i>
  42. </div>
  43. <div class="item-inner">
  44. <div class="item-input">
  45. <input placeholder="<?= Yii::$service->page->translate->__('New Password');?>" name="editForm[password]" id="password" title="Password" class="input-text required-entry validate-password" type="password">
  46. </div>
  47. </div>
  48. </div>
  49. </li>
  50. <li>
  51. <div class="item-content">
  52. <div class="item-media">
  53. <i class="icon icon-form-name"></i>
  54. </div>
  55. <div class="item-inner">
  56. <div class="item-input">
  57. <input placeholder="<?= Yii::$service->page->translate->__('Confirm Password');?>" name="editForm[confirmation]" title="Confirm Password" id="confirmation" class="input-text required-entry validate-cpassword" type="password">
  58. </div>
  59. </div>
  60. </div>
  61. </li>
  62. </ul>
  63. <div class="clear"></div>
  64. <div class="buttons-set">
  65. <p>
  66. <a external href="javascript:void(0)" id="js_resetPassBtn" class="button button-fill">
  67. <?= Yii::$service->page->translate->__('Reset Password'); ?>
  68. </a>
  69. </p>
  70. </div>
  71. <div class="clear"></div>
  72. </form>
  73. </div>
  74. <?php
  75. $requiredValidate = Yii::$service->page->translate->__('This is a required field.');
  76. $emailFormatValidate = Yii::$service->page->translate->__('Please enter a valid email address. For example johndoe@domain.com.');
  77. $passwordLenghtValidate = Yii::$service->page->translate->__('Please enter 6 or more characters. Leading or trailing spaces will be ignored.');
  78. $passwordMatchValidate = Yii::$service->page->translate->__('Please make sure your passwords match.');
  79. //$minNameLength = 2;
  80. //$maxNameLength = 20;
  81. //$minPassLength = 6;
  82. //$maxPassLength = 30;
  83. ?>
  84. <script>
  85. <?php $this->beginBlock('customer_account_reset') ?>
  86. $(document).ready(function(){
  87. $("#js_resetPassBtn").click(function(){
  88. validate = 1;
  89. $(".validation-advice").remove();
  90. $(".validation-failed").removeClass("validation-failed");
  91. var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
  92. // empty check
  93. $(".account-create .required-entry").each(function(){
  94. val = $(this).val();
  95. if(!val){
  96. $(this).addClass("validation-failed");
  97. $(this).parent().append('<div class="validation-advice" id="advice-required-entry-firstname" style=""><?= $requiredValidate; ?></div>');
  98. validate = 0;
  99. }
  100. });
  101. // email check
  102. $(".account-create .validate-email").each(function(){
  103. email = $(this).val();
  104. if(email){
  105. if(!$(this).hasClass("validation-failed")){
  106. if(!myreg.test(email)){
  107. $(this).parent().append('<div class="validation-advice" id="advice-validate-email-email_address" style=""><?= $emailFormatValidate; ?></div>');
  108. $(this).addClass("validation-failed");
  109. validate = 0;
  110. }
  111. }
  112. }else{
  113. validate = 0;
  114. }
  115. });
  116. password = $("#password").val();
  117. confirmation= $("#confirmation").val();
  118. minPassLength = <?= $minPassLength ? $minPassLength : 4 ?>;
  119. maxPassLength = <?= $maxPassLength ? $maxPassLength : 30 ?>;
  120. passwordLength = password.length;
  121. //password length validate
  122. if(passwordLength < minPassLength || passwordLength > maxPassLength){
  123. if(!$("#password").hasClass("validation-failed")){
  124. //alert(111);
  125. $("#password").parent().append('<div class="validation-advice" id="min_lenght" style=""><?= $passwordLenghtValidate; ?> </div>');
  126. $("#password").addClass("validation-failed");
  127. validate = 0;
  128. }
  129. }
  130. //password validate
  131. if(confirmation != password){
  132. if(!$("#confirmation").hasClass("validation-failed")){
  133. //alert(111);
  134. $("#confirmation").parent().append('<div class="validation-advice" id="min_lenght" style=""><?= $passwordMatchValidate; ?></div>');
  135. $("#confirmation").addClass("validation-failed");
  136. validate = 0;
  137. }
  138. }
  139. if(validate){
  140. // alert("validate success");
  141. $(this).addClass("dataUp");
  142. $("#form-validate").submit();
  143. }
  144. });
  145. });
  146. <?php $this->endBlock(); ?>
  147. </script>
  148. <?php $this->registerJs($this->blocks['customer_account_reset'],\yii\web\View::POS_END);//将编写的js代码注册到页面底部 ?>
  149. <?php else: ?>
  150. <div class="customer-forgot-success">
  151. <?php
  152. $param = ['logUrlB' => '<a external href="'.$forgotPasswordUrl.'">','logUrlE' => '</a> '];
  153. ?>
  154. <?= Yii::$service->page->translate->__('Your Reset Password Token is Expired, You can {logUrlB} click here {logUrlE} to retrieve it ',$param); ?>
  155. </div>
  156. <?php endif; ?>
  157. </div>