PageRenderTime 53ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/wp-content/themes/liguelista/library/dashboard/mypage-edit-my-profile.php

https://gitlab.com/oxidigitaluser/liguelista
PHP | 305 lines | 274 code | 24 blank | 7 comment | 44 complexity | 2e1445c178a075c92186759796009df6 MD5 | raw file
  1. <?php
  2. /**
  3. *** Edit My Profile Page
  4. ***/
  5. require_once 'mypage-common-header.php';
  6. $error = "";
  7. $edit = (is_user_logged_in()) ? get_userdata(get_current_user_id()) : NULL;
  8. if(isset($_POST['javo_r'])){
  9. $fields = $_POST['javo_r'];
  10. $errors = Array();
  11. $javo_ut = !empty($fields['user_type'])? trim($fields['user_type']):null;
  12. if($fields['user_login'] == "") $errors[] = __(" Login ID", "javo_fr");
  13. if($fields['first_name'] == "") $errors[] = __(" First Name", "javo_fr");
  14. if($fields['last_name'] == "") $errors[] = __(" Last Name", "javo_fr");
  15. if(!$edit && $fields['user_pass'] == "") $errors[] = __(" Password", "javo_fr");
  16. if(!$edit && $fields['user_pass_re'] == "") $errors[] = __(" Re-enter Password", "javo_fr");
  17. if($fields['user_email'] == "") $errors[] = __(" Email Address", "javo_fr");
  18. if(strlen($fields['user_login']) < 4) $errors[] = __(" Login ID must be a minimum of 4 characters.", "javo_fr");
  19. if(!$edit && ($fields['user_pass'] != $fields['user_pass_re'])) $errors[] = __(" Passwords do not match.", "javo_fr");
  20. if(!$edit && (strlen($fields['user_pass']) < 4)) $errors[] = __(" Password must be a minimum of 4 characters.", "javo_fr");
  21. if(!$edit){
  22. $get_user = get_user_by("login", $fields['user_login']);
  23. if(!empty($get_user)){
  24. if( $get_user->user_login != ""){
  25. $errors[] = __(" That Login ID already exists.", "javo_fr");
  26. };
  27. };
  28. $get_user = get_user_by("email", $fields['user_email']);
  29. if(!empty($get_user)){
  30. if( $get_user->user_email != ""){
  31. $errors[] = __(" The email address you entered has already been used.", "javo_fr");
  32. };
  33. };
  34. };
  35. if(count($errors) == 0){
  36. $args = Array(
  37. "user_login" => $fields['user_login']
  38. , "first_name" => $fields['first_name']
  39. , "last_name" => $fields['last_name']
  40. , "user_email" => $fields['user_email']
  41. );
  42. if(!$edit){
  43. $args["role"] = $javo_ut;
  44. $args["user_pass"] = $fields['user_pass'];
  45. };
  46. if($edit) $args["ID"] = $edit->ID;
  47. $user_id = ($edit) ? wp_update_user($args) : wp_insert_user($args);
  48. if($user_id){
  49. update_user_meta($user_id, "description", $fields['description']);
  50. update_user_meta($user_id, "phone", $fields['phone']);
  51. update_user_meta($user_id, "mobile", $fields['mobile']);
  52. update_user_meta($user_id, "fax", $fields['fax']);
  53. update_user_meta($user_id, "twitter", $fields['twitter']);
  54. update_user_meta($user_id, "facebook", $fields['facebook']);
  55. update_user_meta($user_id, "avatar", (!empty($_POST['avatar'])?$_POST['avatar']:""));
  56. printf("<script>alert('%s');location.href='%s';</script>"
  57. , ( $edit ? __("You have successfully changed your information!", "javo_fr") : __("You have successfully created an account! Please log in.", "javo_fr") )
  58. , ( $edit ? home_url('/member/'.get_userdata($user_id)->user_login.'/manage/') : home_url('/') )
  59. );
  60. exit;
  61. }else{
  62. $errors[] = __("Sorry. Could not create a Login ID.", "javo_fr");
  63. }
  64. }
  65. };
  66. function javo_input_str($fdnm, $default){
  67. global $fields, $edit;
  68. echo $edit != NULL ? $default : (!empty($fields) ? $fields[$fdnm] : "") ;
  69. };
  70. get_header(); ?>
  71. <div class="jv-my-page">
  72. <div class="row top-row">
  73. <div class="col-md-12">
  74. <?php get_template_part('library/dashboard/sidebar', 'user-info');?>
  75. </div> <!-- col-12 -->
  76. </div> <!-- top-row -->
  77. <div class="container secont-container-content">
  78. <div class="row row-offcanvas row-offcanvas-left">
  79. <?php get_template_part('library/dashboard/sidebar', 'menu');?>
  80. <div class="col-xs-12 col-sm-10 main-content-right" id="main-content">
  81. <div class="row">
  82. <div class="col-md-12">
  83. <div class="panel panel-default panel-wrap">
  84. <div class="panel-heading">
  85. <p class="pull-left visible-xs">
  86. <button class="btn btn-primary btn-xs" data-toggle="mypage-offcanvas"><?php _e('My page menu', 'javo_fr'); ?></button>
  87. </p> <!-- offcanvas button -->
  88. <div class="row">
  89. <div class="col-md-11 my-page-title">
  90. <?php _e('Edit My Profile', 'javo_fr');?>
  91. </div> <!-- my-page-title -->
  92. <div class="col-md-1">
  93. <p class="text-center"><a href="#full-mode" class="toggle-full-mode"><i class="fa fa-arrows-alt"></i></a></p>
  94. </div> <!-- my-page-title -->
  95. </div> <!-- row -->
  96. </div> <!-- panel-heading -->
  97. <div class="panel-body">
  98. <!-- Starting Content -->
  99. <div class="row">
  100. <div class="col-lg-12 main-content-box">
  101. <form method="post" enctype="multipart/form-data">
  102. <?php
  103. // Error Output
  104. if(!empty($errors)){
  105. ?>
  106. <div class="alert alert-danger alert-dismissable">
  107. <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
  108. <?php
  109. foreach($errors as $err=>$message){
  110. ?>
  111. <p>
  112. <strong><?php _e("Required","javo_fr"); ?></strong>
  113. <?php echo $message;?>
  114. </p>
  115. <?php
  116. };?>
  117. </div>
  118. <?php
  119. };?>
  120. <?php if(empty($edit)){ ?>
  121. <div class="row">
  122. <div class="col-xs-3 col-lg-3">
  123. <div class="well well-sm">
  124. <?php _e('Register type', 'javo_fr') ?>
  125. </div>
  126. </div>
  127. <div class="col-xs-9 col-lg-9">
  128. <?php
  129. global $wp_roles;
  130. $javo_exclude_roles = Array(
  131. "administrator"
  132. , "editor"
  133. , "contributor"
  134. , "subscriber"
  135. );
  136. $javo_item_roles = $wp_roles->roles;
  137. foreach($javo_exclude_roles as $ex_role){
  138. if( array_key_exists($ex_role, $javo_item_roles) ){
  139. unset($javo_item_roles[$ex_role]);
  140. };
  141. };?>
  142. <select name="javo_r[user_type]" class="form-control" data-required>
  143. <option value=""><?php _e('Select your type', 'javo_fr');?></option>
  144. <?php
  145. foreach($javo_item_roles as $role=> $attr){
  146. printf('<option value="%s">%s</option>', $role, $attr['name']);
  147. };?>
  148. </select>
  149. </div>
  150. </div>
  151. <?php };?>
  152. <div class="javo-form-div <?php echo empty($edit)?"hidden":"";?>">
  153. <div class="row">
  154. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Username', 'javo_fr') ?></div></div>
  155. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[user_login]" value="<?php javo_input_str("user_login", (!empty($edit)? $edit->user_login : NULL));?>" data-required placeholder="<?php _e('Username', 'javo_fr');?>" <?php echo (($edit)?"readonly" : "");?>></div>
  156. </div>
  157. <div class="row">
  158. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Name', 'javo_fr') ?></div></div>
  159. <div class="col-xs-9 col-lg-9">
  160. <div class="row">
  161. <div class="col-xs-6 col-lg-6">
  162. <input type="text" class="form-control" name="javo_r[first_name]" value="<?php javo_input_str("first_name", (!empty($edit)?$edit->first_name:null));?>" data-required placeholder="<?php _e('First Name', 'javo_fr');?>">
  163. </div><!-- col-xs-6 -->
  164. <div class="col-xs-6 col-lg-6">
  165. <input type="text" class="form-control" name="javo_r[last_name]" value="<?php javo_input_str("last_name", (!empty($edit)?$edit->last_name:null));?>" data-required placeholder="<?php _e('Last Name', 'javo_fr');?>">
  166. </div><!-- col-xs-6 -->
  167. </div><!-- row -->
  168. </div><!-- col-xs-9 -->
  169. </div><!-- row -->
  170. <?php if(!$edit):?>
  171. <div class="row">
  172. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Password', 'javo_fr') ?></div></div>
  173. <div class="col-xs-9 col-lg-9"><input type="password" class="form-control" name="javo_r[user_pass]" data-required></div>
  174. </div>
  175. <div class="row">
  176. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Re-enter Password', 'javo_fr') ?></div></div>
  177. <div class="col-xs-9 col-lg-9"><input type="password" class="form-control" name="javo_r[user_pass_re]" data-required></div>
  178. </div>
  179. <?php endif; ?>
  180. <div class="row">
  181. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Email', 'javo_fr') ?></div></div>
  182. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[user_email]" value="<?php javo_input_str("user_email", (!empty($edit)?$edit->user_email:null));?>" data-required></div>
  183. </div>
  184. <div class="javo-register advanced">
  185. <hr>
  186. <div class="row">
  187. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Telephone', 'javo_fr') ?></div></div>
  188. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[phone]" value="<?php javo_input_str("phone", (!empty($edit)?get_user_meta($edit->ID, "phone", true):null));?>"></div>
  189. </div>
  190. <div class="row">
  191. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Mobile', 'javo_fr') ?></div></div>
  192. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[mobile]" value="<?php javo_input_str("mobile", (!empty($edit)?get_user_meta($edit->ID, "mobile", true):null));?>"></div>
  193. </div>
  194. <div class="row">
  195. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Fax', 'javo_fr') ?></div></div>
  196. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[fax]" value="<?php javo_input_str("fax", (!empty($edit)?get_user_meta($edit->ID, "fax", true):null));?>"></div>
  197. </div>
  198. <hr>
  199. <div class="row">
  200. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Picture', 'javo_fr') ?></div></div>
  201. <div class="col-xs-9 col-lg-9">
  202. <div class="javo_avatar_preview">
  203. <?php
  204. if(!empty($edit)){
  205. $img_src = wp_get_attachment_image_src(get_user_meta($edit->ID, "avatar", true));
  206. };?>
  207. <img src='<?php echo $img_src[0];?>' width='100' class='javo-upload-review'>
  208. </div>
  209. <input name="avatar" type="hidden" value="<?php echo !empty($edit)?get_user_meta($edit->ID, "avatar", true):null;?>">
  210. <a class="btn btn-primary javo-fileupload" data-title="<?php _e('My Profile Featured Image', 'javo_fr');?>" data-input="input[name='avatar']" data-preview=".javo-upload-review"><?php _e('Upload', 'javo_fr');?></a>
  211. </div>
  212. </div>
  213. <hr>
  214. <div class="row">
  215. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Description', 'javo_fr') ?></div></div>
  216. <div class="col-xs-9 col-lg-9"><?php wp_editor((($edit)? get_user_meta($edit->ID, "description", true) : ""), "javo-propfile-textarea", Array("textarea_name"=>"javo_r[description]", "editor_class"=>"form-control"));?></div>
  217. </div>
  218. <h5><?php _e("Social Network IDs","javo_fr"); ?></h5>
  219. <div class="row">
  220. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Twitter', 'javo_fr') ?></div></div>
  221. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[twitter]" value="<?php javo_input_str("twitter", (!empty($edit)?get_user_meta($edit->ID, "twitter", true):null));?>" placeholder="<?php _e('Twitter', 'javo_fr');?>"></div>
  222. </div>
  223. <div class="row">
  224. <div class="col-xs-3 col-lg-3"><div class="well well-sm"><?php _e('Facebook', 'javo_fr') ?></div></div>
  225. <div class="col-xs-9 col-lg-9"><input type="text" class="form-control" name="javo_r[facebook]" value="<?php javo_input_str("facebook", (!empty($edit)?get_user_meta($edit->ID, "facebook", true):null));?>" placeholder="<?php _e('Facebook', 'javo_fr');?>"></div>
  226. </div>
  227. </div><!-- javo Advanced information -->
  228. <div class="row">
  229. <div class="col-xs-3 col-lg-12">
  230. <input id="btn_save" class="btn btn-primary col-lg-12" value="<?php _e('OK, Create my Account!', 'javo_fr') ?>" type="button">
  231. </div>
  232. </div>
  233. </div><!-- Hidden -->
  234. <div class="javo-need-user-type <?php echo !empty($edit)?'hidden':'';?>">
  235. <div class="alert alert-warning alert-dismissable text-center">
  236. <?php _e("Please select your user type.","javo_fr");?>
  237. </div>
  238. <br><br><br><br><br>
  239. </div>
  240. </form>
  241. </div><!-- main-content-box -->
  242. </div><!-- Row End -->
  243. <script type="text/javascript">
  244. (function($){
  245. "use strict";
  246. jQuery.fn.formcheck = function(type){
  247. var i=0;
  248. // Field Null Check
  249. $(this).each(function(){
  250. if( $(this).val() == "" && typeof($(this).data("Required")) != "undefined" ){
  251. $(this).addClass("isNull");
  252. i++;
  253. }else{
  254. $(this).removeClass("isNull");
  255. }
  256. });
  257. // Move Top Animation
  258. if(i > 0){
  259. $("html, body").animate({scrollTop:0}, 500);
  260. return false;
  261. };
  262. $(this).parents("form").ajaxFormUnbind().submit();
  263. }
  264. // Send Edit My Profile
  265. $("body").on("click", "#btn_save", function(){
  266. $('input[name^=javo_r]').on("keyup", function(){$(this).removeClass("isNull");}).formcheck("select");
  267. });
  268. })(jQuery);
  269. </script>
  270. <!-- End Content -->
  271. </div> <!-- panel-body -->
  272. </div> <!-- panel -->
  273. </div> <!-- col-md-12 -->
  274. </div><!--/row-->
  275. </div><!-- wrap-right -->
  276. </div><!--/row-->
  277. </div><!--/.container-->
  278. </div><!--jv-my-page-->
  279. <?php
  280. get_template_part('library/dashboard/mypage', 'common-script');
  281. get_footer();