User registration & user profile – Profile Builder - Version 1.1.11

Version Description

Minor changes to readme file.

Download this release

Release Info

Developer barinagabriel
Plugin Icon 128x128 User registration & user profile – Profile Builder
Version 1.1.11
Comparing to
See all releases

Code changes from version 1.1.10 to 1.1.11

assets/css/style.css CHANGED
@@ -933,4 +933,17 @@ div.file_wrap {
933
 
934
  #secondColumn, #thirdColumn{
935
  width:25%;
 
 
 
 
 
 
 
 
 
 
 
 
 
936
  }
933
 
934
  #secondColumn, #thirdColumn{
935
  width:25%;
936
+ }
937
+
938
+ #framework_wrap #content .wppb_default_style {
939
+ display: inline-block !important;
940
+ left: 18px;
941
+ margin-bottom: 0 !important;
942
+ position: relative;
943
+ vertical-align: middle;
944
+ width: 100px;
945
+ }
946
+ #framework_wrap #content select {
947
+ height: 28px;
948
+ padding: 4px 5px;
949
  }
front-end/wppb.edit.profile.php CHANGED
@@ -15,8 +15,10 @@ function wppb_save_the_password(){
15
  global $changesSavedNoMatchingPass;
16
  global $changesSavedNoPass;
17
 
18
- /* Load registration file. */
19
- require_once(ABSPATH . WPINC . '/registration.php');
 
 
20
  /* Get user info. */
21
  global $current_user;
22
 
@@ -59,7 +61,9 @@ function wppb_front_end_profile_info() {
59
  $editFilterArray = array();
60
 
61
 
62
- /* Load registration file. */
 
 
63
  require_once(ABSPATH . WPINC . '/registration.php');
64
  /* Get user info. */
65
  global $current_user;
@@ -275,13 +279,14 @@ function wppb_front_end_profile_info() {
275
  switch ($value['item_type']) {
276
  case "input":{
277
  $_POST[$value['item_id'].$value['id']] = apply_filters('wppb_edit_profile_input_custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']]);
278
- if ($value['item_required'] != null){
279
  if ($value['item_required'] == 'yes'){
280
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
281
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
282
  else
283
  array_push($extraFieldsErrorHolder, $value['id']);
284
- }
 
285
  }else
286
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
287
 
@@ -303,87 +308,96 @@ function wppb_front_end_profile_info() {
303
  }
304
  }
305
 
306
- if ($value['item_required'] != null){
307
  if ($value['item_required'] == 'yes'){
308
  if (trim($checkboxOption) != '')
309
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $checkboxOption ) );
310
  else
311
  array_push($extraFieldsErrorHolder, $value['id']);
312
- }
 
313
  }else
314
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $checkboxOption ) );
315
 
316
  break;
317
  }
318
  case "radio":{
319
- if ($value['item_required'] != null){
320
  if ($value['item_required'] == 'yes'){
321
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
322
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
323
  else
324
  array_push($extraFieldsErrorHolder, $value['id']);
325
- }
326
- }
 
 
327
  break;
328
  }
329
  case "select":{
330
- if ($value['item_required'] != null){
331
  if ($value['item_required'] == 'yes'){
332
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
333
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
334
  else
335
  array_push($extraFieldsErrorHolder, $value['id']);
336
- }
337
- }
 
 
338
  break;
339
  }
340
  case "countrySelect":{
341
- if ($value['item_required'] != null){
342
  if ($value['item_required'] == 'yes'){
343
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
344
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
345
  else
346
  array_push($extraFieldsErrorHolder, $value['id']);
347
- }
 
348
  }else
349
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
350
 
351
  break;
352
  }
353
  case "timeZone":{
354
- if ($value['item_required'] != null){
355
  if ($value['item_required'] == 'yes'){
356
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
357
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
358
  else
359
  array_push($extraFieldsErrorHolder, $value['id']);
360
- }
 
361
  }else
362
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
363
 
364
  break;
365
  }
366
  case "datepicker":{
367
- if ($value['item_required'] != null){
368
  if ($value['item_required'] == 'yes'){
369
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
370
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
371
  else
372
  array_push($extraFieldsErrorHolder, $value['id']);
373
- }
 
374
  }else
375
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
376
 
377
  break;
378
  }
379
  case "textarea":{
380
- if ($value['item_required'] != null){
381
  if ($value['item_required'] == 'yes'){
382
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
383
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
384
  else
385
  array_push($extraFieldsErrorHolder, $value['id']);
386
- }
 
387
  }else
388
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
389
 
@@ -407,12 +421,15 @@ function wppb_front_end_profile_info() {
407
  else $finalFileName .= $fileName[$i];
408
  }
409
 
410
- //create the target path for uploading
411
- $target_path = "wp-content/uploads/profile_builder/attachments/";
412
- $target_path = $target_path . 'userID_'.$current_user->id.'_attachment_'. $finalFileName;
 
 
413
 
414
  if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
415
- $upFile = get_bloginfo('home').'/'.$target_path;
 
416
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], $upFile);
417
  $pictureUpload = 'yes';
418
  }else{
@@ -429,7 +446,8 @@ function wppb_front_end_profile_info() {
429
  case "avatar":{
430
  $avatarUpload = 'no';
431
  $uploadedfile = $value['item_type'].$value['id'];
432
- $target_path_original = "wp-content/uploads/profile_builder/avatars/";
 
433
  $fileName = $_FILES[$uploadedfile]['name'];
434
  $finalFileName = '';
435
 
@@ -669,9 +687,11 @@ function wppb_front_end_profile_info() {
669
  $errorMark = '';
670
  if ($wppb_defaultOptions['firstnameRequired'] == 'yes'){
671
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
672
- if ((trim($_POST['first_name']) == '') && isset($_POST['first_name'])){
673
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
674
- $errorVar = ' errorHolder';
 
 
675
  }
676
  }
677
  $editProfileFilterArray['contentName3'] = '
@@ -688,9 +708,11 @@ function wppb_front_end_profile_info() {
688
  $errorMark = '';
689
  if ($wppb_defaultOptions['lastnameRequired'] == 'yes'){
690
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
691
- if ((trim($_POST['last_name']) == '') && isset($_POST['last_name'])){
692
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
693
- $errorVar = ' errorHolder';
 
 
694
  }
695
  }
696
  $editProfileFilterArray['contentName4'] = '
@@ -707,9 +729,11 @@ function wppb_front_end_profile_info() {
707
  $errorMark = '';
708
  if ($wppb_defaultOptions['nicknameRequired'] == 'yes'){
709
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
710
- if ((trim($_POST['nickname']) == '') && isset($_POST['nickname'])){
711
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
712
- $errorVar = ' errorHolder';
 
 
713
  }
714
  }
715
  $editProfileFilterArray['contentName5'] = '
@@ -727,9 +751,11 @@ function wppb_front_end_profile_info() {
727
  $errorMark = '';
728
  if ($wppb_defaultOptions['dispnameRequired'] == 'yes'){
729
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
730
- if ((trim($_POST['display_name']) == '') && isset($_POST['display_name'])){
731
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
732
- $errorVar = ' errorHolder';
 
 
733
  }
734
  }
735
  echo '
@@ -770,9 +796,11 @@ function wppb_front_end_profile_info() {
770
  $errorMark = '';
771
  if ($wppb_defaultOptions['emailRequired'] == 'yes'){
772
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
773
- if ((trim($_POST['email']) == '') && isset($_POST['email'])){
774
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
775
- $errorVar = ' errorHolder';
 
 
776
  }
777
  }
778
  $editProfileFilterArray['contentInfo2'] = '
15
  global $changesSavedNoMatchingPass;
16
  global $changesSavedNoPass;
17
 
18
+ /* Load registration file if the version number is less then 3.1. */
19
+ $versionNo = get_bloginfo( 'version' );
20
+ if ($versionNo <= '3.1')
21
+ require_once(ABSPATH . WPINC . '/registration.php');
22
  /* Get user info. */
23
  global $current_user;
24
 
61
  $editFilterArray = array();
62
 
63
 
64
+ /* Load registration file if the version number is less then 3.1. */
65
+ $versionNo = get_bloginfo( 'version' );
66
+ if ($versionNo <= '3.1')
67
  require_once(ABSPATH . WPINC . '/registration.php');
68
  /* Get user info. */
69
  global $current_user;
279
  switch ($value['item_type']) {
280
  case "input":{
281
  $_POST[$value['item_id'].$value['id']] = apply_filters('wppb_edit_profile_input_custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']]);
282
+ if (isset($value['item_required'])){
283
  if ($value['item_required'] == 'yes'){
284
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
285
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
286
  else
287
  array_push($extraFieldsErrorHolder, $value['id']);
288
+ }else
289
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
290
  }else
291
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
292
 
308
  }
309
  }
310
 
311
+ if (isset($value['item_required'])){
312
  if ($value['item_required'] == 'yes'){
313
  if (trim($checkboxOption) != '')
314
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $checkboxOption ) );
315
  else
316
  array_push($extraFieldsErrorHolder, $value['id']);
317
+ }else
318
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $checkboxOption ) );
319
  }else
320
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $checkboxOption ) );
321
 
