resetpassword.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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="main container one-column">
  11. <?= Yii::$service->page->widget->render('breadcrumbs',$this); ?>
  12. <?= Yii::$service->page->widget->render('flashmessage'); ?>
  13. <?php if(!empty($identity)): ?>
  14. <div class="account-create">
  15. <div class="page-title">
  16. <h1><?= Yii::$service->page->translate->__('Forgot Password'); ?></h1>
  17. </div>
  18. <form action="<?= Yii::$service->url->getUrl('customer/account/resetpassword',['resetToken'=>$resetToken]); ?>" method="post" id="form-validate">
  19. <div class="fieldset" style="width:auto">
  20. <h2 class="legend"><?= Yii::$service->page->translate->__('Select your new password'); ?></h2>
  21. <ul class="form-list">
  22. <li>
  23. <label for="email_address" class="required"><em>*</em><?= Yii::$service->page->translate->__('Email Address'); ?></label>
  24. <div class="input-box">
  25. <input name="editForm[email]" id="email_address" value="<?= $email ?>" title="Email Address" class="input-text validate-email required-entry" type="text">
  26. </div>
  27. </li>
  28. <li>
  29. <div class="field">
  30. <label for="password" class="required"><em>*</em><?= Yii::$service->page->translate->__('Password'); ?></label>
  31. <div class="input-box">
  32. <input name="editForm[password]" id="password" title="Password" class="input-text required-entry validate-password" type="password">
  33. </div>
  34. </div>
  35. </li>
  36. <li>
  37. <div class="field">
  38. <label for="confirmation" class="required"><em>*</em><?= Yii::$service->page->translate->__('Confirm Password'); ?></label>
  39. <div class="input-box">
  40. <input name="editForm[confirmation]" title="Confirm Password" id="confirmation" class="input-text required-entry validate-cpassword" type="password">
  41. </div>
  42. </div>
  43. </li>
  44. </ul>
  45. </div>
  46. <?= \fec\helpers\CRequest::getCsrfInputHtml(); ?>
  47. <input type="hidden" name="editForm[resetToken]" value="<?= $resetToken ?>" />
  48. <div class="buttons-set">
  49. <button type="button" id="js_registBtn" class="redBtn"><em><span><i></i><?= Yii::$service->page->translate->__('Submit'); ?></span></em></button>
  50. </div>
  51. <div class="clear"></div>
  52. </form>
  53. </div>
  54. <?php
  55. $requiredValidate = Yii::$service->page->translate->__('This is a required field.');
  56. $emailFormatValidate = Yii::$service->page->translate->__('Please enter a valid email address. For example johndoe@domain.com.');
  57. $passwordLenghtValidate = Yii::$service->page->translate->__('Please enter 6 or more characters. Leading or trailing spaces will be ignored.');
  58. $passwordMatchValidate = Yii::$service->page->translate->__('Please make sure your passwords match.');
  59. //$minNameLength = 2;
  60. //$maxNameLength = 20;
  61. //$minPassLength = 6;
  62. //$maxPassLength = 30;
  63. ?>
  64. <script>
  65. <?php $this->beginBlock('customer_account_reset') ?>
  66. $(document).ready(function(){
  67. $("#js_registBtn").click(function(){
  68. validate = 1;
  69. $(".validation-advice").remove();
  70. $(".validation-failed").removeClass("validation-failed");
  71. var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
  72. // empty check
  73. $(".account-create .required-entry").each(function(){
  74. val = $(this).val();
  75. if(!val){
  76. $(this).addClass("validation-failed");
  77. $(this).parent().append('<div class="validation-advice" id="advice-required-entry-firstname" style=""><?= $requiredValidate; ?></div>');
  78. validate = 0;
  79. }
  80. });
  81. // email check
  82. $(".account-create .validate-email").each(function(){
  83. email = $(this).val();
  84. if(email){
  85. if(!$(this).hasClass("validation-failed")){
  86. if(!myreg.test(email)){
  87. $(this).parent().append('<div class="validation-advice" id="advice-validate-email-email_address" style=""><?= $emailFormatValidate; ?></div>');
  88. $(this).addClass("validation-failed");
  89. validate = 0;
  90. }
  91. }
  92. }else{
  93. validate = 0;
  94. }
  95. });
  96. password = $("#password").val();
  97. confirmation= $("#confirmation").val();
  98. minPassLength = <?= $minPassLength ? $minPassLength : 4 ?>;
  99. maxPassLength = <?= $maxPassLength ? $maxPassLength : 30 ?>;
  100. passwordLength = password.length;
  101. //password length validate
  102. if(passwordLength < minPassLength || passwordLength > maxPassLength){
  103. if(!$("#password").hasClass("validation-failed")){
  104. //alert(111);
  105. $("#password").parent().append('<div class="validation-advice" id="min_lenght" style=""><?= $passwordLenghtValidate; ?> </div>');
  106. $("#password").addClass("validation-failed");
  107. validate = 0;
  108. }
  109. }
  110. //password validate
  111. if(confirmation != password){
  112. if(!$("#confirmation").hasClass("validation-failed")){
  113. //alert(111);
  114. $("#confirmation").parent().append('<div class="validation-advice" id="min_lenght" style=""><?= $passwordMatchValidate; ?></div>');
  115. $("#confirmation").addClass("validation-failed");
  116. validate = 0;
  117. }
  118. }
  119. if(validate){
  120. // alert("validate success");
  121. $(this).addClass("dataUp");
  122. $("#form-validate").submit();
  123. }
  124. });
  125. });
  126. <?php $this->endBlock(); ?>
  127. </script>
  128. <?php $this->registerJs($this->blocks['customer_account_reset'],\yii\web\View::POS_END);//将编写的js代码注册到页面底部 ?>
  129. <?php else: ?>
  130. <div>
  131. <?php
  132. $param = ['logUrlB' => '<a href="'.$forgotPasswordUrl.'">','logUrlE' => '</a> '];
  133. ?>
  134. <?= Yii::$service->page->translate->__('Your Reset Password Token is Expired, You can {logUrlB} click here {logUrlE} to retrieve it ',$param); ?>
  135. </div>
  136. <?php endif; ?>
  137. </div>