index.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  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->__('Edit Account'); ?></h1>
  16. </div>
  17. </div>
  18. <?= Yii::$service->page->widget->render('flashmessage'); ?>
  19. <div class="list-block customer-login customer-register">
  20. <form method="post" id="form-validate" autocomplete="off" action="<?= $actionUrl ?>">
  21. <?= \fec\helpers\CRequest::getCsrfInputHtml(); ?>
  22. <ul>
  23. <li>
  24. <div class="item-content">
  25. <div class="item-media">
  26. <i class="icon icon-form-name"></i>
  27. </div>
  28. <div class="item-inner">
  29. <div class="item-input">
  30. <input type="text" placeholder="<?= Yii::$service->page->translate->__('Email Address');?>" style="color:#ccc;" readonly="true" id="customer_email" name="editForm[email]" value="<?= $email ?>" title="Email" class="input-text required-entry" />
  31. </div>
  32. </div>
  33. </div>
  34. </li>
  35. <li>
  36. <div class="item-content">
  37. <div class="item-media">
  38. <i class="icon icon-form-name"></i>
  39. </div>
  40. <div class="item-inner">
  41. <div class="item-input">
  42. <input placeholder="<?= Yii::$service->page->translate->__('First Name'); ?>" id="firstname" name="editForm[firstname]" value="<?= $firstname ?>" title="First Name" class="input-text required-entry" type="text" />
  43. <div class="validation-advice" id="required_current_firstname" style="display:none;"><?= Yii::$service->page->translate->__('This is a required field.');?></div>
  44. </div>
  45. </div>
  46. </div>
  47. </li>
  48. <li>
  49. <div class="item-content">
  50. <div class="item-media">
  51. <i class="icon icon-form-name"></i>
  52. </div>
  53. <div class="item-inner">
  54. <div class="item-input">
  55. <input type="text" placeholder="<?= Yii::$service->page->translate->__('Last Name'); ?>" id="lastname" name="editForm[lastname]" value="<?= $lastname ?>" title="Last Name" maxlength="255" class="input-text required-entry" />
  56. <div class="validation-advice" id="required_current_lastname" style="display:none;"><?= Yii::$service->page->translate->__('This is a required field.');?></div>
  57. </div>
  58. </div>
  59. </div>
  60. </li>
  61. <li class="control">
  62. <div class="change_password_label item-content">
  63. <input name="editForm[change_password]" id="change_password" value="1" onclick="setPasswordForm(this.checked)" title="Change Password" class="checkbox" type="checkbox">
  64. <label for="change_password"><?= Yii::$service->page->translate->__('Change Password');?></label>
  65. </div>
  66. </li>
  67. <li class="fieldset_pass" style="display:none">
  68. <div class="item-content">
  69. <div class="item-media">
  70. <i class="icon icon-form-name"></i>
  71. </div>
  72. <div class="item-inner">
  73. <div class="item-input">
  74. <input placeholder="<?= Yii::$service->page->translate->__('Current Password'); ?>" title="Current Password" class="input-text required-entry" name="editForm[current_password]" id="current_password" type="password" />
  75. <div class="validation-advice" id="required_current_password" style="display:none;"><?= Yii::$service->page->translate->__('This is a required field.');?></div>
  76. </div>
  77. </div>
  78. </div>
  79. </li>
  80. <li class="fieldset_pass" style="display:none">
  81. <div class="item-content">
  82. <div class="item-media">
  83. <i class="icon icon-form-name"></i>
  84. </div>
  85. <div class="item-inner">
  86. <div class="item-input">
  87. <input placeholder="<?= Yii::$service->page->translate->__('New Password'); ?>" title="New Password" class="input-text validate-password required-entry" name="editForm[password]" id="password" type="password" />
  88. <div class="validation-advice" id="required_new_password" style="display:none;"><?= Yii::$service->page->translate->__('This is a required field.');?></div>
  89. </div>
  90. </div>
  91. </div>
  92. </li>
  93. <li class="fieldset_pass" style="display:none">
  94. <div class="item-content">
  95. <div class="item-media">
  96. <i class="icon icon-form-name"></i>
  97. </div>
  98. <div class="item-inner">
  99. <div class="item-input">
  100. <input placeholder="<?= Yii::$service->page->translate->__('Confirm New Password'); ?>" title="Confirm New Password" class="input-text validate-cpassword required-entry" name="editForm[confirmation]" id="confirmation" type="password" />
  101. <div class="validation-advice" id="required_confirm_password" style="display:none;"><?= Yii::$service->page->translate->__('This is a required field.');?></div>
  102. </div>
  103. </div>
  104. </div>
  105. </li>
  106. </ul>
  107. <div class="clear"></div>
  108. <div class="buttons-set">
  109. <p>
  110. <a external href="#" id="js_editBtn" class="button button-fill">
  111. <?= Yii::$service->page->translate->__('Edit Account'); ?>
  112. </a>
  113. </p>
  114. </div>
  115. </form>
  116. </div>
  117. <script>
  118. <?php $this->beginBlock('customer_account_info_update') ?>
  119. function setPasswordForm(arg){
  120. if(arg){
  121. $('.fieldset_pass').show();
  122. }else{
  123. $('.fieldset_pass').hide();
  124. }
  125. }
  126. function check_edit(){
  127. $check_current_password = true;
  128. $check_new_password = true;
  129. $check_confir_password = true;
  130. $check_current_firstname = true;
  131. $check_current_lastname = true;
  132. $firstname = $('#firstname').val();
  133. $lastname = $('#lastname').val();
  134. $check_confir_password_with_pass = true;
  135. if($firstname == ''){
  136. $('#firstname').addClass('validation-failed');
  137. $('#required_current_firstname').show();
  138. $check_current_firstname = false;
  139. }else{
  140. $('#firstname').removeClass('validation-failed');
  141. $('#required_current_firstname').hide();
  142. $check_current_firstname = true;
  143. }
  144. if($lastname == ''){
  145. $('#lastname').addClass('validation-failed');
  146. $('#required_current_lastname').show();
  147. $check_current_lastname = false;
  148. }else{
  149. $('#lastname').removeClass('validation-failed');
  150. $('#required_current_lastname').hide();
  151. $check_current_lastname = true;
  152. }
  153. if($('#change_password').is(':checked')){
  154. $current_password = $('#current_password').val();
  155. $password = $('#password').val();
  156. $confirmation = $('#confirmation').val();
  157. if($current_password == ''){
  158. $('#current_password').addClass('validation-failed');
  159. $('.required_current_password').show();
  160. $check_current_password = false;
  161. }else{
  162. $('#current_password').removeClass('validation-failed');
  163. $('#required_current_password').hide();
  164. $check_current_password = true;
  165. }
  166. if($password == ''){
  167. $('#password').addClass('validation-failed');
  168. $('#required_new_password').show().html('This is a required field.');;
  169. $check_new_password = false;
  170. }else{
  171. if(!checkPass($password)){
  172. $('#password').addClass('validation-failed');
  173. $('#required_new_password').show();
  174. $('#required_new_password').html('Must have 6 to 30 characters and no spaces.');
  175. $check_new_password = false;
  176. }else{
  177. $('#password').removeClass('validation-failed');
  178. $('#required_new_password').hide();
  179. $check_new_password = true;
  180. }
  181. }
  182. if($confirmation == ''){
  183. $('#confirmation').addClass('validation-failed');
  184. $('#required_confirm_password').show().html('This is a required field.');
  185. $check_confir_password = false;
  186. }else{
  187. if(!checkPass($confirmation)){
  188. $('#confirmation').addClass('validation-failed');
  189. $('#required_confirm_password').show();
  190. $('#required_confirm_password').html('Must have 6 to 30 characters and no spaces.');
  191. $check_confir_password = false;
  192. }else{
  193. if($password != $confirmation){
  194. $('#confirmation').addClass('validation-failed');
  195. $('#required_confirm_password').show();
  196. $('#required_confirm_password').html('Two password is not the same!');
  197. $check_confir_password_with_pass = false;
  198. }else{
  199. $('#confirmation').removeClass('validation-failed');
  200. $('#required_confirm_password').hide();
  201. $check_confir_password = true;
  202. }
  203. }
  204. }
  205. }
  206. if( $check_confir_password_with_pass && $check_current_firstname && $check_current_lastname && $check_confir_password && $check_new_password && $check_current_password){
  207. return true;
  208. }else{
  209. return false;
  210. }
  211. }
  212. function checkPass(str){
  213. var re = /^\w{6,30}$/;
  214. if(re.test(str)){
  215. return true;
  216. }else{
  217. return false;
  218. }
  219. }
  220. function checkEmail(str){
  221. var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
  222. if(myReg.test(str)) return true;
  223. return false;
  224. }
  225. $(document).ready(function(){
  226. $("#js_editBtn").click(function(){
  227. if(check_edit()){
  228. $("#form-validate").submit();
  229. }
  230. });
  231. });
  232. <?php $this->endBlock(); ?>
  233. </script>
  234. <?php $this->registerJs($this->blocks['customer_account_info_update'],\yii\web\View::POS_END);//将编写的js代码注册到页面底部 ?>