322
  break;
323
  }
324
  case "radio":{
325
+ if (isset($value['item_required'])){
326
  if ($value['item_required'] == 'yes'){
327
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
328
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
329
  else
330
  array_push($extraFieldsErrorHolder, $value['id']);
331
+ }else
332
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
333
+ }else
334
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
335
  break;
336
  }
337
  case "select":{
338
+ if (isset($value['item_required'])){
339
  if ($value['item_required'] == 'yes'){
340
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
341
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
342
  else
343
  array_push($extraFieldsErrorHolder, $value['id']);
344
+ }else
345
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
346
+ }else
347
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
348
  break;
349
  }
350
  case "countrySelect":{
351
+ if (isset($value['item_required'])){
352
  if ($value['item_required'] == 'yes'){
353
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
354
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
355
  else
356
  array_push($extraFieldsErrorHolder, $value['id']);
357
+ }else
358
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
359
  }else
360
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
361
 
362
  break;
363
  }
364
  case "timeZone":{
365
+ if (isset($value['item_required'])){
366
  if ($value['item_required'] == 'yes'){
367
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
368
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
369
  else
370
  array_push($extraFieldsErrorHolder, $value['id']);
371
+ }else
372
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
373
  }else
374
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
375
 
376
  break;
377
  }
378
  case "datepicker":{
379
+ if (isset($value['item_required'])){
380
  if ($value['item_required'] == 'yes'){
381
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
382
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
383
  else
384
  array_push($extraFieldsErrorHolder, $value['id']);
385
+ }else
386
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
387
  }else
388
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
389
 
390
  break;
391
  }
392
  case "textarea":{
393
+ if (isset($value['item_required'])){
394
  if ($value['item_required'] == 'yes'){
395
  if (trim($_POST[$value['item_id'].$value['id']]) != '')
396
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
397
  else
398
  array_push($extraFieldsErrorHolder, $value['id']);
399
+ }else
400
+ update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
401
  }else
402
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], esc_attr( $_POST[$value['item_id'].$value['id']] ) );
403
 
421
  else $finalFileName .= $fileName[$i];
422
  }
423
 
424
+ //create the target path for uploading
425
+ $wpUploadPath = wp_upload_dir(); // Array of key => value pairs
426
+ $target_path = $wpUploadPath['basedir']."/profile_builder/attachments/";
427
+ //$target_path = "wp-content/uploads/profile_builder/attachments/";
428
+ $target_path = $target_path . 'userID_'.$current_user->id.'_attachment_'. $finalFileName;
429
 
430
  if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
431
+ //$upFile = get_bloginfo('home').'/'.$target_path;
432
+ $upFile = $wpUploadPath['baseurl'].'/profile_builder/attachments/userID_'.$current_user->id.'_attachment_'. $finalFileName;
433
  update_user_meta( $current_user->id, 'custom_field_'.$value['id'], $upFile);
434
  $pictureUpload = 'yes';
435
  }else{
446
  case "avatar":{
447
  $avatarUpload = 'no';
448
  $uploadedfile = $value['item_type'].$value['id'];
449
+ $wpUploadPath = wp_upload_dir(); // Array of key => value pairs
450
+ $target_path_original = $wpUploadPath['basedir']."/profile_builder/avatars/";
451
  $fileName = $_FILES[$uploadedfile]['name'];
452
  $finalFileName = '';
453
 
687
  $errorMark = '';
688
  if ($wppb_defaultOptions['firstnameRequired'] == 'yes'){
689
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
690
+ if (isset($_POST['first_name'])){
691
+ if (trim($_POST['first_name']) == ''){
692
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
693
+ $errorVar = ' errorHolder';
694
+ }
695
  }
696
  }
697
  $editProfileFilterArray['contentName3'] = '
708
  $errorMark = '';
709
  if ($wppb_defaultOptions['lastnameRequired'] == 'yes'){
710
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
711
+ if (isset($_POST['last_name'])){
712
+ if (trim($_POST['last_name']) == ''){
713
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
714
+ $errorVar = ' errorHolder';
715
+ }
716
  }
717
  }
718
  $editProfileFilterArray['contentName4'] = '
729
  $errorMark = '';
730
  if ($wppb_defaultOptions['nicknameRequired'] == 'yes'){
731
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
732
+ if (isset($_POST['nickname'])){
733
+ if (trim($_POST['nickname']) == ''){
734
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
735
+ $errorVar = ' errorHolder';
736
+ }
737
  }
738
  }
739
  $editProfileFilterArray['contentName5'] = '
751
  $errorMark = '';
752
  if ($wppb_defaultOptions['dispnameRequired'] == 'yes'){
753
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
754
+ if (isset($_POST['display_name'])){
755
+ if (trim($_POST['display_name']) == ''){
756
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
757
+ $errorVar = ' errorHolder';
758
+ }
759
  }
760
  }
761
  echo '
796
  $errorMark = '';
797
  if ($wppb_defaultOptions['emailRequired'] == 'yes'){
798
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
799
+ if (isset($_POST['email'])){
800
+ if (trim($_POST['email']) == ''){
801
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field wasn\'t updated because you entered and empty string (It was marked as required by the administrator)."/>';
802
+ $errorVar = ' errorHolder';
803
+ }
804
  }
805
  }
806
  $editProfileFilterArray['contentInfo2'] = '
front-end/wppb.recover.password.php CHANGED
@@ -342,10 +342,13 @@ function wppb_front_end_password_recovery(){
342
  $recoverPasswordFilterArray['notification'] = apply_filters('wppb_recover_password_message1', $recoverPasswordFilterArray['notification']);
343
  echo $recoverPasswordFilterArray['notification'];
344
 
 
 
 
345
  $recoverPasswordFilterArray['input'] = '
346
  <p class="username_email">
347
  <label for="username_email">'. __('Username or E-mail', 'profilebuilder').'</label>
348
- <input class="text-input" name="username_email" type="text" id="username_email" value="'.$_POST['username_email'].'" />
349
  </p><!-- .username_email -->';
350
  $recoverPasswordFilterArray['input'] = apply_filters('wppb_recover_password_input', $recoverPasswordFilterArray['input']);
351
  echo $recoverPasswordFilterArray['input'];
342
  $recoverPasswordFilterArray['notification'] = apply_filters('wppb_recover_password_message1', $recoverPasswordFilterArray['notification']);
343
  echo $recoverPasswordFilterArray['notification'];
344
 
345
+ $username_email = '';
346
+ if (isset($_POST['username_email']))
347
+ $username_email = $_POST['username_email'];
348
  $recoverPasswordFilterArray['input'] = '
349
  <p class="username_email">
350
  <label for="username_email">'. __('Username or E-mail', 'profilebuilder').'</label>
351
+ <input class="text-input" name="username_email" type="text" id="username_email" value="'.trim($username_email).'" />
352
  </p><!-- .username_email -->';
353
  $recoverPasswordFilterArray['input'] = apply_filters('wppb_recover_password_input', $recoverPasswordFilterArray['input']);
354
  echo $recoverPasswordFilterArray['input'];
front-end/wppb.register.php CHANGED
@@ -25,8 +25,10 @@ function wppb_front_end_register($atts){
25
  /* END variables used to verify if all required fields were submitted*/
26
 
27
 
28
- /* Load registration file. */
29
- require_once( ABSPATH . WPINC . '/registration.php' );
 
 
30
 
31
  /* Check if users can register. */
32
  $registration = get_option( 'users_can_register' );
@@ -58,35 +60,68 @@ function wppb_front_end_register($atts){
58
  if ($found != null)
59
  $aprovedRole = $role;
60
  else $aprovedRole = get_option( 'default_role' );
61
-
62
- $user_pass = esc_attr( $_POST['passw1'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
64
  /* use filters to modify (if needed) the posted data before creating the user-data */
65
  $user_pass = apply_filters('wppb_register_posted_password', $user_pass);
66
- $_POST['user_name'] = apply_filters('wppb_register_posted_email', $_POST['user_name']);
67
- $_POST['first_name'] = apply_filters('wppb_register_posted_first_name', $_POST['first_name']);
68
- $_POST['last_name'] = apply_filters('wppb_register_posted_last_name', $_POST['last_name']);
69
- $_POST['nickname'] = apply_filters('wppb_register_posted_nickname', $_POST['nickname']);
70
- $_POST['email'] = apply_filters('wppb_register_posted_email', $_POST['email']);
71
- $_POST['website'] = apply_filters('wppb_register_posted_website', $_POST['website']);
72
- $_POST['aim'] = apply_filters('wppb_register_posted_aim', $_POST['aim']);
73
- $_POST['yim'] = apply_filters('wppb_register_posted_yahoo', $_POST['yim']);
74
- $_POST['jabber'] = apply_filters('wppb_register_posted_jabber', $_POST['jabber']);
75
- $_POST['description'] = apply_filters('wppb_register_posted_bio', $_POST['description']);
76
  /* END use filters to modify (if needed) the posted data before creating the user-data */
77
 
78
  $userdata = array(
79
  'user_pass' => $user_pass,
80
- 'user_login' => esc_attr( $_POST['user_name'] ),
81
- 'first_name' => esc_attr( $_POST['first_name'] ),
82
- 'last_name' => esc_attr( $_POST['last_name'] ),
83
- 'nickname' => esc_attr( $_POST['nickname'] ),
84
- 'user_email' => esc_attr( $_POST['email'] ),
85
- 'user_url' => esc_attr( $_POST['website'] ),
86
- 'aim' => esc_attr( $_POST['aim'] ),
87
- 'yim' => esc_attr( $_POST['yim'] ),
88
- 'jabber' => esc_attr( $_POST['jabber'] ),
89
- 'description' => esc_attr( $_POST['description'] ),
90
  'role' => $aprovedRole);
91
 
92
  //get required and shown fields
@@ -146,7 +181,7 @@ function wppb_front_end_register($atts){
146
  switch ($value['item_type']) {
147
  case "input":{
148
  $_POST[$value['item_id'].$value['id']] = apply_filters('wppb_register_input_custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']]);
149
- if ($value['item_required'] != null){
150
  if ($value['item_required'] == 'yes'){
151
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
152
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -165,7 +200,7 @@ function wppb_front_end_register($atts){
165
  }
166
  }
167
 
168
- if ($value['item_required'] != null){
169
  if ($value['item_required'] == 'yes'){
170
  if (trim($checkboxOption) == '')
171
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -174,7 +209,7 @@ function wppb_front_end_register($atts){
174
  break;
175
  }
176
  case "radio":{
177
- if ($value['item_required'] != null){
178
  if ($value['item_required'] == 'yes'){
179
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
180
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -183,7 +218,7 @@ function wppb_front_end_register($atts){
183
  break;
184
  }
185
  case "select":{
186
- if ($value['item_required'] != null){
187
  if ($value['item_required'] == 'yes'){
188
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
189
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -192,7 +227,7 @@ function wppb_front_end_register($atts){
192
  break;
193
  }
194
  case "countrySelect":{
195
- if ($value['item_required'] != null){
196
  if ($value['item_required'] == 'yes'){
197
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
198
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -201,7 +236,7 @@ function wppb_front_end_register($atts){
201
  break;
202
  }
203
  case "timeZone":{
204
- if ($value['item_required'] != null){
205
  if ($value['item_required'] == 'yes'){
206
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
207
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -210,7 +245,7 @@ function wppb_front_end_register($atts){
210
  break;
211
  }
212
  case "datepicker":{
213
- if ($value['item_required'] != null){
214
  if ($value['item_required'] == 'yes'){
215
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
216
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -219,7 +254,7 @@ function wppb_front_end_register($atts){
219
  break;
220
  }
221
  case "textarea":{
222
- if ($value['item_required'] != null){
223
  if ($value['item_required'] == 'yes'){
224
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
225
  array_push($extraFieldsErrorHolder, $value['id']);
@@ -230,7 +265,7 @@ function wppb_front_end_register($atts){
230
  case "upload":{
231
  $uploadedfile = $value['item_type'].$value['id'];
232
  if ( (basename( $_FILES[$uploadedfile]['name']) == '')){
233
- if ($value['item_required'] != null){
234
  if ($value['item_required'] == 'yes')
235
  array_push($extraFieldsErrorHolder, $value['id']);
236
  }
@@ -243,7 +278,7 @@ function wppb_front_end_register($atts){
243
 
244
  if ( (basename( $_FILES[$uploadedfile]['name']) == '')){
245
  if (($_FILES[$uploadedfile]['type'] != 'image/jpeg') || ($_FILES[$uploadedfile]['type'] != 'image/jpg') || ($_FILES[$uploadedfile]['type'] != 'image/png') || ($_FILES[$uploadedfile]['type'] != 'image/bmp') || ($_FILES[$uploadedfile]['type'] != 'image/pjpeg') || ($_FILES[$uploadedfile]['type'] != 'image/x-png'))
246
- if ($value['item_required'] != null){
247
  if ($value['item_required'] == 'yes')
248
  array_push($extraFieldsErrorHolder, $value['id']);
249
  }
@@ -352,11 +387,13 @@ function wppb_front_end_register($atts){
352
  }
353
 
354
  //create the target path for uploading
355
- $target_path = "wp-content/uploads/profile_builder/attachments/";
 
356
  $target_path = $target_path . 'userID_'.$new_user.'_attachment_'. $finalFileName;
357
 
358
  if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
359
- $upFile = get_bloginfo('home').'/'.$target_path;
 
360
  add_user_meta( $new_user, 'custom_field_'.$value['id'], $upFile );
361
  $pictureUpload = 'yes';
362
  }
@@ -367,7 +404,8 @@ function wppb_front_end_register($atts){
367
  case "avatar":{
368
 
369
  $uploadedfile = $value['item_type'].$value['id'];
370
- $target_path_original = "wp-content/uploads/profile_builder/avatars/";
 
371
  $fileName = $_FILES[$uploadedfile]['name'];
372
  $finalFileName = '';
373
 
@@ -578,10 +616,13 @@ function wppb_front_end_register($atts){
578
  $errorMark = '<font color="red" title="This field is required for registration.">*</font>';
579
  }
580
 
 
 
 
581
  $registerFilterArray['name2'] = '
582
  <p class="form-username">
583
  <label for="user_name">'. __('Username', 'profilebuilder') .$errorMark.'</label>
584
- <input class="text-input" name="user_name" type="text" id="user_name" value="'.trim($_POST['user_name']).'" />
585
  <span class="wppb-description-delimiter">'. __('(required)', 'profilebuilder') .'</span>
586
  </p><!-- .form-username -->';
587
  $registerFilterArray['name2'] = apply_filters('wppb_register_content_name2', $registerFilterArray['name2']);
@@ -593,16 +634,21 @@ function wppb_front_end_register($atts){
593
  $errorMark = '';
594
  if ($wppb_defaultOptions['firstnameRequired'] == 'yes'){
595
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
596
- if ((trim($_POST['first_name']) == '') && isset($_POST['first_name'])){
597
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
598
- $errorVar = ' errorHolder';
 
 
599
  }
600
  }
601
-
 
 
 
602
  $registerFilterArray['name3'] = '
603
  <p class="first_name'.$errorVar.'">
604
  <label for="first_name">'. __('First Name', 'profilebuilder') .$errorMark.'</label>
605
- <input class="text-input" name="first_name" type="text" id="first_name" value="'.trim($_POST['first_name']).'" />
606
  </p><!-- .first_name -->';
607
  $registerFilterArray['name3'] = apply_filters('wppb_register_content_name3', $registerFilterArray['name3']);
608
  echo $registerFilterArray['name3'];
@@ -613,16 +659,21 @@ function wppb_front_end_register($atts){
613
  $errorMark = '';
614
  if ($wppb_defaultOptions['lastnameRequired'] == 'yes'){
615
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
616
- if ((trim($_POST['last_name']) == '') && isset($_POST['last_name'])){
617
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
618
- $errorVar = ' errorHolder';
 
 
619
  }
620
  }
621
 
 
 
 
622
  $registerFilterArray['name4'] = '
623
  <p class="last_name'.$errorVar.'">
624
  <label for="last_name">'. __('Last Name', 'profilebuilder') .$errorMark.'</label>
625
- <input class="text-input" name="last_name" type="text" id="last_name" value="'.trim($_POST['last_name']).'" />
626
  </p><!-- .last_name -->';
627
  $registerFilterArray['name4'] = apply_filters('wppb_register_content_name4', $registerFilterArray['name4']);
628
  echo $registerFilterArray['name4'];
@@ -633,22 +684,27 @@ function wppb_front_end_register($atts){
633
  $errorMark = '';
634
  if ($wppb_defaultOptions['nicknameRequired'] == 'yes'){
635
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
636
- if ((trim($_POST['nickname']) == '') && isset($_POST['nickname'])){
637
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
638
- $errorVar = ' errorHolder';
 
 
639
  }
640
  }
641
 
 
 
 
642
  $registerFilterArray['name5'] = '
643
  <p class="nickname'.$errorVar.'">
644
  <label for="nickname">'. __('Nickname', 'profilebuilder') .$errorMark.'</label>
645
- <input class="text-input" name="nickname" type="text" id="nickname" value="'.trim($_POST['nickname']).'" />
646
  </p><!-- .nickname -->';
647
  $registerFilterArray['name5'] = apply_filters('wppb_register_content_name5', $registerFilterArray['name5']);
648
  echo $registerFilterArray['name5'];
649
  }
650
 
651
- $registerFilterArray['info1'] = '<p register="registerContactInfoHeading"><strong>'. __('Contact Info', 'profilebuilder') .'</strong></p>';
652
  $registerFilterArray['info1'] = apply_filters('wppb_register_content_info1', $registerFilterArray['info1']);
653
  echo $registerFilterArray['info1'];
654
 
@@ -657,14 +713,18 @@ function wppb_front_end_register($atts){
657
  $errorMark = '';
658
  if ($wppb_defaultOptions['emailRequired'] == 'yes'){
659
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
660
- if ((trim($_POST['email']) == '') && isset($_POST['email']))
661
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field is required for registration."/>';
 
662
  }
663
-
 
 
 
664
  $registerFilterArray['info2'] = '
665
  <p class="form-email">
666
  <label for="email">'. __('E-mail', 'profilebuilder') .$errorMark.'</label>
667
- <input class="text-input" name="email" type="text" id="email" value="'.trim($_POST['email']).'" />
668
  <span class="wppb-description-delimiter">'. __('(required)', 'profilebuilder') .'</span>
669
  </p><!-- .form-email -->';
670
  $registerFilterArray['info2'] = apply_filters('wppb_register_content_info2', $registerFilterArray['info2']);
@@ -676,16 +736,21 @@ function wppb_front_end_register($atts){
676
  $errorMark = '';
677
  if ($wppb_defaultOptions['websiteRequired'] == 'yes'){
678
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
679
- if ((trim($_POST['website']) == '') && isset($_POST['website'])){
680
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
681
- $errorVar = ' errorHolder';
 
 
682
  }
683
  }
684
 
 
 
 
685
  $registerFilterArray['info3'] = '
686
  <p class="form-website'.$errorVar.'">
687
  <label for="website">'. __('Website', 'profilebuilder') .$errorMark.'</label>
688
- <input class="text-input" name="website" type="text" id="website" value="'.trim($_POST['website']).'" />
689
  </p><!-- .form-website -->';
690
  $registerFilterArray['info3'] = apply_filters('wppb_register_content_info3', $registerFilterArray['info3']);
691
  echo $registerFilterArray['info3'];
@@ -696,16 +761,21 @@ function wppb_front_end_register($atts){
696
  $errorMark = '';
697
  if ($wppb_defaultOptions['aimRequired'] == 'yes'){
698
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
699
- if ((trim($_POST['aim']) == '') && isset($_POST['aim'])){
700
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
701
- $errorVar = ' errorHolder';
 
 
702
  }
703
  }
704
 
 
 
 
705
  $registerFilterArray['info4'] = '
706
  <p class="form-aim'.$errorVar.'">
707
  <label for="aim">'. __('AIM', 'profilebuilder') .$errorMark.'</label>
708
- <input class="text-input" name="aim" type="text" id="aim" value="'.trim($_POST['aim']).'" />
709
  </p><!-- .form-aim -->';
710
  $registerFilterArray['info4'] = apply_filters('wppb_register_content_info4', $registerFilterArray['info4']);
711
  echo $registerFilterArray['info4'];
@@ -716,16 +786,21 @@ function wppb_front_end_register($atts){
716
  $errorMark = '';
717
  if ($wppb_defaultOptions['yahooRequired'] == 'yes'){
718
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
719
- if ((trim($_POST['yim']) == '') && isset($_POST['yim'])){
720
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
721
- $errorVar = ' errorHolder';
 
 
722
  }
723
  }
724
 
 
 
 
725
  $registerFilterArray['info5'] = '
726
  <p class="form-yim'.$errorVar.'">
727
  <label for="yim">'. __('Yahoo IM', 'profilebuilder') .$errorMark.'</label>
728
- <input class="text-input" name="yim" type="text" id="yim" value="'.trim($_POST['yim']).'" />
729
  </p><!-- .form-yim -->';
730
  $registerFilterArray['info5'] = apply_filters('wppb_register_content_info5', $registerFilterArray['info5']);
731
  echo $registerFilterArray['info5'];
@@ -736,16 +811,21 @@ function wppb_front_end_register($atts){
736
  $errorMark = '';
737
  if ($wppb_defaultOptions['jabberRequired'] == 'yes'){
738
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
739
- if ((trim($_POST['jabber']) == '') && isset($_POST['jabber'])){
740
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
741
- $errorVar = ' errorHolder';
 
 
742
  }
743
  }
744
 
 
 
 
745
  $registerFilterArray['info6'] = '
746
  <p class="form-jabber'.$errorVar.'">
747
  <label for="jabber">'. __('Jabber / Google Talk', 'profilebuilder') .$errorMark.'</label>
748
- <input class="text-input" name="jabber" type="text" id="jabber" value="'.trim($_POST['jabber']).'" />
749
  </p><!-- .form-jabber -->';
750
  $registerFilterArray['info6'] = apply_filters('wppb_register_content_info6', $registerFilterArray['info6']);
751
  echo $registerFilterArray['info6'];
@@ -760,16 +840,21 @@ function wppb_front_end_register($atts){
760
  $errorMark = '';
761
  if ($wppb_defaultOptions['bioRequired'] == 'yes'){
762
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
763
- if ((trim($_POST['description']) == '') && isset($_POST['description'])){
764
- $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
765
- $errorVar = ' errorHolder';
 
 
766
  }
767
  }
768
 
 
 
 
769
  $registerFilterArray['ay2'] = '
770
  <p class="form-description'.$errorVar.'">
771
  <label for="description">'. __('Biographical Info', 'profilebuilder') .$errorMark.'</label>
772
- <textarea class="text-input" name="description" id="description" rows="5" cols="30">'.trim($_POST['description']).'</textarea>
773
  </p><!-- .form-description -->';
774
  $registerFilterArray['ay2'] = apply_filters('wppb_register_content_about_yourself2', $registerFilterArray['ay2']);
775
  echo $registerFilterArray['ay2'];
@@ -781,15 +866,21 @@ function wppb_front_end_register($atts){
781
  $errorMark = '<font color="red" title="This field is required for registration.">*</font>';
782
  }
783
 
 
 
 
 
 
 
784
  $registerFilterArray['ay3'] = '
785
  <p class="form-password">
786
  <label for="pass1">'. __('Password', 'profilebuilder') .$errorMark.'</label>
787
- <input class="text-input" name="passw1" type="password" id="pass1" value="'.trim($_POST['passw1']).'" />
788
  </p><!-- .form-password -->
789
 
790
  <p class="form-password">
791
  <label for="pass2">'. __('Repeat Password', 'profilebuilder') .$errorMark.'</label>
792
- <input class="text-input" name="passw2" type="password" id="pass2" value="'.trim($_POST['passw2']).'" />
793
  </p><!-- .form-password -->';
794
  $registerFilterArray['ay3'] = apply_filters('wppb_register_content_about_yourself3', $registerFilterArray['ay3']);
795
  echo $registerFilterArray['ay3'];
25
  /* END variables used to verify if all required fields were submitted*/
26
 
27
 
28
+ /* Load registration file if the version number is less then 3.1. */
29
+ $versionNo = get_bloginfo( 'version' );
30
+ if ($versionNo <= '3.1')
31
+ require_once(ABSPATH . WPINC . '/registration.php');
32
 
33
  /* Check if users can register. */
34
  $registration = get_option( 'users_can_register' );
60
  if ($found != null)
61
  $aprovedRole = $role;
62
  else $aprovedRole = get_option( 'default_role' );
63
+
64
+ /* preset the values in case some are not submitted */
65
+ $user_pass = '';
66
+ if (isset($_POST['passw1']))
67
+ $user_pass = esc_attr( $_POST['passw1'] );
68
+ $user_name = '';
69
+ if (isset($_POST['user_name']))
70
+ $user_name = trim ($_POST['user_name']);
71
+ $first_name = '';
72
+ if (isset($_POST['first_name']))
73
+ $first_name = trim ($_POST['first_name']);
74
+ $last_name = '';
75
+ if (isset($_POST['last_name']))
76
+ $last_name = trim ($_POST['last_name']);
77
+ $nickname = '';
78
+ if (isset($_POST['nickname']))
79
+ $nickname = trim ($_POST['nickname']);
80
+ $email = '';
81
+ if (isset($_POST['email']))
82
+ $email = trim ($_POST['email']);
83
+ $website = '';
84
+ if (isset($_POST['website']))
85
+ $website = trim ($_POST['website']);
86
+ $aim = '';
87
+ if (isset($_POST['aim']))
88
+ $aim = trim ($_POST['aim']);
89
+ $yim = '';
90
+ if (isset($_POST['yim']))
91
+ $yim = trim ($_POST['yim']);
92
+ $jabber = '';
93
+ if (isset($_POST['jabber']))
94
+ $jabber = trim ($_POST['jabber']);
95
+ $description = '';
96
+ if (isset($_POST['description']))
97
+ $description = trim ($_POST['description']);
98
 
99
  /* use filters to modify (if needed) the posted data before creating the user-data */
100
  $user_pass = apply_filters('wppb_register_posted_password', $user_pass);
101
+ $user_name = apply_filters('wppb_register_posted_email', $user_name);
102
+ $first_name = apply_filters('wppb_register_posted_first_name', $first_name);
103
+ $last_name = apply_filters('wppb_register_posted_last_name', $last_name);
104
+ $nickname = apply_filters('wppb_register_posted_nickname', $nickname);
105
+ $email = apply_filters('wppb_register_posted_email', $email);
106
+ $website = apply_filters('wppb_register_posted_website', $website);
107
+ $aim = apply_filters('wppb_register_posted_aim', $aim);
108
+ $yim = apply_filters('wppb_register_posted_yahoo', $yim);
109
+ $jabber = apply_filters('wppb_register_posted_jabber', $jabber);
110
+ $description = apply_filters('wppb_register_posted_bio', $description);
111
  /* END use filters to modify (if needed) the posted data before creating the user-data */
112
 
113
  $userdata = array(
114
  'user_pass' => $user_pass,
115
+ 'user_login' => esc_attr( $user_name ),
116
+ 'first_name' => esc_attr( $first_name ),
117
+ 'last_name' => esc_attr( $last_name ),
118
+ 'nickname' => esc_attr( $nickname ),
119
+ 'user_email' => esc_attr( $email ),
120
+ 'user_url' => esc_attr( $website ),
121
+ 'aim' => esc_attr( $aim ),
122
+ 'yim' => esc_attr( $yim ),
123
+ 'jabber' => esc_attr( $jabber ),
124
+ 'description' => esc_attr( $description ),
125
  'role' => $aprovedRole);
126
 
127
  //get required and shown fields
181
  switch ($value['item_type']) {
182
  case "input":{
183
  $_POST[$value['item_id'].$value['id']] = apply_filters('wppb_register_input_custom_field_'.$value['id'], $_POST[$value['item_id'].$value['id']]);
184
+ if (isset($value['item_required'])){
185
  if ($value['item_required'] == 'yes'){
186
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
187
  array_push($extraFieldsErrorHolder, $value['id']);
200
  }
201
  }
202
 
203
+ if (isset($value['item_required'])){
204
  if ($value['item_required'] == 'yes'){
205
  if (trim($checkboxOption) == '')
206
  array_push($extraFieldsErrorHolder, $value['id']);
209
  break;
210
  }
211
  case "radio":{
212
+ if (isset($value['item_required'])){
213
  if ($value['item_required'] == 'yes'){
214
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
215
  array_push($extraFieldsErrorHolder, $value['id']);
218
  break;
219
  }
220
  case "select":{
221
+ if (isset($value['item_required'])){
222
  if ($value['item_required'] == 'yes'){
223
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
224
  array_push($extraFieldsErrorHolder, $value['id']);
227
  break;
228
  }
229
  case "countrySelect":{
230
+ if (isset($value['item_required'])){
231
  if ($value['item_required'] == 'yes'){
232
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
233
  array_push($extraFieldsErrorHolder, $value['id']);
236
  break;
237
  }
238
  case "timeZone":{
239
+ if (isset($value['item_required'])){
240
  if ($value['item_required'] == 'yes'){
241
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
242
  array_push($extraFieldsErrorHolder, $value['id']);
245
  break;
246
  }
247
  case "datepicker":{
248
+ if (isset($value['item_required'])){
249
  if ($value['item_required'] == 'yes'){
250
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
251
  array_push($extraFieldsErrorHolder, $value['id']);
254
  break;
255
  }
256
  case "textarea":{
257
+ if (isset($value['item_required'])){
258
  if ($value['item_required'] == 'yes'){
259
  if (trim($_POST[$value['item_id'].$value['id']]) == '')
260
  array_push($extraFieldsErrorHolder, $value['id']);
265
  case "upload":{
266
  $uploadedfile = $value['item_type'].$value['id'];
267
  if ( (basename( $_FILES[$uploadedfile]['name']) == '')){
268
+ if (isset($value['item_required'])){
269
  if ($value['item_required'] == 'yes')
270
  array_push($extraFieldsErrorHolder, $value['id']);
271
  }
278
 
279
  if ( (basename( $_FILES[$uploadedfile]['name']) == '')){
280
  if (($_FILES[$uploadedfile]['type'] != 'image/jpeg') || ($_FILES[$uploadedfile]['type'] != 'image/jpg') || ($_FILES[$uploadedfile]['type'] != 'image/png') || ($_FILES[$uploadedfile]['type'] != 'image/bmp') || ($_FILES[$uploadedfile]['type'] != 'image/pjpeg') || ($_FILES[$uploadedfile]['type'] != 'image/x-png'))
281
+ if (isset($value['item_required'])){
282
  if ($value['item_required'] == 'yes')
283
  array_push($extraFieldsErrorHolder, $value['id']);
284
  }
387
  }
388
 
389
  //create the target path for uploading
390
+ $wpUploadPath = wp_upload_dir(); // Array of key => value pairs
391
+ $target_path = $wpUploadPath['basedir']."/profile_builder/attachments/";
392
  $target_path = $target_path . 'userID_'.$new_user.'_attachment_'. $finalFileName;
393
 
394
  if (move_uploaded_file($_FILES[$uploadedfile]['tmp_name'], $target_path)){
395
+ //$upFile = get_bloginfo('home').'/'.$target_path;
396
+ $upFile = $wpUploadPath['baseurl'].'/profile_builder/attachments/userID_'.$new_user.'_attachment_'. $finalFileName;
397
  add_user_meta( $new_user, 'custom_field_'.$value['id'], $upFile );
398
  $pictureUpload = 'yes';
399
  }
404
  case "avatar":{
405
 
406
  $uploadedfile = $value['item_type'].$value['id'];
407
+ $wpUploadPath = wp_upload_dir(); // Array of key => value pairs
408
+ $target_path_original = $wpUploadPath['basedir']."/profile_builder/avatars/";
409
  $fileName = $_FILES[$uploadedfile]['name'];
410
  $finalFileName = '';
411
 
616
  $errorMark = '<font color="red" title="This field is required for registration.">*</font>';
617
  }
618
 
619
+ $localVar = '';
620
+ if (isset($_POST['user_name']))
621
+ $localVar = $_POST['user_name'];
622
  $registerFilterArray['name2'] = '
623
  <p class="form-username">
624
  <label for="user_name">'. __('Username', 'profilebuilder') .$errorMark.'</label>
625
+ <input class="text-input" name="user_name" type="text" id="user_name" value="'.trim($localVar).'" />
626
  <span class="wppb-description-delimiter">'. __('(required)', 'profilebuilder') .'</span>
627
  </p><!-- .form-username -->';
628
  $registerFilterArray['name2'] = apply_filters('wppb_register_content_name2', $registerFilterArray['name2']);
634
  $errorMark = '';
635
  if ($wppb_defaultOptions['firstnameRequired'] == 'yes'){
636
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
637
+ if (isset($_POST['first_name'])){
638
+ if (trim($_POST['first_name']) == ''){
639
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
640
+ $errorVar = ' errorHolder';
641
+ }
642
  }
643
  }
644
+
645
+ $localVar = '';
646
+ if (isset($_POST['first_name']))
647
+ $localVar = $_POST['first_name'];
648
  $registerFilterArray['name3'] = '
649
  <p class="first_name'.$errorVar.'">
650
  <label for="first_name">'. __('First Name', 'profilebuilder') .$errorMark.'</label>
651
+ <input class="text-input" name="first_name" type="text" id="first_name" value="'.trim($localVar).'" />
652
  </p><!-- .first_name -->';
653
  $registerFilterArray['name3'] = apply_filters('wppb_register_content_name3', $registerFilterArray['name3']);
654
  echo $registerFilterArray['name3'];
659
  $errorMark = '';
660
  if ($wppb_defaultOptions['lastnameRequired'] == 'yes'){
661
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
662
+ if (isset($_POST['last_name'])){
663
+ if (trim($_POST['last_name']) == ''){
664
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
665
+ $errorVar = ' errorHolder';
666
+ }
667
  }
668
  }
669
 
670
+ $localVar = '';
671
+ if (isset($_POST['last_name']))
672
+ $localVar = $_POST['last_name'];
673
  $registerFilterArray['name4'] = '
674
  <p class="last_name'.$errorVar.'">
675
  <label for="last_name">'. __('Last Name', 'profilebuilder') .$errorMark.'</label>
676
+ <input class="text-input" name="last_name" type="text" id="last_name" value="'.trim($localVar).'" />
677
  </p><!-- .last_name -->';
678
  $registerFilterArray['name4'] = apply_filters('wppb_register_content_name4', $registerFilterArray['name4']);
679
  echo $registerFilterArray['name4'];
684
  $errorMark = '';
685
  if ($wppb_defaultOptions['nicknameRequired'] == 'yes'){
686
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
687
+ if (isset($_POST['nickname'])){
688
+ if (trim($_POST['nickname']) == ''){
689
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
690
+ $errorVar = ' errorHolder';
691
+ }
692
  }
693
  }
694
 
695
+ $localVar = '';
696
+ if (isset($_POST['nickname']))
697
+ $localVar = $_POST['nickname'];
698
  $registerFilterArray['name5'] = '
699
  <p class="nickname'.$errorVar.'">
700
  <label for="nickname">'. __('Nickname', 'profilebuilder') .$errorMark.'</label>
701
+ <input class="text-input" name="nickname" type="text" id="nickname" value="'.trim($localVar).'" />
702
  </p><!-- .nickname -->';
703
  $registerFilterArray['name5'] = apply_filters('wppb_register_content_name5', $registerFilterArray['name5']);
704
  echo $registerFilterArray['name5'];
705
  }
706
 
707
+ $registerFilterArray['info1'] = '<p class="registerContactInfoHeading"><strong>'. __('Contact Info', 'profilebuilder') .'</strong></p>';
708
  $registerFilterArray['info1'] = apply_filters('wppb_register_content_info1', $registerFilterArray['info1']);
709
  echo $registerFilterArray['info1'];
710
 
713
  $errorMark = '';
714
  if ($wppb_defaultOptions['emailRequired'] == 'yes'){
715
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
716
+ if (isset($_POST['email']))
717
+ if (trim($_POST['email']) == '')
718
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field is required for registration."/>';
719
  }
720
+
721
+ $localVar = '';
722
+ if (isset($_POST['email']))
723
+ $localVar = $_POST['email'];
724
  $registerFilterArray['info2'] = '
725
  <p class="form-email">
726
  <label for="email">'. __('E-mail', 'profilebuilder') .$errorMark.'</label>
727
+ <input class="text-input" name="email" type="text" id="email" value="'.trim($localVar).'" />
728
  <span class="wppb-description-delimiter">'. __('(required)', 'profilebuilder') .'</span>
729
  </p><!-- .form-email -->';
730
  $registerFilterArray['info2'] = apply_filters('wppb_register_content_info2', $registerFilterArray['info2']);
736
  $errorMark = '';
737
  if ($wppb_defaultOptions['websiteRequired'] == 'yes'){
738
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
739
+ if (isset($_POST['website'])){
740
+ if (trim($_POST['website']) == ''){
741
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
742
+ $errorVar = ' errorHolder';
743
+ }
744
  }
745
  }
746
 
747
+ $localVar = '';
748
+ if (isset($_POST['website']))
749
+ $localVar = $_POST['website'];
750
  $registerFilterArray['info3'] = '
751
  <p class="form-website'.$errorVar.'">
752
  <label for="website">'. __('Website', 'profilebuilder') .$errorMark.'</label>
753
+ <input class="text-input" name="website" type="text" id="website" value="'.trim($localVar).'" />
754
  </p><!-- .form-website -->';
755
  $registerFilterArray['info3'] = apply_filters('wppb_register_content_info3', $registerFilterArray['info3']);
756
  echo $registerFilterArray['info3'];
761
  $errorMark = '';
762
  if ($wppb_defaultOptions['aimRequired'] == 'yes'){
763
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
764
+ if (isset($_POST['aim'])){
765
+ if (trim($_POST['aim']) == ''){
766
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
767
+ $errorVar = ' errorHolder';
768
+ }
769
  }
770
  }
771
 
772
+ $localVar = '';
773
+ if (isset($_POST['aim']))
774
+ $localVar = $_POST['aim'];
775
  $registerFilterArray['info4'] = '
776
  <p class="form-aim'.$errorVar.'">
777
  <label for="aim">'. __('AIM', 'profilebuilder') .$errorMark.'</label>
778
+ <input class="text-input" name="aim" type="text" id="aim" value="'.trim($localVar).'" />
779
  </p><!-- .form-aim -->';
780
  $registerFilterArray['info4'] = apply_filters('wppb_register_content_info4', $registerFilterArray['info4']);
781
  echo $registerFilterArray['info4'];
786
  $errorMark = '';
787
  if ($wppb_defaultOptions['yahooRequired'] == 'yes'){
788
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
789
+ if (isset($_POST['yim'])){
790
+ if (trim($_POST['yim']) == ''){
791
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
792
+ $errorVar = ' errorHolder';
793
+ }
794
  }
795
  }
796
 
797
+ $localVar = '';
798
+ if (isset($_POST['yim']))
799
+ $localVar = $_POST['yim'];
800
  $registerFilterArray['info5'] = '
801
  <p class="form-yim'.$errorVar.'">
802
  <label for="yim">'. __('Yahoo IM', 'profilebuilder') .$errorMark.'</label>
803
+ <input class="text-input" name="yim" type="text" id="yim" value="'.trim($localVar).'" />
804
  </p><!-- .form-yim -->';
805
  $registerFilterArray['info5'] = apply_filters('wppb_register_content_info5', $registerFilterArray['info5']);
806
  echo $registerFilterArray['info5'];
811
  $errorMark = '';
812
  if ($wppb_defaultOptions['jabberRequired'] == 'yes'){
813
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
814
+ if (isset($_POST['jabber'])){
815
+ if (trim($_POST['jabber']) == ''){
816
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
817
+ $errorVar = ' errorHolder';
818
+ }
819
  }
820
  }
821
 
822
+ $localVar = '';
823
+ if (isset($_POST['jabber']))
824
+ $localVar = $_POST['jabber'];
825
  $registerFilterArray['info6'] = '
826
  <p class="form-jabber'.$errorVar.'">
827
  <label for="jabber">'. __('Jabber / Google Talk', 'profilebuilder') .$errorMark.'</label>
828
+ <input class="text-input" name="jabber" type="text" id="jabber" value="'.trim($localVar).'" />
829
  </p><!-- .form-jabber -->';
830
  $registerFilterArray['info6'] = apply_filters('wppb_register_content_info6', $registerFilterArray['info6']);
831
  echo $registerFilterArray['info6'];
840
  $errorMark = '';
841
  if ($wppb_defaultOptions['bioRequired'] == 'yes'){
842
  $errorMark = '<font color="red" title="This field is marked as required by the administrator.">*</font>';
843
+ if (isset($_POST['description'])){
844
+ if (trim($_POST['description']) == ''){
845
+ $errorMark = '<img src="'.wppb_plugin_url . '/assets/images/pencil_delete.png" title="This field must be filled out before registering (It was marked as required by the administrator)."/>';
846
+ $errorVar = ' errorHolder';
847
+ }
848
  }
849
  }
850
 
851
+ $localVar = '';
852
+ if (isset($_POST['description']))
853
+ $localVar = $_POST['description'];
854
  $registerFilterArray['ay2'] = '
855
  <p class="form-description'.$errorVar.'">
856
  <label for="description">'. __('Biographical Info', 'profilebuilder') .$errorMark.'</label>
857
+ <textarea class="text-input" name="description" id="description" rows="5" cols="30">'.trim($localVar).'</textarea>
858
  </p><!-- .form-description -->';
859
  $registerFilterArray['ay2'] = apply_filters('wppb_register_content_about_yourself2', $registerFilterArray['ay2']);
860
  echo $registerFilterArray['ay2'];
866
  $errorMark = '<font color="red" title="This field is required for registration.">*</font>';
867
  }
868
 
869
+ $localVar1 = '';
870
+ if (isset($_POST['passw1']))
871
+ $localVar1 = $_POST['passw1'];
872
+ $localVar2 = '';
873
+ if (isset($_POST['passw2']))
874
+ $localVar2 = $_POST['passw2'];
875
  $registerFilterArray['ay3'] = '
876
  <p class="form-password">
877
  <label for="pass1">'. __('Password', 'profilebuilder') .$errorMark.'</label>
878
+ <input class="text-input" name="passw1" type="password" id="pass1" value="'.trim($localVar).'" />
879
  </p><!-- .form-password -->
880
 
881
  <p class="form-password">
882
  <label for="pass2">'. __('Repeat Password', 'profilebuilder') .$errorMark.'</label>
883
+ <input class="text-input" name="passw2" type="password" id="pass2" value="'.trim($localVar2).'" />
884
  </p><!-- .form-password -->';
885
  $registerFilterArray['ay3'] = apply_filters('wppb_register_content_about_yourself3', $registerFilterArray['ay3']);
886
  echo $registerFilterArray['ay3'];
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Profile Builder
4
  Plugin URI: http://www.cozmoslabs.com/2011/04/12/wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/
5
  Description: Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed or add new (custom) ones both in the front-end and in the dashboard.
6
- Version: 1.1.9
7
  Author: Reflection Media, Barina Gabriel
8
  Author URI: http://www.reflectionmedia.ro
9
  License: GPL2
@@ -54,7 +54,7 @@ function return_bytes($val) {
54
  }
55
 
56
 
57
- define( 'ProfileBuilderVersion', '1.1.9' );
58
  define( 'wppb_plugin_dir', WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) );
59
  define( 'wppb_plugin_url', WP_PLUGIN_URL . '/' . dirname( plugin_basename( __FILE__ ) ) );
60
  define( 'ServerMaxUploadSizeByte', return_bytes( ini_get( 'upload_max_filesize') ) );
3
  Plugin Name: Profile Builder
4
  Plugin URI: http://www.cozmoslabs.com/2011/04/12/wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/
5
  Description: Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed or add new (custom) ones both in the front-end and in the dashboard.
6
+ Version: 1.1.11
7
  Author: Reflection Media, Barina Gabriel
8
  Author URI: http://www.reflectionmedia.ro
9
  License: GPL2
54
  }
55
 
56
 
57
+ define( 'ProfileBuilderVersion', '1.1.11' );
58
  define( 'wppb_plugin_dir', WP_PLUGIN_DIR . '/' . dirname( plugin_basename( __FILE__ ) ) );
59
  define( 'wppb_plugin_url', WP_PLUGIN_URL . '/' . dirname( plugin_basename( __FILE__ ) ) );
60
  define( 'ServerMaxUploadSizeByte', return_bytes( ini_get( 'upload_max_filesize') ) );
readme.txt CHANGED
@@ -2,53 +2,59 @@
2
 
3
  Contributors: reflectionmedia, barinagabriel
4
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
5
- Tags: registration, profile, user registration, custom field registration, customize profile, user fields, builder, profile builder
 
 
6
  Requires at least: 3.1
7
  Tested up to: 3.2
8
- Stable tag: 1.1.9
9
-
10
-
11
- Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed.
12
 
 
13
 
14
  == Description ==
15
 
16
- Profile Builder lets you customize your website by adding a front-end menu for all your users,
17
- giving them a more flexible way to modify their user-information or to register new users.
18
- Also, grants users with administrator rights to customize basic fields or add custom ones.
19
- To achieve this, just create a new page, and give it an intuitive name(i.e. Edit Profile).
 
 
 
20
  Now all you need to do is add the following shortcode(for the previous example): [wppb-edit-profile].
21
- Publish your page and you are done!
22
 
23
  You can use the following shortcodes:
24
 
25
- * [wppb-edit-profile] - to grant users a front-end acces to their personal information(requires user to be logged in).
26
- * [wppb-login] - for a log-in form.
27
- * [wppb-register] - to add a registration form.
28
- * [wppb-recover-password] - to add a password recovery form.
29
 
30
  Users with administrator rights have access to the following features:
31
 
32
  * add a custom stylesheet/inherit values from the current theme or use one of the following built into this plugin: default, white or black.
33
  * select whether to display or not the admin bar in the front end for a specific user-group registered to the site.
34
- * select which information-field can users see/modify. The hidden fields' values remain unmodified.
35
 
36
- PROFILE BUILDER PRO
37
 
38
  The [Pro version](http://www.cozmoslabs.com/wordpress-profile-builder/) has the following extra features:
39
 
40
- * Create Extra User Fields
41
  * Add avatar upload for users
 
 
42
  * Select one of the 2 additional CSS styles: black or white
43
  * Access to support forums and documentation
44
  * 1 Year of Updates / Priority Support
45
 
46
- [Click here to find out more](http://www.cozmoslabs.com/wordpress-profile-builder/).
47
 
 
48
 
49
  NOTE:
50
 
51
- This plugin only adds/removes fields in the front-end. The default information-fields will still be visible(and thus modifiable) from the back-end, while custom fields will only be visible in the front-end.
52
 
53
 
54
 
@@ -56,7 +62,7 @@ This plugin only adds/removes fields in the front-end. The default information-f
56
 
57
  1. Upload the profile-builder folder to the '/wp-content/plugins/' directory
58
  1. Activate the plugin through the 'Plugins' menu in WordPress
59
- 1. Create a new page and use one of the shortcodes available
60
 
61
  == Frequently Asked Questions ==
62
 
@@ -82,10 +88,13 @@ This plugin only adds/removes fields in the front-end. The default information-f
82
  6. Register Page: screenshot6.jpg
83
  7. Logged in Page: screenshot7.jpg
84
 
 
 
 
85
 
 
 
86
 
87
-
88
- == Changelog ==
89
  = 1.1.9 =
90
  Minor changes to readme file.
91
 
@@ -161,3 +170,4 @@ Changes to the ReadMe File
161
 
162
  = 1.0 =
163
  Added the posibility of displaying/hiding default WordPress information-fields, and to modify basic layout.
 
2
 
3
  Contributors: reflectionmedia, barinagabriel
4
  Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
5
+ Tags: registration, profile, user registration, custom field registration, customize profile, user fields, builder, profile builder, custom profile, user profile, custom user profile, user profile page,
6
+ custom registration, custom registration form, custom registration page, extra user fields, registration page, user custom fields, user listing, user login, user registration form, front-end login,
7
+ front-end register, front-end registration, frontend edit profile, edit profile
8
  Requires at least: 3.1
9
  Tested up to: 3.2
10
+ Stable tag: 1.1.11
 
 
 
11
 
12
+ Simple to use profile plugin allowing front-end login, registration and edit profile by using shortcodes.
13
 
14
  == Description ==
15
 
16
+ Profile Builder is WordPress registration done right.
17
+
18
+ It lets you customize your website by adding a front-end menu for all your users,
19
+ giving them a more flexible way to modify their user-information or register new users (front-end registration).
20
+ Also, grants users with administrator rights to customize basic user fields or add custom ones.
21
+
22
+ To achieve this, just create a new page and give it an intuitive name(i.e. Edit Profile).
23
  Now all you need to do is add the following shortcode(for the previous example): [wppb-edit-profile].
24
+ Publish the page and you are done!
25
 
26
  You can use the following shortcodes:
27
 
28
+ * **[wppb-edit-profile]** - to grant users front-end access to their personal information (requires user to be logged in).
29
+ * **[wppb-login]** - to add a front-end log-in form.
30
+ * **[wppb-register]** - to add a front-end registration form.
31
+ * **[wppb-recover-password]** - to add a password recovery form.
32
 
33
  Users with administrator rights have access to the following features:
34
 
35
  * add a custom stylesheet/inherit values from the current theme or use one of the following built into this plugin: default, white or black.
36
  * select whether to display or not the admin bar in the front end for a specific user-group registered to the site.
37
+ * select which information-field can users see/modify. The hidden fields values remain unmodified.
38
 
39
+ **PROFILE BUILDER PRO**
40
 
41
  The [Pro version](http://www.cozmoslabs.com/wordpress-profile-builder/) has the following extra features:
42
 
43
+ * Create Extra User Fields (Heading, Input, Checkbox, Agree to Terms Checkbox, Radio Buttons, DatePicker, Textareas, Upload fields, Selects, Country Selects, Timezone selects, Avatar Upload)
44
  * Add avatar upload for users
45
+ * Front-end User Listing (sorting included)
46
+ * Custom Redirects
47
  * Select one of the 2 additional CSS styles: black or white
48
  * Access to support forums and documentation
49
  * 1 Year of Updates / Priority Support
50
 
51
+ [Click here to find out more](http://www.cozmoslabs.com/wordpress-profile-builder/) or watch the video below:
52
 
53
+ [youtube http://www.youtube.com/watch?v=Uv8piGapOoA]
54
 
55
  NOTE:
56
 
57
+ This plugin only adds/removes fields in the front-end. The default information-fields will still be visible (and thus modifiable) from the back-end, while custom fields will only be visible in the front-end.
58
 
59
 
60
 
62
 
63
  1. Upload the profile-builder folder to the '/wp-content/plugins/' directory
64
  1. Activate the plugin through the 'Plugins' menu in WordPress
65
+ 1. Create a new page and use one of the shortcodes available. Publish the page and you're done!
66
 
67
  == Frequently Asked Questions ==
68
 
88
  6. Register Page: screenshot6.jpg
89
  7. Logged in Page: screenshot7.jpg
90
 
91
+ == Changelog ==
92
+ = 1.1.11 =
93
+ Minor changes to readme file.
94
 
95
+ = 1.1.10 =
96
+ Minor changes to readme file.
97
 
 
 
98
  = 1.1.9 =
99
  Minor changes to readme file.
100
 
170
 
171
  = 1.0 =
172
  Added the posibility of displaying/hiding default WordPress information-fields, and to modify basic layout.
173
+