WP User Frontend – Membership, Profile, Registration & Post Submission Plugin for WordPress - Version 3.1.2

Version Description

Download this release

Release Info

Developer rabbii
Plugin Icon 128x128 WP User Frontend – Membership, Profile, Registration & Post Submission Plugin for WordPress
Version 3.1.2
Comparing to
See all releases

Code changes from version 3.1.1 to 3.1.2

admin/form-builder/class-wpuf-admin-form-builder.php CHANGED
@@ -110,7 +110,7 @@ class WPUF_Admin_Form_Builder {
110
  wp_enqueue_script( 'wpuf-tooltip', WPUF_ASSET_URI . '/vendor/tooltip/tooltip' . $prefix . '.js', array(), WPUF_VERSION, true );
111
 
112
  $form_builder_js_deps = apply_filters( 'wpuf-form-builder-js-deps', array(
113
- 'jquery', 'jquery-ui-sortable', 'jquery-ui-draggable', 'underscore',
114
  'wpuf-vue', 'wpuf-vuex', 'wpuf-sweetalert2', 'wpuf-jquery-scrollTo',
115
  'wpuf-selectize', 'wpuf-toastr', 'wpuf-clipboard', 'wpuf-tooltip'
116
  ) );
110
  wp_enqueue_script( 'wpuf-tooltip', WPUF_ASSET_URI . '/vendor/tooltip/tooltip' . $prefix . '.js', array(), WPUF_VERSION, true );
111
 
112
  $form_builder_js_deps = apply_filters( 'wpuf-form-builder-js-deps', array(
113
+ 'jquery', 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-resizable', 'underscore',
114
  'wpuf-vue', 'wpuf-vuex', 'wpuf-sweetalert2', 'wpuf-jquery-scrollTo',
115
  'wpuf-selectize', 'wpuf-toastr', 'wpuf-clipboard', 'wpuf-tooltip'
116
  ) );
admin/html/whats-new.php CHANGED
@@ -1,5 +1,46 @@
1
  <?php
2
  $changelog = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  array(
4
  'version' => 'Version 3.1.0',
5
  'released' => '2019-01-31',
1
  <?php
2
  $changelog = array(
3
+ array(
4
+ 'version' => 'Version 3.1.2',
5
+ 'released' => '2019-04-01',
6
+ 'changes' => array(
7
+ array(
8
+ 'title' => __( 'Added column field', 'wp-user-frontend' ),
9
+ 'type' => 'New',
10
+ 'description' => 'Now, creating multi-column in a single row is super easy with WPUF Column field. Just drag the column field in the builder area, configure columns number, column space and any fields you want inside that Column field.' .'<img src="'. WPUF_ASSET_URI .'/images/whats-new/column-field.png" alt="Multi-select Category">',
11
+ ),
12
+ array(
13
+ 'title' => __( 'Unable to render the events on the front-end dashboard', 'wp-user-frontend' ),
14
+ 'type' => 'Fix',
15
+ 'description' => __( 'On the frontend dashboard, the submitted events were not showing, you will get it fixed in this version.', 'wp-user-frontend' )
16
+ ),
17
+ array(
18
+ 'title' => __( 'Page order getting 0(zero) after editing from the frontend', 'wp-user-frontend' ),
19
+ 'type' => 'Fix',
20
+ 'description' => __( 'Page order was not saving while editing a post using WPUF form, it has been fixed.', 'wp-user-frontend' )
21
+ ),
22
+ array(
23
+ 'title' => __( 'Text input field for taxonomies not working', 'wp-user-frontend' ),
24
+ 'type' => 'Fix',
25
+ 'description' => __( "When taxonomy field type is set to `Text Input` then a fatal error was showing on the frontend, no error with taxonomy field in the latest version.", 'wp-user-frontend' )
26
+ ),
27
+ array(
28
+ 'title' => __( 'In radio and checkbox field use conditional logic that value does not save in database', 'wp-user-frontend' ),
29
+ 'type' => 'Fix',
30
+ 'description' => __( "The selected value of radio and checkbox field were not showing while editing posts from the backend or frontend, you can see the selected value in this version.", 'wp-user-frontend' )
31
+ ),
32
+ array(
33
+ 'title' => __( 'The args param not working with get_avatar filter', 'wp-user-frontend' ),
34
+ 'type' => 'Fix',
35
+ 'description' => __( "The args parameter did not exist with get_avatar filter, which now exists.", 'wp-user-frontend' )
36
+ ),
37
+ array(
38
+ 'title' => __( 'The item in ajax taxonomy field was not selected', 'wp-user-frontend' ),
39
+ 'type' => 'Fix',
40
+ 'description' => __( "When the taxonomy field type is set to Ajax, the submitted terms were not showing in the backend and frontend which have been fixed.", 'wp-user-frontend' )
41
+ ),
42
+ )
43
+ ),
44
  array(
45
  'version' => 'Version 3.1.0',
46
  'released' => '2019-01-31',
admin/posting.php CHANGED
@@ -315,7 +315,7 @@ class WPUF_Admin_Posting {
315
 
316
  <table class="form-table wpuf-cf-table">
317
  <tbody>
318
-
319
  <script type="text/javascript">
320
  if ( typeof wpuf_conditional_items === 'undefined' ) {
321
  wpuf_conditional_items = [];
@@ -519,6 +519,40 @@ class WPUF_Admin_Posting {
519
  $post_vars = $meta_vars = $taxonomy_vars = array();
520
 
521
  foreach ($form_vars as $key => $value) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
 
523
  // ignore section break and HTML input type
524
  if ( in_array( $value['input_type'], $ignore_lists ) ) {
315
 
316
  <table class="form-table wpuf-cf-table">
317
  <tbody>
318
+
319
  <script type="text/javascript">
320
  if ( typeof wpuf_conditional_items === 'undefined' ) {
321
  wpuf_conditional_items = [];
519
  $post_vars = $meta_vars = $taxonomy_vars = array();
520
 
521
  foreach ($form_vars as $key => $value) {
522
+ // get column field input fields
523
+ if ( $value['input_type'] == 'column_field' ) {
524
+ $inner_fields = $value['inner_fields'];
525
+
526
+ foreach ($inner_fields as $column_key => $column_fields) {
527
+ if (!empty($column_fields)) {
528
+ // ignore section break and HTML input type
529
+ foreach ($column_fields as $column_field_key => $column_field) {
530
+ if ( in_array( $column_field['input_type'], $ignore_lists ) ) {
531
+ continue;
532
+ }
533
+
534
+ //separate the post and custom fields
535
+ if ( isset( $column_field['is_meta'] ) && $column_field['is_meta'] == 'yes' ) {
536
+ $meta_vars[] = $column_field;
537
+ continue;
538
+ }
539
+
540
+ if ( $column_field['input_type'] == 'taxonomy' ) {
541
+
542
+ // don't add "category"
543
+ if ( $column_field['name'] == 'category' ) {
544
+ continue;
545
+ }
546
+
547
+ $taxonomy_vars[] = $column_field;
548
+ } else {
549
+ $post_vars[] = $column_field;
550
+ }
551
+ }
552
+ }
553
+ }
554
+ continue;
555
+ }
556
 
557
  // ignore section break and HTML input type
558
  if ( in_array( $value['input_type'], $ignore_lists ) ) {
assets/css/admin.css CHANGED
@@ -511,6 +511,129 @@ div#form-preview ul.wpuf-form li.wpuf_hidden_field {
511
  display: block;
512
  opacity: 0.3;
513
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
514
  .wpuf-help-tabbed {
515
  display: flex;
516
  width: 100%;
511
  display: block;
512
  opacity: 0.3;
513
  }
514
+ ul.wpuf-form .wpuf-field-columns {
515
+ padding: 0;
516
+ border: 0;
517
+ overflow: hidden;
518
+ }
519
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .wpuf-column-inner-fields {
520
+ width: 100%;
521
+ float: left;
522
+ }
523
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .wpuf-column-inner-fields:nth-child(1) {
524
+ padding-right: 0!important;
525
+ }
526
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .column-1 .ui-resizable-handle {
527
+ display: none !important;
528
+ }
529
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .column-2.wpuf-column-inner-fields,
530
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .column-3.wpuf-column-inner-fields {
531
+ display: none;
532
+ }
533
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .wpuf-column-inner-fields {
534
+ width: 50%;
535
+ float: left;
536
+ }
537
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .wpuf-column-inner-fields:nth-child(2) {
538
+ padding-right: 0!important;
539
+ }
540
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .column-2 .ui-resizable-handle {
541
+ display: none !important;
542
+ }
543
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .column-3.wpuf-column-inner-fields {
544
+ display: none;
545
+ }
546
+ ul.wpuf-form .wpuf-field-columns.has-columns-3 .wpuf-column .wpuf-column-inner-fields {
547
+ width: 33.33%;
548
+ float: left;
549
+ }
550
+ ul.wpuf-form .wpuf-field-columns.has-columns-3 .wpuf-column .wpuf-column-inner-fields:nth-child(3) {
551
+ padding-right: 0!important;
552
+ }
553
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns {
554
+ margin-left: 0;
555
+ margin-right: 0;
556
+ }
557
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column {
558
+ padding: 0;
559
+ border: 0;
560
+ float: none;
561
+ width: 100%;
562
+ display: flex;
563
+ }
564
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields {
565
+ padding: 0 5px 0 0;
566
+ position: relative;
567
+ }
568
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list {
569
+ border: 1px dashed #ffb900;
570
+ background: rgba(255, 185, 0, 0.08);
571
+ margin: 0;
572
+ padding: 0 0 50px 0;
573
+ }
574
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items {
575
+ background: #fff;
576
+ -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
577
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
578
+ }
579
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items.current-editing {
580
+ background-color: rgba(255, 185, 0, 0.15);
581
+ }
582
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items:last-child {
583
+ margin-bottom: 0;
584
+ }
585
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items:hover .wpuf-column-field-control-buttons {
586
+ display: block;
587
+ }
588
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items .wpuf-column-field-control-buttons {
589
+ position: absolute;
590
+ top: 0;
591
+ left: 0;
592
+ z-index: 10;
593
+ display: none;
594
+ width: 100%;
595
+ height: 100%;
596
+ margin: 0;
597
+ text-align: center;
598
+ background: rgba(255, 185, 0, 0.08);
599
+ border: 1px dashed #ffb900;
600
+ }
601
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items .wpuf-column-field-control-buttons p {
602
+ position: absolute;
603
+ top: 50%;
604
+ left: 50%;
605
+ margin: -10px 0 0 -43px;
606
+ line-height: 1;
607
+ color: #eee;
608
+ background-color: #23282d;
609
+ }
610
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items .wpuf-column-field-control-buttons i {
611
+ cursor: pointer;
612
+ padding: 5px;
613
+ font-size: 10px;
614
+ }
615
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items .wpuf-column-field-control-buttons i:hover {
616
+ background-color: #0073aa;
617
+ }
618
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields-sortable-list li.column-field-items .wpuf-column-field-control-buttons i.move {
619
+ cursor: move;
620
+ }
621
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields .drop-message {
622
+ text-align: center;
623
+ border: 1px dashed #ffb900;
624
+ border-top: 0;
625
+ background: rgba(255, 185, 0, 0.08);
626
+ margin: 0;
627
+ padding: 15px 0;
628
+ }
629
+ #form-preview-stage .field-items .wpuf-field-columns + div.control-buttons {
630
+ top: 10px;
631
+ z-index: 10;
632
+ height: auto;
633
+ margin: 0;
634
+ background: transparent;
635
+ border: 0;
636
+ }
637
  .wpuf-help-tabbed {
638
  display: flex;
639
  width: 100%;
assets/css/frontend-forms.css CHANGED
@@ -1480,3 +1480,75 @@ ul.wpuf-form .weforms-frontend-field-points {
1480
  .wpuf-col-one-third-last + li {
1481
  clear: left;
1482
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1480
  .wpuf-col-one-third-last + li {
1481
  clear: left;
1482
  }
1483
+ ul.wpuf-form .wpuf-field-columns {
1484
+ padding: 0;
1485
+ border: 0;
1486
+ overflow: hidden;
1487
+ }
1488
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .wpuf-column-inner-fields {
1489
+ width: 100%;
1490
+ float: left;
1491
+ }
1492
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .column-1 .ui-resizable-handle {
1493
+ display: none !important;
1494
+ }
1495
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .column-2.wpuf-column-inner-fields,
1496
+ ul.wpuf-form .wpuf-field-columns.has-columns-1 .wpuf-column .column-3.wpuf-column-inner-fields {
1497
+ display: none;
1498
+ }
1499
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .wpuf-column-inner-fields {
1500
+ width: 50%;
1501
+ float: left;
1502
+ }
1503
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .column-2 .ui-resizable-handle {
1504
+ display: none !important;
1505
+ }
1506
+ ul.wpuf-form .wpuf-field-columns.has-columns-2 .wpuf-column .column-3.wpuf-column-inner-fields {
1507
+ display: none;
1508
+ }
1509
+ ul.wpuf-form .wpuf-field-columns.has-columns-3 .wpuf-column .wpuf-column-inner-fields {
1510
+ width: 33.33%;
1511
+ float: left;
1512
+ }
1513
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns {
1514
+ margin-left: 0;
1515
+ margin-right: 0;
1516
+ }
1517
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column {
1518
+ padding: 0;
1519
+ border: 0;
1520
+ float: none;
1521
+ width: 100%;
1522
+ overflow: hidden;
1523
+ }
1524
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields {
1525
+ padding: 0 5px 0 0;
1526
+ position: relative;
1527
+ }
1528
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields {
1529
+ border: 0;
1530
+ margin: 0;
1531
+ padding: 0;
1532
+ list-style: none;
1533
+ }
1534
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li {
1535
+ padding: 0;
1536
+ }
1537
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="text"],
1538
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="email"],
1539
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="url"],
1540
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="password"],
1541
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="search"],
1542
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="number"],
1543
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="tel"],
1544
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="range"],
1545
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="date"],
1546
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="month"],
1547
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="week"],
1548
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="time"],
1549
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="datetime"],
1550
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="datetime-local"],
1551
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li input[type="color"],
1552
+ ul.wpuf-form .wpuf-field-columns .wpuf-column-field-inner-columns .wpuf-column .wpuf-column-inner-fields ul.wpuf-column-fields li textarea {
1553
+ width: 100%;
1554
+ }
assets/css/wpuf-form-builder.css CHANGED
@@ -604,6 +604,7 @@
604
  margin-left: 6px;
605
  }
606
  .wpuf-form-builder-field-options .panel-field-opt.panel-field-opt-text input[type="text"],
 
607
  .wpuf-form-builder-field-options .panel-field-opt.panel-field-opt-text input[type="number"] {
608
  display: block;
609
  width: 100%;
@@ -785,7 +786,8 @@ ul.wpuf-form li .wpuf-password-field:after {
785
  display: table;
786
  }
787
  .wpuf-recaptcha-placeholder {
788
- width: 304px;
 
789
  }
790
  .wpuf-merge-tag-wrap .merge-tag-link {
791
  position: absolute;
604
  margin-left: 6px;
605
  }
606
  .wpuf-form-builder-field-options .panel-field-opt.panel-field-opt-text input[type="text"],
607
+ .wpuf-form-builder-field-options .panel-field-opt.panel-field-opt-text input[type="range"],
608
  .wpuf-form-builder-field-options .panel-field-opt.panel-field-opt-text input[type="number"] {
609
  display: block;
610
  width: 100%;
786
  display: table;
787
  }
788
  .wpuf-recaptcha-placeholder {
789
+ width: 100%;
790
+ max-width: 304px;
791
  }
792
  .wpuf-merge-tag-wrap .merge-tag-link {
793
  position: absolute;
assets/images/whats-new/column-field.png ADDED
Binary file
assets/js-templates/form-components.php CHANGED
@@ -259,6 +259,21 @@
259
  </div>
260
  </script>
261
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
262
  <script type="text/x-template" id="tmpl-wpuf-field-select">
263
  <div class="panel-field-opt panel-field-opt-select">
264
  <label v-if="option_field.title">
@@ -400,6 +415,55 @@
400
  </div>
401
  </script>
402
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403
  <script type="text/x-template" id="tmpl-wpuf-form-custom_hidden_field">
404
  <div class="wpuf-fields">
405
  <input
@@ -650,6 +714,7 @@
650
  <div v-if="'invisible_recaptcha' != field.recaptcha_type">
651
  <img class="wpuf-recaptcha-placeholder" src="<?php echo WPUF_ASSET_URI . '/images/recaptcha-placeholder.png' ?>" alt="">
652
  </div>
 
653
  </template>
654
  </div>
655
  </script>
259
  </div>
260
  </script>
261
 
262
+ <script type="text/x-template" id="tmpl-wpuf-field-range">
263
+ <div v-if="met_dependencies" class="panel-field-opt panel-field-opt-text">
264
+ <label>
265
+ {{ option_field.title }} <help-text v-if="option_field.help_text" :text="option_field.help_text"></help-text>
266
+ {{ option_field.min_column }}
267
+ <input
268
+ type="range"
269
+ v-model="value"
270
+ v-bind:min="minColumn"
271
+ v-bind:max="maxColumn"
272
+ >
273
+ </label>
274
+ </div>
275
+ </script>
276
+
277
  <script type="text/x-template" id="tmpl-wpuf-field-select">
278
  <div class="panel-field-opt panel-field-opt-select">
279
  <label v-if="option_field.title">
415
  </div>
416
  </script>
417
 
418
+ <script type="text/x-template" id="tmpl-wpuf-form-column_field">
419
+ <div v-bind:class="['wpuf-field-columns', 'has-columns-'+field.columns]">
420
+ <div class="wpuf-column-field-inner-columns">
421
+ <div class="wpuf-column">
422
+ <!-- don't change column class names -->
423
+ <div v-for="column in columnClasses" :class="[column, 'items-of-column-'+field.columns, 'wpuf-column-inner-fields']" :style="{ width: field.inner_columns_size[column], paddingRight: field.column_space+'px'}">
424
+ <ul class="wpuf-column-fields-sortable-list">
425
+ <li
426
+ v-for="(field, index) in column_fields[column]"
427
+ :key="field.id"
428
+ :class="[
429
+ 'column-field-items', 'wpuf-el', field.name, field.css, 'form-field-' + field.template,
430
+ field.width ? 'field-size-' + field.width : '',
431
+ parseInt(editing_form_id) === parseInt(field.id) ? 'current-editing' : ''
432
+ ]"
433
+ :column-field-index="index"
434
+ :in-column="column"
435
+ data-source="column-field-stage"
436
+ >
437
+ <div v-if="!is_full_width(field.template)" class="wpuf-label wpuf-column-field-label">
438
+ <label v-if="!is_invisible(field)" :for="'wpuf-' + field.name ? field.name : 'cls'">
439
+ {{ field.label }} <span v-if="field.required && 'yes' === field.required" class="required">*</span>
440
+ </label>
441
+ </div>
442
+
443
+ <component v-if="is_template_available(field)" :is="'form-' + field.template" :field="field"></component>
444
+
445
+ <div v-if="is_pro_feature(field.template)" class="stage-pro-alert">
446
+ <label class="wpuf-pro-text-alert">
447
+ <a :href="pro_link" target="_blank"><strong>{{ get_field_name(field.template) }}</strong> <?php _e( 'is available in Pro Version', 'wp-user-frontend' ); ?></a>
448
+ </label>
449
+ </div>
450
+
451
+ <div class="wpuf-column-field-control-buttons">
452
+ <p>
453
+ <i class="fa fa-arrows move"></i>
454
+ <i class="fa fa-pencil" @click="open_column_field_settings(field, index, column)"></i>
455
+ <i class="fa fa-clone" @click="clone_column_field(field, index, column)"></i>
456
+ <i class="fa fa-trash-o" @click="delete_column_field(index, column)"></i>
457
+ </p>
458
+ </div>
459
+ </li>
460
+
461
+ </ul>
462
+ </div>
463
+ </div>
464
+ </div>
465
+ </div></script>
466
+
467
  <script type="text/x-template" id="tmpl-wpuf-form-custom_hidden_field">
468
  <div class="wpuf-fields">
469
  <input
714
  <div v-if="'invisible_recaptcha' != field.recaptcha_type">
715
  <img class="wpuf-recaptcha-placeholder" src="<?php echo WPUF_ASSET_URI . '/images/recaptcha-placeholder.png' ?>" alt="">
716
  </div>
717
+ <div v-else><p><?php _e( 'Invisible reCaptcha', 'wp-user-frontend' ); ?></p></div>
718
  </template>
719
  </div>
720
  </script>
assets/js/wpuf-form-builder-components.js CHANGED
@@ -31,7 +31,8 @@ Vue.component('builder-stage', {
31
  },
32
 
33
  mounted: function () {
34
- var self = this;
 
35
 
36
  // bind jquery ui sortable
37
  $('#form-preview-stage .wpuf-form.sortable-list').sortable({
@@ -39,6 +40,19 @@ Vue.component('builder-stage', {
39
  items: '.field-items',
40
  handle: '.control-buttons .move',
41
  scroll: true,
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  update: function (e, ui) {
43
  var item = ui.item[0],
44
  data = item.dataset,
@@ -53,6 +67,17 @@ Vue.component('builder-stage', {
53
  var field_template = ui.item[0].dataset.formField,
54
  field = $.extend(true, {}, self.field_settings[field_template].field_props);
55
 
 
 
 
 
 
 
 
 
 
 
 
56
  // add a random integer id
57
  field.id = self.get_random_id();
58
 
@@ -64,7 +89,9 @@ Vue.component('builder-stage', {
64
  payload.field = field;
65
 
66
  // add new form element
67
- self.$store.commit('add_form_field_element', payload);
 
 
68
 
69
  // remove button from stage
70
  $(this).find('.button.ui-draggable.ui-draggable-handle').remove();
@@ -428,10 +455,34 @@ Vue.component('field-options', {
428
  },
429
 
430
  editing_form_field: function () {
431
- var self = this;
432
- return _.find(this.$store.state.form_fields, function (item) {
433
- return parseInt(item.id) === parseInt(self.editing_field_id);
434
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
435
  },
436
 
437
  settings: function() {
@@ -513,6 +564,37 @@ Vue.component('field-radio', {
513
  }
514
  });
515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
  Vue.component('field-select', {
517
  template: '#tmpl-wpuf-field-select',
518
 
@@ -695,6 +777,384 @@ Vue.component('form-checkbox_field', {
695
  ]
696
  });
697
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
698
  /**
699
  * Field template: Hidden
700
  */
@@ -781,7 +1241,7 @@ Vue.component('form-fields', {
781
  mounted: function () {
782
  // bind jquery ui draggable
783
  $(this.$el).find('.panel-form-field-buttons .button').draggable({
784
- connectToSortable: '#form-preview-stage .wpuf-form',
785
  helper: 'clone',
786
  revert: 'invalid',
787
  cancel: '.button-faded',
31
  },
32
 
33
  mounted: function () {
34
+ var self = this,
35
+ in_column_field = false;
36
 
37
  // bind jquery ui sortable
38
  $('#form-preview-stage .wpuf-form.sortable-list').sortable({
40
  items: '.field-items',
41
  handle: '.control-buttons .move',
42
  scroll: true,
43
+ over: function() {
44
+ in_column_field = false;
45
+
46
+ // if the field drop in column field, then stop field rendering in the builder stage
47
+ $(".wpuf-column-inner-fields" ).on( "drop", function(event) {
48
+ var targetColumn = event.currentTarget.classList,
49
+ isColumnExist = $.inArray(".wpuf-column-inner-fields", targetColumn);
50
+
51
+ if ( isColumnExist ) {
52
+ in_column_field = true;
53
+ }
54
+ } );
55
+ },
56
  update: function (e, ui) {
57
  var item = ui.item[0],
58
  data = item.dataset,
67
  var field_template = ui.item[0].dataset.formField,
68
  field = $.extend(true, {}, self.field_settings[field_template].field_props);
69
 
70
+ // check if these are already inserted
71
+ if ( self.isSingleInstance( field_template ) && self.containsField( field_template ) ) {
72
+ swal({
73
+ title: "Oops...",
74
+ text: "You already have this field in the form"
75
+ });
76
+
77
+ $(this).find('.button.ui-draggable.ui-draggable-handle').remove();
78
+ return;
79
+ }
80
+
81
  // add a random integer id
82
  field.id = self.get_random_id();
83
 
89
  payload.field = field;
90
 
91
  // add new form element
92
+ if ( !in_column_field ) {
93
+ self.$store.commit('add_form_field_element', payload);
94
+ }
95
 
96
  // remove button from stage
97
  $(this).find('.button.ui-draggable.ui-draggable-handle').remove();
455
  },
456
 
457
  editing_form_field: function () {
458
+ var self = this,
459
+ i = 0;
460
+
461
+ for (i = 0; i < self.$store.state.form_fields.length; i++) {
462
+ // check if the editing field exist in normal fields
463
+ if (self.$store.state.form_fields[i].id === parseInt(self.editing_field_id)) {
464
+ return self.$store.state.form_fields[i];
465
+ }
466
+
467
+ // check if the editing field belong to column field
468
+ if (self.$store.state.form_fields[i].template === 'column_field') {
469
+ var innerColumnFields = self.$store.state.form_fields[i].inner_fields;
470
+
471
+ for (const columnFields in innerColumnFields) {
472
+ if (innerColumnFields.hasOwnProperty(columnFields)) {
473
+ var columnFieldIndex = 0;
474
+
475
+ while (columnFieldIndex < innerColumnFields[columnFields].length) {
476
+ if (innerColumnFields[columnFields][columnFieldIndex].id === self.editing_field_id) {
477
+ return innerColumnFields[columnFields][columnFieldIndex];
478
+ }
479
+ columnFieldIndex++;
480
+ }
481
+ }
482
+ }
483
+ }
484
+
485
+ }
486
  },
487
 
488
  settings: function() {
564
  }
565
  });
566
 
567
+ Vue.component('field-range', {
568
+ template: '#tmpl-wpuf-field-range',
569
+
570
+ mixins: [
571
+ wpuf_mixins.option_field_mixin
572
+ ],
573
+
574
+ computed: {
575
+ value: {
576
+ get: function () {
577
+ return this.editing_form_field[this.option_field.name];
578
+ },
579
+
580
+ set: function (value) {
581
+ this.update_value(this.option_field.name, value);
582
+ }
583
+ },
584
+
585
+ minColumn: function () {
586
+ return this.editing_form_field.min_column;
587
+ },
588
+
589
+ maxColumn: function () {
590
+ return this.editing_form_field.max_column;
591
+ }
592
+ },
593
+
594
+ methods: {
595
+ }
596
+ });
597
+
598
  Vue.component('field-select', {
599
  template: '#tmpl-wpuf-field-select',
600
 
777
  ]
778
  });
779
 
780
+ /**
781
+ * Field template: Column Field
782
+ */
783
+ Vue.component('form-column_field', {
784
+ template: '#tmpl-wpuf-form-column_field',
785
+
786
+ mixins: [
787
+ wpuf_mixins.form_field_mixin,
788
+ window.wpuf_forms_mixin_builder_stage
789
+ ],
790
+
791
+ data() {
792
+ return{
793
+ columnClasses: ['column-1', 'column-2', 'column-3'] // don't edit class names
794
+ };
795
+ },
796
+
797
+ mounted() {
798
+ this.resizeColumns(this.field.columns);
799
+
800
+ // bind jquery ui draggable
801
+ var self = this,
802
+ sortableFields = $(self.$el).find('.wpuf-column-inner-fields .wpuf-column-fields-sortable-list'),
803
+ sortableTriggered = 1,
804
+ columnFieldArea = $('.wpuf-field-columns'),
805
+ columnFields = $(self.$el).find(".wpuf-column-field-inner-columns .wpuf-column-inner-fields");
806
+
807
+ columnFieldArea.mouseenter(function() {
808
+ self.resizeColumns(self.field.columns);
809
+ });
810
+
811
+
812
+ columnFieldArea.mouseleave(function() {
813
+ columnFields.unbind( "mouseup" );
814
+ columnFields.unbind( "mousemove" );
815
+ });
816
+
817
+ // bind jquery ui sortable
818
+ $(sortableFields).sortable({
819
+ placeholder: 'form-preview-stage-dropzone',
820
+ connectWith: sortableFields,
821
+ items: '.column-field-items',
822
+ handle: '.wpuf-column-field-control-buttons .move',
823
+ scroll: true,
824
+ stop: function( event, ui ) {
825
+ var data_source = ui.item.context.attributes['data-source'].value;
826
+
827
+ if ('panel' === data_source) {
828
+ var payload = {
829
+ toIndex: parseInt($(ui.item).index()),
830
+ field_template: ui.item.context.attributes['data-form-field'].value,
831
+ to_column: $(this).context.parentElement.classList[0]
832
+ };
833
+
834
+ self.add_column_inner_field(payload);
835
+
836
+ // remove button from stage
837
+ $(this).find('.button.ui-draggable.ui-draggable-handle').remove();
838
+ }
839
+ },
840
+ update: function (e, ui) {
841
+ var item = ui.item[0],
842
+ data = item.dataset,
843
+ source = data.source,
844
+ toIndex = parseInt($(ui.item).index()),
845
+ payload = {
846
+ toIndex: toIndex
847
+ };
848
+
849
+ if ( 'column-field-stage' === source) {
850
+ payload.field_id = self.field.id;
851
+ payload.fromIndex = parseInt(ui.item.context.attributes['column-field-index'].value);
852
+ payload.fromColumn = ui.item.context.attributes['in-column'].value;
853
+ payload.toColumn = ui.item.context.parentElement.parentElement.classList[0];
854
+
855
+ // when drag field one column to another column, sortable event trigger twice and try to swap field twice.
856
+ // So the following conditions are needed to check and run swap_column_field_elements commit only once
857
+ if (payload.fromColumn !== payload.toColumn && sortableTriggered === 1) {
858
+ sortableTriggered = 0;
859
+ }else{
860
+ sortableTriggered++;
861
+ }
862
+
863
+ if (payload.fromColumn === payload.toColumn) {
864
+ sortableTriggered = 1;
865
+ }
866
+
867
+ if (sortableTriggered === 1) {
868
+ self.$store.commit('swap_column_field_elements', payload);
869
+ }
870
+ }
871
+ }
872
+ });
873
+ },
874
+
875
+ computed: {
876
+ column_fields: function () {
877
+ return this.field.inner_fields;
878
+ },
879
+
880
+ innerColumns() {
881
+ return this.field.columns;
882
+ },
883
+
884
+ editing_form_id: function () {
885
+ return this.$store.state.editing_field_id;
886
+ },
887
+
888
+ field_settings: function () {
889
+ return this.$store.state.field_settings;
890
+ },
891
+ },
892
+
893
+ methods: {
894
+ is_template_available: function (field) {
895
+ var template = field.template;
896
+
897
+ if (this.field_settings[template]) {
898
+ if (this.is_pro_feature(template)) {
899
+ return false;
900
+ }
901
+
902
+ return true;
903
+ }
904
+
905
+ // for example see 'mixin_builder_stage' mixin's 'is_taxonomy_template_available' method
906
+ if (_.isFunction(this['is_' + template + '_template_available'])) {
907
+ return this['is_' + template + '_template_available'].call(this, field);
908
+ }
909
+
910
+ return false;
911
+ },
912
+
913
+ is_pro_feature: function (template) {
914
+ return (this.field_settings[template] && this.field_settings[template].pro_feature) ? true : false;
915
+ },
916
+
917
+ get_field_name: function (template) {
918
+ return this.field_settings[template].title;
919
+ },
920
+
921
+ is_full_width: function (template) {
922
+ if (this.field_settings[template] && this.field_settings[template].is_full_width) {
923
+ return true;
924
+ }
925
+
926
+ return false;
927
+ },
928
+
929
+ is_invisible: function (field) {
930
+ return ( field.recaptcha_type && 'invisible_recaptcha' === field.recaptcha_type ) ? true : false;
931
+ },
932
+
933
+ isAllowedInClolumnField: function(field_template) {
934
+ var restrictedFields = ['column_field', 'custom_hidden_field', 'step_start'];
935
+
936
+ if ( $.inArray(field_template, restrictedFields) >= 0 ) {
937
+ return true;
938
+ }
939
+
940
+ return false;
941
+ },
942
+
943
+ add_column_inner_field(data) {
944
+ var payload = {
945
+ toWhichColumnField: this.field.id,
946
+ toWhichColumnFieldMeta: this.field.name,
947
+ toIndex: data.toIndex,
948
+ toWhichColumn: data.to_column
949
+ };
950
+
951
+ if (this.isAllowedInClolumnField(data.field_template)) {
952
+ swal({
953
+ title: "Oops...",
954
+ text: "You cannot add this field as inner column field"
955
+ });
956
+ return;
957
+ }
958
+
959
+ // check if these are already inserted
960
+ if ( this.isSingleInstance( data.field_template ) && this.containsField( data.field_template ) ) {
961
+ swal({
962
+ title: "Oops...",
963
+ text: "You already have this field in the form"
964
+ });
965
+ return;
966
+ }
967
+
968
+ var field = $.extend(true, {}, this.$store.state.field_settings[data.field_template].field_props),
969
+ form_fields = this.$store.state.form_fields;
970
+
971
+ field.id = this.get_random_id();
972
+
973
+ if ('yes' === field.is_meta && !field.name && field.label) {
974
+ field.name = field.label.replace(/\W/g, '_').toLowerCase();
975
+
976
+ var same_template_fields = form_fields.filter(function (form_field) {
977
+ return (form_field.template === field.template);
978
+ });
979
+
980
+ if (same_template_fields) {
981
+ field.name += '_' + this.get_random_id();
982
+ }
983
+ }
984
+
985
+ payload.field = field;
986
+
987
+ // add new form element
988
+ this.$store.commit('add_column_inner_field_element', payload);
989
+ },
990
+
991
+ moveFieldsTo(column) {
992
+ var payload = {
993
+ field_id: this.field.id,
994
+ move_to : column,
995
+ inner_fields: this.getInnerFields()
996
+ };
997
+
998
+ // clear inner fields & push mergedFields to column-1
999
+ this.$store.commit('move_column_inner_fields', payload);
1000
+ },
1001
+
1002
+ getInnerFields() {
1003
+ return this.field.inner_fields;
1004
+ },
1005
+
1006
+ open_column_field_settings: function(field, index, column) {
1007
+ var self = this,
1008
+ payload = {
1009
+ field_id: self.field.id,
1010
+ column_field: field,
1011
+ index: index,
1012
+ column: column,
1013
+ };
1014
+ self.$store.commit('open_column_field_settings', payload);
1015
+ },
1016
+
1017
+ clone_column_field: function(field, index, column) {
1018
+ var self = this,
1019
+ payload = {
1020
+ field_id: self.field.id,
1021
+ column_field_id: field.id,
1022
+ index: index,
1023
+ toColumn: column,
1024
+ new_id: self.get_random_id()
1025
+ };
1026
+
1027
+ // check if the field is allowed to duplicate
1028
+ if ( self.isSingleInstance( field.template ) ) {
1029
+ swal({
1030
+ title: "Oops...",
1031
+ text: "You already have this field in the form"
1032
+ });
1033
+ return;
1034
+ }
1035
+
1036
+ self.$store.commit('clone_column_field_element', payload);
1037
+ },
1038
+
1039
+ delete_column_field: function(index, fromColumn) {
1040
+ var self = this,
1041
+ payload = {
1042
+ field_id: self.field.id,
1043
+ index: index,
1044
+ fromColumn: fromColumn
1045
+ };
1046
+
1047
+ swal({
1048
+ text: self.i18n.delete_field_warn_msg,
1049
+ type: 'warning',
1050
+ showCancelButton: true,
1051
+ confirmButtonColor: '#d54e21',
1052
+ confirmButtonText: self.i18n.yes_delete_it,
1053
+ cancelButtonText: self.i18n.no_cancel_it,
1054
+ confirmButtonClass: 'btn btn-success',
1055
+ cancelButtonClass: 'btn btn-danger',
1056
+ }).then(function () {
1057
+ self.$store.commit('delete_column_field_element', payload);
1058
+ }, function() {
1059
+
1060
+ });
1061
+ },
1062
+
1063
+ resizeColumns(columnsNumber) {
1064
+ var self = this;
1065
+
1066
+ (function () {
1067
+ var columnElement;
1068
+ var startOffset;
1069
+ var columnField = $(self.$el).context.parentElement;
1070
+ var total_width = parseInt($(columnField).width());
1071
+
1072
+ Array.prototype.forEach.call(
1073
+ $(self.$el).find(".wpuf-column-field-inner-columns .wpuf-column-inner-fields"),
1074
+
1075
+ function (column) {
1076
+ column.style.position = 'relative';
1077
+
1078
+ var grip = document.createElement('div');
1079
+ grip.innerHTML = "&nbsp;";
1080
+ grip.style.top = 0;
1081
+ grip.style.right = 0;
1082
+ grip.style.bottom = 0;
1083
+ grip.style.width = '5px';
1084
+ grip.style.position = 'absolute';
1085
+ grip.style.cursor = 'col-resize';
1086
+ grip.addEventListener('mousedown', function (e) {
1087
+ columnElement = column;
1088
+ startOffset = column.offsetWidth - e.pageX;
1089
+ });
1090
+
1091
+ column.appendChild(grip);
1092
+ });
1093
+
1094
+ $(self.$el).find(".wpuf-column-field-inner-columns .wpuf-column-inner-fields").mousemove(function( e ) {
1095
+ if (columnElement) {
1096
+ var currentColumnWidth = startOffset + e.pageX;
1097
+
1098
+ columnElement.style.width = (100*currentColumnWidth) / total_width + '%';
1099
+ }
1100
+ });
1101
+
1102
+ $(self.$el).find(".wpuf-column-field-inner-columns .wpuf-column-inner-fields").mouseup(function() {
1103
+ var columnOneWidth = $(columnField).find(".column-1").width(),
1104
+ columnTwoWidth = $(columnField).find(".column-2").width(),
1105
+ colOneWidth = (100*columnOneWidth) / total_width,
1106
+ colTwoWidth = 100 - colOneWidth,
1107
+ colThreeWidth = 0;
1108
+
1109
+ if (columnsNumber === 3) {
1110
+ colTwoWidth = (100*columnTwoWidth) / total_width;
1111
+ colThreeWidth = 100 - (colOneWidth + colTwoWidth);
1112
+ }
1113
+
1114
+ self.field.inner_columns_size['column-1'] = colOneWidth + '%';
1115
+ self.field.inner_columns_size['column-2'] = colTwoWidth + '%';
1116
+ self.field.inner_columns_size['column-3'] = colThreeWidth + '%';
1117
+
1118
+ columnElement = undefined;
1119
+ });
1120
+ })();
1121
+ }
1122
+ },
1123
+
1124
+ watch: {
1125
+ innerColumns(new_value) {
1126
+ var columns = parseInt(new_value),
1127
+ columns_size = this.field.inner_columns_size;
1128
+
1129
+ Object.keys(columns_size).forEach(function (column) {
1130
+ if (columns === 1) {
1131
+ columns_size[column] = '100%';
1132
+ }
1133
+
1134
+ if (columns === 2) {
1135
+ columns_size[column] = '50%';
1136
+ }
1137
+
1138
+ if (columns === 3) {
1139
+ columns_size[column] = '33.33%';
1140
+ }
1141
+ });
1142
+
1143
+ // if columns number reduce to 1 then move other column fields to the first column
1144
+ if ( columns === 1 ) {
1145
+ this.moveFieldsTo( "column-1" );
1146
+ }
1147
+
1148
+ // if columns number reduce to 2 then move column-2 and column-3 fields to the column-2
1149
+ if ( columns === 2 ) {
1150
+ this.moveFieldsTo( "column-2" );
1151
+ }
1152
+
1153
+ this.resizeColumns(columns);
1154
+ }
1155
+ }
1156
+ });
1157
+
1158
  /**
1159
  * Field template: Hidden
1160
  */
1241
  mounted: function () {
1242
  // bind jquery ui draggable
1243
  $(this.$el).find('.panel-form-field-buttons .button').draggable({
1244
+ connectToSortable: '#form-preview-stage .wpuf-form, .wpuf-column-inner-fields .wpuf-column-fields-sortable-list',
1245
  helper: 'clone',
1246
  revert: 'invalid',
1247
  cancel: '.button-faded',
assets/js/wpuf-form-builder-mixins.js CHANGED
@@ -102,12 +102,33 @@ Vue.mixin({
102
  },
103
 
104
  containsField: function(field_name) {
105
- var i = 0;
 
106
 
107
- for (i = 0; i < this.$store.state.form_fields.length; i++) {
108
- if (this.$store.state.form_fields[i].name === field_name) {
 
109
  return true;
110
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  }
112
 
113
  return false;
102
  },
103
 
104
  containsField: function(field_name) {
105
+ var self = this,
106
+ i = 0;
107
 
108
+ for (i = 0; i < self.$store.state.form_fields.length; i++) {
109
+ // check if the single instance field exist in normal fields
110
+ if (self.$store.state.form_fields[i].template === field_name) {
111
  return true;
112
  }
113
+
114
+ // check if the single instance field exist in column fields
115
+ if (self.$store.state.form_fields[i].template === 'column_field') {
116
+ var innerColumnFields = self.$store.state.form_fields[i].inner_fields;
117
+
118
+ for (const columnFields in innerColumnFields) {
119
+ if (innerColumnFields.hasOwnProperty(columnFields)) {
120
+ var columnFieldIndex = 0;
121
+
122
+ while (columnFieldIndex < innerColumnFields[columnFields].length) {
123
+ if (innerColumnFields[columnFields][columnFieldIndex].template === field_name) {
124
+ return true;
125
+ }
126
+ columnFieldIndex++;
127
+ }
128
+ }
129
+ }
130
+ }
131
+
132
  }
133
 
134
  return false;
assets/js/wpuf-form-builder-wpuf-forms.js CHANGED
@@ -26,6 +26,26 @@
26
  is_valid = true;
27
  return;
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  });
30
 
31
  return is_valid;
@@ -99,7 +119,7 @@
99
  });
100
 
101
  buttons.draggable({
102
- connectToSortable: '#form-preview-stage .wpuf-form',
103
  helper: 'clone',
104
  revert: 'invalid',
105
  cancel: '.button-faded',
26
  is_valid = true;
27
  return;
28
  }
29
+
30
+ // check in column field
31
+ if (form_field.template === 'column_field' ) {
32
+ var innerColumnFields = form_field.inner_fields;
33
+
34
+ for (const columnFields in innerColumnFields) {
35
+ if (innerColumnFields.hasOwnProperty(columnFields)) {
36
+ var columnFieldIndex = 0;
37
+
38
+ //console.log(innerColumnFields[columnFields].length);
39
+ while (columnFieldIndex < innerColumnFields[columnFields].length) {
40
+ if (_.indexOf(['post_title', 'post_content', 'post_excerpt'], innerColumnFields[columnFields][columnFieldIndex].template) >= 0) {
41
+ is_valid = true;
42
+ return;
43
+ }
44
+ columnFieldIndex++;
45
+ }
46
+ }
47
+ }
48
+ }
49
  });
50
 
51
  return is_valid;
119
  });
120
 
121
  buttons.draggable({
122
+ connectToSortable: '#form-preview-stage .wpuf-form, .wpuf-column-inner-fields .wpuf-column-fields-sortable-list',
123
  helper: 'clone',
124
  revert: 'invalid',
125
  cancel: '.button-faded',
assets/js/wpuf-form-builder.js CHANGED
@@ -101,11 +101,32 @@
101
  },
102
 
103
  update_editing_form_field: function (state, payload) {
104
- var editing_field = _.find(state.form_fields, function (item) {
105
- return parseInt(item.id) === parseInt(payload.editing_field_id);
106
- });
 
 
 
 
 
 
 
 
 
 
 
 
107
 
108
- editing_field[payload.field_name] = payload.value;
 
 
 
 
 
 
 
 
 
109
  },
110
 
111
  // add new form field element
@@ -180,7 +201,128 @@
180
 
181
  updateNotification: function(state, payload) {
182
  state.notifications[payload.index] = payload.value;
183
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  }
185
  });
186
 
101
  },
102
 
103
  update_editing_form_field: function (state, payload) {
104
+ var i = 0;
105
+
106
+ for (i = 0; i < state.form_fields.length; i++) {
107
+ // check if the editing field exist in normal fields
108
+ if (state.form_fields[i].id === parseInt(payload.editing_field_id)) {
109
+ state.form_fields[i][payload.field_name] = payload.value;
110
+ }
111
+
112
+ // check if the editing field belong to a column field
113
+ if (state.form_fields[i].template === 'column_field') {
114
+ var innerColumnFields = state.form_fields[i].inner_fields;
115
+
116
+ for (const columnFields in innerColumnFields) {
117
+ if (innerColumnFields.hasOwnProperty(columnFields)) {
118
+ var columnFieldIndex = 0;
119
 
120
+ while (columnFieldIndex < innerColumnFields[columnFields].length) {
121
+ if (innerColumnFields[columnFields][columnFieldIndex].id === parseInt(payload.editing_field_id)) {
122
+ innerColumnFields[columnFields][columnFieldIndex][payload.field_name] = payload.value;
123
+ }
124
+ columnFieldIndex++;
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
130
  },
131
 
132
  // add new form field element
201
 
202
  updateNotification: function(state, payload) {
203
  state.notifications[payload.index] = payload.value;
204
+ },
205
+
206
+ // add new form field element to column field
207
+ add_column_inner_field_element: function (state, payload) {
208
+ var columnFieldIndex = state.form_fields.findIndex(field => field.id === payload.toWhichColumnField);
209
+
210
+ if (state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn] === undefined) {
211
+ state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn] = [];
212
+ }
213
+
214
+ if (state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn] !== undefined) {
215
+ var innerColumnFields = state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn];
216
+
217
+ if ( innerColumnFields.filter(innerField => innerField.name === payload.field.name).length <= 0 ) {
218
+ state.form_fields[columnFieldIndex].inner_fields[payload.toWhichColumn].splice(payload.toIndex, 0, payload.field);
219
+ }
220
+ }
221
+ },
222
+
223
+ move_column_inner_fields: function(state, payload) {
224
+ var columnFieldIndex = state.form_fields.findIndex(field => field.id === payload.field_id),
225
+ innerFields = payload.inner_fields,
226
+ mergedFields = [];
227
+
228
+ Object.keys(innerFields).forEach(function (column) {
229
+ // clear column-1, column-2 and column-3 fields if move_to specified column-1
230
+ // add column-1, column-2 and column-3 fields to mergedFields, later mergedFields will move to column-1 field
231
+ if (payload.move_to === "column-1") {
232
+ innerFields[column].forEach(function(field){
233
+ mergedFields.push(field);
234
+ });
235
+
236
+ // clear current column inner fields
237
+ state.form_fields[columnFieldIndex].inner_fields[column].splice(0, innerFields[column].length);
238
+ }
239
+
240
+ // clear column-2 and column-3 fields if move_to specified column-2
241
+ // add column-2 and column-3 fields to mergedFields, later mergedFields will move to column-2 field
242
+ if (payload.move_to === "column-2") {
243
+ if ( column === "column-2" || column === "column-3" ) {
244
+ innerFields[column].forEach(function(field){
245
+ mergedFields.push(field);
246
+ });
247
+
248
+ // clear current column inner fields
249
+ state.form_fields[columnFieldIndex].inner_fields[column].splice(0, innerFields[column].length);
250
+ }
251
+ }
252
+ });
253
+
254
+ // move inner fields to specified column
255
+ if (mergedFields.length !== 0) {
256
+ mergedFields.forEach(function(field){
257
+ state.form_fields[columnFieldIndex].inner_fields[payload.move_to].splice(0, 0, field);
258
+ });
259
+ }
260
+ },
261
+
262
+ // sorting inside column field
263
+ swap_column_field_elements: function (state, payload) {
264
+ var columnFieldIndex = state.form_fields.findIndex(field => field.id === payload.field_id),
265
+ fieldObj = state.form_fields[columnFieldIndex].inner_fields[payload.fromColumn][payload.fromIndex];
266
+
267
+ if( payload.fromColumn !== payload.toColumn) {
268
+ // add the field object to the target column
269
+ state.form_fields[columnFieldIndex].inner_fields[payload.toColumn].splice(payload.toIndex, 0, fieldObj);
270
+
271
+ // remove the field index from the source column
272
+ state.form_fields[columnFieldIndex].inner_fields[payload.fromColumn].splice(payload.fromIndex, 1);
273
+ }else{
274
+ state.form_fields[columnFieldIndex].inner_fields[payload.toColumn].swap(payload.fromIndex, payload.toIndex);
275
+ }
276
+ },
277
+
278
+ // open field settings panel
279
+ open_column_field_settings: function (state, payload) {
280
+ var field = payload.column_field;
281
+
282
+ if ('field-options' === state.current_panel && field.id === state.editing_field_id) {
283
+ return;
284
+ }
285
+
286
+ if (field) {
287
+ state.editing_field_id = 0;
288
+ state.current_panel = 'field-options';
289
+ state.editing_field_type = 'column_field';
290
+ state.editing_column_field_id = payload.field_id;
291
+ state.edting_field_column = payload.column;
292
+ state.editing_inner_field_index = payload.index;
293
+
294
+ setTimeout(function () {
295
+ state.editing_field_id = field.id;
296
+ }, 400);
297
+ }
298
+ },
299
+
300
+ clone_column_field_element: function (state, payload) {
301
+ var columnFieldIndex = state.form_fields.findIndex(field => field.id === payload.field_id);
302
+
303
+ var field = _.find(state.form_fields[columnFieldIndex].inner_fields[payload.toColumn], function (item) {
304
+ return parseInt(item.id) === parseInt(payload.column_field_id);
305
+ });
306
+
307
+ var clone = $.extend(true, {}, field),
308
+ index = parseInt(payload.index) + 1;
309
+
310
+ clone.id = payload.new_id;
311
+ clone.name = clone.name + '_copy';
312
+ clone.is_new = true;
313
+
314
+ state.form_fields[columnFieldIndex].inner_fields[payload.toColumn].splice(index, 0, clone);
315
+ },
316
+
317
+ // delete a column field
318
+ delete_column_field_element: function (state, payload) {
319
+ var columnFieldIndex = state.form_fields.findIndex(field => field.id === payload.field_id);
320
+
321
+ state.current_panel = 'form-fields';
322
+ state.form_fields[columnFieldIndex].inner_fields[payload.fromColumn].splice(payload.index, 1);
323
+ },
324
+
325
+
326
  }
327
  });
328
 
assets/less/admin.less CHANGED
@@ -653,7 +653,7 @@ ul.wpuf-form .wpuf-submit input[type=submit]{
653
  box-shadow: 0 1px 0 #006799;
654
  color: #fff;
655
  text-decoration: none;
656
- text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
657
  }
658
 
659
  div#form-preview ul.wpuf-form li.wpuf_hidden_field {
@@ -661,6 +661,172 @@ div#form-preview ul.wpuf-form li.wpuf_hidden_field {
661
  opacity: 0.3;
662
  }
663
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
664
  @import "help.less";
665
  @import "whats-new.less";
666
  @import "metabox-tabs.less";
653
  box-shadow: 0 1px 0 #006799;
654
  color: #fff;
655
  text-decoration: none;
656
+ text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
657
  }
658
 
659
  div#form-preview ul.wpuf-form li.wpuf_hidden_field {
661
  opacity: 0.3;
662
  }
663
 
664
+ ul.wpuf-form{
665
+ .wpuf-field-columns{
666
+ padding: 0;
667
+ border: 0;
668
+ overflow: hidden;
669
+
670
+ &.has-columns-1{
671
+ .wpuf-column{
672
+ .wpuf-column-inner-fields{
673
+ width: 100%;
674
+ float: left;
675
+
676
+ &:nth-child(1){
677
+ padding-right: 0!important;
678
+ }
679
+ }
680
+
681
+ .column-1{
682
+ .ui-resizable-handle{
683
+ display: none !important;
684
+ }
685
+ }
686
+
687
+ .column-2.wpuf-column-inner-fields,
688
+ .column-3.wpuf-column-inner-fields{
689
+ display: none;
690
+ }
691
+ }
692
+ }
693
+
694
+ &.has-columns-2{
695
+ .wpuf-column{
696
+ .wpuf-column-inner-fields{
697
+ width: 50%;
698
+ float: left;
699
+
700
+ &:nth-child(2){
701
+ padding-right: 0!important;
702
+ }
703
+ }
704
+
705
+ .column-2{
706
+ .ui-resizable-handle{
707
+ display: none !important;
708
+ }
709
+ }
710
+
711
+ .column-3.wpuf-column-inner-fields{
712
+ display: none;
713
+ }
714
+ }
715
+ }
716
+
717
+ &.has-columns-3{
718
+ .wpuf-column{
719
+ .wpuf-column-inner-fields{
720
+ width: 33.33%;
721
+ float: left;
722
+
723
+ &:nth-child(3){
724
+ padding-right: 0!important;
725
+ }
726
+ }
727
+ }
728
+ }
729
+
730
+ .wpuf-column-field-inner-columns{
731
+ margin-left: 0;
732
+ margin-right: 0;
733
+
734
+ .wpuf-column{
735
+ padding: 0;
736
+ border: 0;
737
+ float: none;
738
+ width: 100%;
739
+ display: flex;
740
+
741
+ .wpuf-column-inner-fields{
742
+ padding: 0 5px 0 0;
743
+ position: relative;
744
+
745
+ ul.wpuf-column-fields-sortable-list{
746
+ border: 1px dashed #ffb900;
747
+ background: rgba(255, 185, 0, 0.08);
748
+ margin: 0;
749
+ padding: 0 0 50px 0;
750
+
751
+ li.column-field-items{
752
+ background: #fff;
753
+ -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
754
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
755
+
756
+ &.current-editing{
757
+ background-color: rgba(255, 185, 0, 0.15);
758
+ }
759
+
760
+ &:last-child{
761
+ margin-bottom: 0;
762
+ }
763
+
764
+ &:hover .wpuf-column-field-control-buttons{
765
+ display: block;
766
+ }
767
+
768
+ .wpuf-column-field-control-buttons{
769
+ position: absolute;
770
+ top: 0;
771
+ left: 0;
772
+ z-index: 10;
773
+ display: none;
774
+ width: 100%;
775
+ height: 100%;
776
+ margin: 0;
777
+ text-align: center;
778
+ background: rgba(255, 185, 0, 0.08);
779
+ border: 1px dashed #ffb900;
780
+
781
+ p{
782
+ position: absolute;
783
+ top: 50%;
784
+ left: 50%;
785
+ margin: -10px 0 0 -43px;
786
+ line-height: 1;
787
+ color: #eee;
788
+ background-color: #23282d;
789
+ }
790
+
791
+ i{
792
+ cursor: pointer;
793
+ padding: 5px;
794
+ font-size: 10px;
795
+
796
+ &:hover{
797
+ background-color: #0073aa;
798
+ }
799
+
800
+ &.move{
801
+ cursor: move;
802
+ }
803
+ }
804
+ }
805
+ }
806
+ }
807
+ .drop-message{
808
+ text-align: center;
809
+ border: 1px dashed #ffb900;
810
+ border-top: 0;
811
+ background: rgba(255, 185, 0, 0.08);
812
+ margin: 0;
813
+ padding: 15px 0;
814
+ }
815
+ }
816
+ }
817
+ }
818
+ }
819
+ }
820
+
821
+ #form-preview-stage .field-items .wpuf-field-columns + div.control-buttons{
822
+ top: 10px;
823
+ z-index: 10;
824
+ height: auto;
825
+ margin: 0;
826
+ background: transparent;
827
+ border: 0;
828
+ }
829
+
830
  @import "help.less";
831
  @import "whats-new.less";
832
  @import "metabox-tabs.less";
assets/less/frontend-forms.less CHANGED
@@ -1726,4 +1726,107 @@ ul.wpuf-form .weforms-frontend-field-points{
1726
  .wpuf-col-half-last + li,
1727
  .wpuf-col-one-third-last + li {
1728
  clear: left;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1729
  }
1726
  .wpuf-col-half-last + li,
1727
  .wpuf-col-one-third-last + li {
1728
  clear: left;
1729
+ }
1730
+
1731
+ ul.wpuf-form{
1732
+ .wpuf-field-columns{
1733
+ padding: 0;
1734
+ border: 0;
1735
+ overflow: hidden;
1736
+
1737
+ &.has-columns-1{
1738
+ .wpuf-column{
1739
+ .wpuf-column-inner-fields{
1740
+ width: 100%;
1741
+ float: left;
1742
+ }
1743
+
1744
+ .column-1{
1745
+ .ui-resizable-handle{
1746
+ display: none !important;
1747
+ }
1748
+ }
1749
+
1750
+ .column-2.wpuf-column-inner-fields,
1751
+ .column-3.wpuf-column-inner-fields{
1752
+ display: none;
1753
+ }
1754
+ }
1755
+ }
1756
+
1757
+ &.has-columns-2{
1758
+ .wpuf-column{
1759
+ .wpuf-column-inner-fields{
1760
+ width: 50%;
1761
+ float: left;
1762
+ }
1763
+
1764
+ .column-2{
1765
+ .ui-resizable-handle{
1766
+ display: none !important;
1767
+ }
1768
+ }
1769
+
1770
+ .column-3.wpuf-column-inner-fields{
1771
+ display: none;
1772
+ }
1773
+ }
1774
+ }
1775
+
1776
+ &.has-columns-3{
1777
+ .wpuf-column{
1778
+ .wpuf-column-inner-fields{
1779
+ width: 33.33%;
1780
+ float: left;
1781
+ }
1782
+ }
1783
+ }
1784
+
1785
+ .wpuf-column-field-inner-columns{
1786
+ margin-left: 0;
1787
+ margin-right: 0;
1788
+
1789
+ .wpuf-column{
1790
+ padding: 0;
1791
+ border: 0;
1792
+ float: none;
1793
+ width: 100%;
1794
+ overflow: hidden;
1795
+
1796
+ .wpuf-column-inner-fields{
1797
+ padding: 0 5px 0 0;
1798
+ position: relative;
1799
+
1800
+ ul.wpuf-column-fields{
1801
+ border: 0;
1802
+ margin: 0;
1803
+ padding: 0;
1804
+ list-style: none;
1805
+
1806
+ li{
1807
+ padding: 0;
1808
+
1809
+ input[type="text"],
1810
+ input[type="email"],
1811
+ input[type="url"],
1812
+ input[type="password"],
1813
+ input[type="search"],
1814
+ input[type="number"],
1815
+ input[type="tel"],
1816
+ input[type="range"],
1817
+ input[type="date"],
1818
+ input[type="month"],
1819
+ input[type="week"],
1820
+ input[type="time"],
1821
+ input[type="datetime"],
1822
+ input[type="datetime-local"],
1823
+ input[type="color"], textarea{
1824
+ width: 100%;
1825
+ }
1826
+ }
1827
+ }
1828
+ }
1829
+ }
1830
+ }
1831
+ }
1832
  }
class/admin-asset-loader.php CHANGED
@@ -29,7 +29,7 @@ class WPUF_Admin_Assets {
29
  wp_register_script( 'wpuf-tooltip', WPUF_ASSET_URI . '/vendor/tooltip/tooltip' . $prefix . '.js', array(), WPUF_VERSION, true );
30
 
31
  $form_builder_js_deps = apply_filters( 'wpuf-form-builder-js-deps', array(
32
- 'jquery', 'jquery-ui-sortable', 'jquery-ui-draggable', 'underscore',
33
  'wpuf-vue', 'wpuf-vuex', 'wpuf-sweetalert2', 'wpuf-jquery-scrollTo',
34
  'wpuf-selectize', 'wpuf-toastr', 'wpuf-clipboard', 'wpuf-tooltip'
35
  ) );
29
  wp_register_script( 'wpuf-tooltip', WPUF_ASSET_URI . '/vendor/tooltip/tooltip' . $prefix . '.js', array(), WPUF_VERSION, true );
30
 
31
  $form_builder_js_deps = apply_filters( 'wpuf-form-builder-js-deps', array(
32
+ 'jquery', 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'underscore',
33
  'wpuf-vue', 'wpuf-vuex', 'wpuf-sweetalert2', 'wpuf-jquery-scrollTo',
34
  'wpuf-selectize', 'wpuf-toastr', 'wpuf-clipboard', 'wpuf-tooltip'
35
  ) );
class/frontend-dashboard.php CHANGED
@@ -10,6 +10,19 @@ class WPUF_Frontend_Dashboard {
10
 
11
  function __construct() {
12
  add_shortcode( 'wpuf_dashboard', array($this, 'shortcode') );
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  }
14
 
15
  /**
@@ -21,6 +34,8 @@ class WPUF_Frontend_Dashboard {
21
  * @since 0.1
22
  */
23
  function shortcode( $atts ) {
 
 
24
  $attributes = shortcode_atts( array( 'form_id'=>'off', 'post_type' => 'post', 'category' =>'off', 'featured_image' => 'default', 'meta' => 'off', 'excerpt' =>'off', 'payment_column' => 'on' ), $atts ) ;
25
  ob_start();
26
 
10
 
11
  function __construct() {
12
  add_shortcode( 'wpuf_dashboard', array($this, 'shortcode') );
13
+ add_action( 'wpuf_dashboard_shortcode_init', array( $this, 'remove_tribe_pre_get_posts' ) );
14
+ }
15
+
16
+ /**
17
+ * Events from the events calendar plugin don't show on the frontend dashboard,
18
+ * that's why this function is reequired.
19
+ *
20
+ * @since 3.1.2
21
+ */
22
+ public function remove_tribe_pre_get_posts() {
23
+ if ( class_exists( 'Tribe__Events__Query' ) ) {
24
+ remove_action( 'pre_get_posts', [ Tribe__Events__Query::class, 'pre_get_posts' ], 50 );
25
+ }
26
  }
27
 
28
  /**
34
  * @since 0.1
35
  */
36
  function shortcode( $atts ) {
37
+ do_action( 'wpuf_dashboard_shortcode_init', $atts );
38
+
39
  $attributes = shortcode_atts( array( 'form_id'=>'off', 'post_type' => 'post', 'category' =>'off', 'featured_image' => 'default', 'meta' => 'off', 'excerpt' =>'off', 'payment_column' => 'on' ), $atts ) ;
40
  ob_start();
41
 
class/render-form.php CHANGED
@@ -1410,9 +1410,9 @@ class WPUF_Render_Form {
1410
  $taxonomy = $attr['name'];
1411
  $class = ' wpuf_'.$attr['name'].'_'.$selected;
1412
  $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1413
- $exclude = $attr['exclude'];
1414
 
1415
- if ( $exclude_type == 'child_of' ) {
1416
  $exclude = $exclude[0];
1417
  }
1418
 
@@ -1442,7 +1442,7 @@ class WPUF_Render_Form {
1442
  'required' => $attr['required'],
1443
  'name' => $attr['name'],
1444
  'exclude_type' => $attr['exclude_type'],
1445
- 'exclude' => $attr['exclude'],
1446
  'orderby' => $attr['orderby'],
1447
  'order' => $attr['order'],
1448
  'name' => $attr['name'],
@@ -1464,7 +1464,9 @@ class WPUF_Render_Form {
1464
  function taxonomy( $attr, $post_id, $form_id ) {
1465
 
1466
  $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1467
- $exclude = $attr['exclude'];
 
 
1468
 
1469
  if ( $exclude_type == 'child_of' ) {
1470
  $exclude = $exclude[0];
1410
  $taxonomy = $attr['name'];
1411
  $class = ' wpuf_'.$attr['name'].'_'.$selected;
1412
  $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1413
+ $exclude = isset( $attr['exclude'] ) ? $attr['exclude'] : '';
1414
 
1415
+ if ( $exclude_type == 'child_of' && !empty( $exclude ) ) {
1416
  $exclude = $exclude[0];
1417
  }
1418
 
1442
  'required' => $attr['required'],
1443
  'name' => $attr['name'],
1444
  'exclude_type' => $attr['exclude_type'],
1445
+ 'exclude' => isset( $attr['exclude'] ) ? $attr['exclude'] : '',
1446
  'orderby' => $attr['orderby'],
1447
  'order' => $attr['order'],
1448
  'name' => $attr['name'],
1464
  function taxonomy( $attr, $post_id, $form_id ) {
1465
 
1466
  $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1467
+ // $exclude = $attr['exclude'];
1468
+ $exclude = isset( $attr['exclude'] ) ? $attr['exclude'] : '';
1469
+
1470
 
1471
  if ( $exclude_type == 'child_of' ) {
1472
  $exclude = $exclude[0];
includes/class-field-manager.php CHANGED
@@ -118,6 +118,7 @@ class WPUF_Field_Manager {
118
  require_once dirname( __FILE__ ) . '/fields/class-field-dropdown.php';
119
  require_once dirname( __FILE__ ) . '/fields/class-field-multidropdown.php';
120
  require_once dirname( __FILE__ ) . '/fields/class-field-url.php';
 
121
  require_once dirname( __FILE__ ) . '/fields/class-field-sectionbreak.php';
122
  require_once dirname( __FILE__ ) . '/fields/class-field-html.php';
123
  require_once dirname( __FILE__ ) . '/fields/class-field-hidden.php';
@@ -134,6 +135,7 @@ class WPUF_Field_Manager {
134
  'dropdown_field' => new WPUF_Form_Field_Dropdown(),
135
  'multiple_select' => new WPUF_Form_Field_MultiDropdown(),
136
  'website_url' => new WPUF_Form_Field_URL(),
 
137
  'section_break' => new WPUF_Form_Field_SectionBreak(),
138
  'custom_html' => new WPUF_Form_Field_HTML(),
139
  'custom_hidden_field' => new WPUF_Form_Field_Hidden(),
@@ -197,7 +199,7 @@ class WPUF_Field_Manager {
197
  private function get_others_fields() {
198
 
199
  $fields = apply_filters( 'wpuf-form-fields-others-fields', array(
200
- 'section_break', 'custom_html', 'recaptcha'
201
  ) );
202
 
203
  return array(
118
  require_once dirname( __FILE__ ) . '/fields/class-field-dropdown.php';
119
  require_once dirname( __FILE__ ) . '/fields/class-field-multidropdown.php';
120
  require_once dirname( __FILE__ ) . '/fields/class-field-url.php';
121
+ require_once dirname( __FILE__ ) . '/fields/class-field-column.php';
122
  require_once dirname( __FILE__ ) . '/fields/class-field-sectionbreak.php';
123
  require_once dirname( __FILE__ ) . '/fields/class-field-html.php';
124
  require_once dirname( __FILE__ ) . '/fields/class-field-hidden.php';
135
  'dropdown_field' => new WPUF_Form_Field_Dropdown(),
136
  'multiple_select' => new WPUF_Form_Field_MultiDropdown(),
137
  'website_url' => new WPUF_Form_Field_URL(),
138
+ 'column_field' => new WPUF_Form_Field_Column(),
139
  'section_break' => new WPUF_Form_Field_SectionBreak(),
140
  'custom_html' => new WPUF_Form_Field_HTML(),
141
  'custom_hidden_field' => new WPUF_Form_Field_Hidden(),
199
  private function get_others_fields() {
200
 
201
  $fields = apply_filters( 'wpuf-form-fields-others-fields', array(
202
+ 'column_field', 'section_break', 'custom_html', 'recaptcha'
203
  ) );
204
 
205
  return array(
includes/class-frontend-form-post.php CHANGED
@@ -31,16 +31,22 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
31
  **/
32
  function edit_post_shortcode( $atts ) {
33
  add_filter( 'wpuf-form-fields', array( $this, 'add_field_settings'));
 
34
  extract( shortcode_atts( array( 'id' => 0 ), $atts ) );
35
  ob_start();
 
36
  global $userdata;
 
37
  ob_start();
 
38
  if ( !is_user_logged_in() ) {
39
  echo '<div class="wpuf-message">' . __( 'You are not logged in', 'wp-user-frontend' ) . '</div>';
40
  wp_login_form();
41
  return;
42
  }
 
43
  $post_id = isset( $_GET['pid'] ) ? intval( $_GET['pid'] ) : 0;
 
44
  if ( !$post_id ) {
45
  return '<div class="wpuf-info">' . __( 'Invalid post', 'wp-user-frontend' ) . '</div>';
46
  }
@@ -258,10 +264,13 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
258
  $guest_mode = isset( $this->form_settings['guest_post'] ) ? $this->form_settings['guest_post'] : '';
259
  $guest_verify = isset( $this->form_settings['guest_email_verify'] ) ? $this->form_settings['guest_email_verify'] : 'false' ;
260
  $attachments_to_delete = isset( $_POST['delete_attachments'] ) ? $_POST['delete_attachments'] : array();
 
261
  foreach ( $attachments_to_delete as $attach_id ) {
262
  wp_delete_attachment( $attach_id, true );
263
  }
 
264
  list( $post_vars, $taxonomy_vars, $meta_vars ) =$this->get_input_fields($this->form_fields);
 
265
  if ( !isset( $_POST['post_id'] ) ) {
266
  $has_limit = ( isset( $this->form_settings['limit_entries'] ) && $this->form_settings['limit_entries'] == 'true' ) ? true : false;
267
  if ( $has_limit ) {
@@ -278,6 +287,7 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
278
  $post_author = null;
279
  $default_post_author = wpuf_get_option( 'default_post_owner', 'wpuf_frontend_posting', 1 );
280
  $post_author = $this->wpuf_get_post_user();
 
281
  $postarr = array(
282
  'post_type' => $this->form_settings['post_type'],
283
  'post_status' => isset( $this->form_settings['post_status'] ) ? $this->form_settings['post_status'] : 'publish',
@@ -286,17 +296,20 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
286
  'post_content' => isset( $_POST['post_content'] ) ? trim( $_POST['post_content'] ) : '',
287
  'post_excerpt' => isset( $_POST['post_excerpt'] ) ? trim( $_POST['post_excerpt'] ) : '',
288
  );
 
289
  // $charging_enabled = wpuf_get_option( 'charge_posting', 'wpuf_payment' );
290
  $charging_enabled = '';
291
  $form = new WPUF_Form( $form_id );
292
  $payment_options = $form->is_charging_enabled();
293
  $ppp_cost_enabled = $form->is_enabled_pay_per_post();
294
  $current_user = wpuf_get_user();
 
295
  if ( !$payment_options ) {
296
  $charging_enabled = 'no';
297
  } else {
298
  $charging_enabled = 'yes';
299
  }
 
300
  if ( $guest_mode == 'true' && $guest_verify == 'true' && !is_user_logged_in() && $charging_enabled == 'yes' ) {
301
  $postarr['post_status'] = wpuf_get_draft_post_status( $this->form_settings );
302
  } elseif ( $guest_mode == 'true' && $guest_verify == 'true' && !is_user_logged_in() ) {
@@ -320,10 +333,12 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
320
  }
321
 
322
  if ( isset( $_POST['category'] ) && ( $_POST['category'] !='' && $_POST['category'] !='0' && $_POST['category'][0] !='-1' ) ) {
323
- $category = $_POST['category'];
 
324
  if ( !is_array( $category ) && is_string( $category ) ) {
325
  $category_strings = explode( ',', $category );
326
  $cat_ids = array();
 
327
  foreach ( $category_strings as $key => $each_cat_string ) {
328
  $cat_ids[] = get_cat_ID( trim( $each_cat_string ) );
329
  $postarr['post_category'] = $cat_ids;
@@ -345,6 +360,13 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
345
  $postarr['comment_status'] = $_POST['comment_status'];
346
  $postarr['post_author'] = $_POST['post_author'];
347
  $postarr['post_parent'] = get_post_field( 'post_parent', $_POST['post_id'] );
 
 
 
 
 
 
 
348
  if ( $this->form_settings['edit_post_status'] == '_nochange' ) {
349
  $postarr['post_status'] = get_post_field( 'post_status', $_POST['post_id'] );
350
  } else {
@@ -355,6 +377,7 @@ class WPUF_Frontend_Form extends WPUF_Frontend_Render_Form{
355
  $postarr['comment_status'] = $this->form_settings['comment_status'];
356
  }
357
  }
 
358
  // check the form status, it might be already a draft
359
  // in that case, it already has the post_id field
360
  // so, WPUF's add post action/filters won't work for new posts
31
  **/
32
  function edit_post_shortcode( $atts ) {
33
  add_filter( 'wpuf-form-fields', array( $this, 'add_field_settings'));
34
+
35
  extract( shortcode_atts( array( 'id' => 0 ), $atts ) );
36
  ob_start();
37
+
38
  global $userdata;
39
+
40
  ob_start();
41
+
42
  if ( !is_user_logged_in() ) {
43
  echo '<div class="wpuf-message">' . __( 'You are not logged in', 'wp-user-frontend' ) . '</div>';
44
  wp_login_form();
45
  return;
46
  }
47
+
48
  $post_id = isset( $_GET['pid'] ) ? intval( $_GET['pid'] ) : 0;
49
+
50
  if ( !$post_id ) {
51
  return '<div class="wpuf-info">' . __( 'Invalid post', 'wp-user-frontend' ) . '</div>';
52
  }
264
  $guest_mode = isset( $this->form_settings['guest_post'] ) ? $this->form_settings['guest_post'] : '';
265
  $guest_verify = isset( $this->form_settings['guest_email_verify'] ) ? $this->form_settings['guest_email_verify'] : 'false' ;
266
  $attachments_to_delete = isset( $_POST['delete_attachments'] ) ? $_POST['delete_attachments'] : array();
267
+
268
  foreach ( $attachments_to_delete as $attach_id ) {
269
  wp_delete_attachment( $attach_id, true );
270
  }
271
+
272
  list( $post_vars, $taxonomy_vars, $meta_vars ) =$this->get_input_fields($this->form_fields);
273
+
274
  if ( !isset( $_POST['post_id'] ) ) {
275
  $has_limit = ( isset( $this->form_settings['limit_entries'] ) && $this->form_settings['limit_entries'] == 'true' ) ? true : false;
276
  if ( $has_limit ) {
287
  $post_author = null;
288
  $default_post_author = wpuf_get_option( 'default_post_owner', 'wpuf_frontend_posting', 1 );
289
  $post_author = $this->wpuf_get_post_user();
290
+
291
  $postarr = array(
292
  'post_type' => $this->form_settings['post_type'],
293
  'post_status' => isset( $this->form_settings['post_status'] ) ? $this->form_settings['post_status'] : 'publish',
296
  'post_content' => isset( $_POST['post_content'] ) ? trim( $_POST['post_content'] ) : '',
297
  'post_excerpt' => isset( $_POST['post_excerpt'] ) ? trim( $_POST['post_excerpt'] ) : '',
298
  );
299
+
300
  // $charging_enabled = wpuf_get_option( 'charge_posting', 'wpuf_payment' );
301
  $charging_enabled = '';
302
  $form = new WPUF_Form( $form_id );
303
  $payment_options = $form->is_charging_enabled();
304
  $ppp_cost_enabled = $form->is_enabled_pay_per_post();
305
  $current_user = wpuf_get_user();
306
+
307
  if ( !$payment_options ) {
308
  $charging_enabled = 'no';
309
  } else {
310
  $charging_enabled = 'yes';
311
  }
312
+
313
  if ( $guest_mode == 'true' && $guest_verify == 'true' && !is_user_logged_in() && $charging_enabled == 'yes' ) {
314
  $postarr['post_status'] = wpuf_get_draft_post_status( $this->form_settings );
315
  } elseif ( $guest_mode == 'true' && $guest_verify == 'true' && !is_user_logged_in() ) {
333
  }
334
 
335
  if ( isset( $_POST['category'] ) && ( $_POST['category'] !='' && $_POST['category'] !='0' && $_POST['category'][0] !='-1' ) ) {
336
+ $category = $_POST['category'];
337
+
338
  if ( !is_array( $category ) && is_string( $category ) ) {
339
  $category_strings = explode( ',', $category );
340
  $cat_ids = array();
341
+
342
  foreach ( $category_strings as $key => $each_cat_string ) {
343
  $cat_ids[] = get_cat_ID( trim( $each_cat_string ) );
344
  $postarr['post_category'] = $cat_ids;
360
  $postarr['comment_status'] = $_POST['comment_status'];
361
  $postarr['post_author'] = $_POST['post_author'];
362
  $postarr['post_parent'] = get_post_field( 'post_parent', $_POST['post_id'] );
363
+
364
+ $menu_order = get_post_field('menu_order', $_POST['post_id']);
365
+
366
+ if (!empty($menu_order)) {
367
+ $postarr['menu_order'] = $menu_order;
368
+ }
369
+
370
  if ( $this->form_settings['edit_post_status'] == '_nochange' ) {
371
  $postarr['post_status'] = get_post_field( 'post_status', $_POST['post_id'] );
372
  } else {
377
  $postarr['comment_status'] = $this->form_settings['comment_status'];
378
  }
379
  }
380
+
381
  // check the form status, it might be already a draft
382
  // in that case, it already has the post_id field
383
  // so, WPUF's add post action/filters won't work for new posts
includes/class-frontend-render-form.php CHANGED
@@ -464,12 +464,44 @@ class WPUF_Frontend_Render_Form{
464
  * @return array
465
  */
466
  public function get_input_fields( $form_vars ) {
467
-
468
  $ignore_lists = array('section_break', 'html');
469
-
470
  $post_vars = $meta_vars = $taxonomy_vars = array();
471
 
472
  foreach ($form_vars as $key => $value) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
473
 
474
  // ignore section break and HTML input type
475
  if ( in_array( $value['input_type'], $ignore_lists ) ) {
@@ -690,7 +722,7 @@ class WPUF_Frontend_Render_Form{
690
 
691
  default:
692
  // if it's an array, implode with this->separator
693
- if ( is_array( $_POST[$value['name']] ) ) {
694
  $acf_compatibility = wpuf_get_option( 'wpuf_compatibility_acf', 'wpuf_general', 'no' );
695
 
696
  if ( $value['input_type'] == 'address' ) {
@@ -701,7 +733,9 @@ class WPUF_Frontend_Render_Form{
701
  $meta_key_value[$value['name']] = implode( self::$separator, $_POST[$value['name']] );
702
  }
703
  } else {
704
- $meta_key_value[$value['name']] = trim( $_POST[$value['name']] );
 
 
705
  }
706
 
707
  break;
464
  * @return array
465
  */
466
  public function get_input_fields( $form_vars ) {
 
467
  $ignore_lists = array('section_break', 'html');
 
468
  $post_vars = $meta_vars = $taxonomy_vars = array();
469
 
470
  foreach ($form_vars as $key => $value) {
471
+ // get column field input fields
472
+ if ( $value['input_type'] == 'column_field' ) {
473
+ $inner_fields = $value['inner_fields'];
474
+
475
+ foreach ($inner_fields as $column_key => $column_fields) {
476
+ if (!empty($column_fields)) {
477
+ // ignore section break and HTML input type
478
+ foreach ($column_fields as $column_field_key => $column_field) {
479
+ if ( in_array( $column_field['input_type'], $ignore_lists ) ) {
480
+ continue;
481
+ }
482
+
483
+ //separate the post and custom fields
484
+ if ( isset( $column_field['is_meta'] ) && $column_field['is_meta'] == 'yes' ) {
485
+ $meta_vars[] = $column_field;
486
+ continue;
487
+ }
488
+
489
+ if ( $column_field['input_type'] == 'taxonomy' ) {
490
+
491
+ // don't add "category"
492
+ if ( $column_field['name'] == 'category' ) {
493
+ continue;
494
+ }
495
+
496
+ $taxonomy_vars[] = $column_field;
497
+ } else {
498
+ $post_vars[] = $column_field;
499
+ }
500
+ }
501
+ }
502
+ }
503
+ continue;
504
+ }
505
 
506
  // ignore section break and HTML input type
507
  if ( in_array( $value['input_type'], $ignore_lists ) ) {
722
 
723
  default:
724
  // if it's an array, implode with this->separator
725
+ if ( !empty( $_POST[ $value['name'] ] ) && is_array( $_POST[$value['name']] ) ) {
726
  $acf_compatibility = wpuf_get_option( 'wpuf_compatibility_acf', 'wpuf_general', 'no' );
727
 
728
  if ( $value['input_type'] == 'address' ) {
733
  $meta_key_value[$value['name']] = implode( self::$separator, $_POST[$value['name']] );
734
  }
735
  } else {
736
+ if ( !empty( $_POST[ $value['name'] ] ) ) {
737
+ $meta_key_value[$value['name']] = trim( $_POST[$value['name']] );
738
+ }
739
  }
740
 
741
  break;
includes/fields/class-abstract-fields.php CHANGED
@@ -795,7 +795,7 @@ abstract class WPUF_Field_Contract {
795
  $cond_inputs['condition_status'] = isset( $cond_inputs['condition_status'] ) ? $cond_inputs['condition_status'] : '';
796
 
797
  if ( $cond_inputs['condition_status'] == 'yes') {
798
- $cond_inputs['type'] = $form_field['template'];
799
  $cond_inputs['name'] = $form_field['name'];
800
  $cond_inputs['form_id'] = $form_id;
801
  $condition = json_encode( $cond_inputs );
@@ -804,11 +804,17 @@ abstract class WPUF_Field_Contract {
804
  $condition = '';
805
  }
806
 
807
- // for section break
808
- // if ( $form_field['template'] == 'section_break' ) {
809
- // $cond_inputs['name'] = $form_field['name'] .'_'. $form_field['id'];
810
- // $condition = json_encode( $cond_inputs );
811
- // }
 
 
 
 
 
 
812
 
813
  ?>
814
  <script type="text/javascript">
795
  $cond_inputs['condition_status'] = isset( $cond_inputs['condition_status'] ) ? $cond_inputs['condition_status'] : '';
796
 
797
  if ( $cond_inputs['condition_status'] == 'yes') {
798
+ $cond_inputs['type'] = $form_field['input_type'];
799
  $cond_inputs['name'] = $form_field['name'];
800
  $cond_inputs['form_id'] = $form_id;
801
  $condition = json_encode( $cond_inputs );
804
  $condition = '';
805
  }
806
 
807
+ //taxnomy name create unique
808
+ if ( $form_field['input_type'] == 'taxonomy' ) {
809
+ $cond_inputs['name'] = $form_field['name'] . '_' . $form_field['type'] .'_'. $form_field['id'];
810
+ $condition = json_encode( $cond_inputs );
811
+ }
812
+
813
+ //for section break
814
+ if ( $form_field['input_type'] == 'section_break' ) {
815
+ $cond_inputs['name'] = $form_field['name'] .'_'. $form_field['id'];
816
+ $condition = json_encode( $cond_inputs );
817
+ }
818
 
819
  ?>
820
  <script type="text/javascript">
includes/fields/class-field-checkbox.php CHANGED
@@ -23,6 +23,8 @@ class WPUF_Form_Field_Checkbox extends WPUF_Field_Contract {
23
  */
24
  public function render( $field_settings, $form_id, $type = 'post', $post_id = null ) {
25
 
 
 
26
  if ( isset($post_id) && $post_id != '0' ) {
27
  if ( $this->is_meta( $field_settings ) ) {
28
  if ( $value = $this->get_meta( $post_id, $field_settings['name'], $type, true ) ) {
@@ -33,17 +35,17 @@ class WPUF_Form_Field_Checkbox extends WPUF_Field_Contract {
33
  } else {
34
  $selected = explode( "|", $value );
35
  }
 
 
36
  }
37
  }
38
- }else{
39
- $selected = !empty( $field_settings['selected'] ) ? $field_settings['selected'] : array();
40
  }
41
 
42
  $this->field_print_label($field_settings, $form_id );
43
 
44
  ?>
45
 
46
- <div class="wpuf-fields" data-required="<?php echo $field_settings['required'] ?>" data-type="radio">
47
 
48
  <?php
49
  if ( $field_settings['options'] && count( $field_settings['options'] ) > 0 ) {
23
  */
24
  public function render( $field_settings, $form_id, $type = 'post', $post_id = null ) {
25
 
26
+ $selected = !empty( $field_settings['selected'] ) ? $field_settings['selected'] : array();
27
+
28
  if ( isset($post_id) && $post_id != '0' ) {
29
  if ( $this->is_meta( $field_settings ) ) {
30
  if ( $value = $this->get_meta( $post_id, $field_settings['name'], $type, true ) ) {
35
  } else {
36
  $selected = explode( "|", $value );
37
  }
38
+ } else {
39
+
40
  }
41
  }
 
 
42
  }
43
 
44
  $this->field_print_label($field_settings, $form_id );
45
 
46
  ?>
47
 
48
+ <div class="wpuf-fields" data-required="<?php echo $field_settings['required'] ?>" data-type="checkbox">
49
 
50
  <?php
51
  if ( $field_settings['options'] && count( $field_settings['options'] ) > 0 ) {
includes/fields/class-field-column.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Section Break Field Class
5
+ */
6
+ class WPUF_Form_Field_Column extends WPUF_Field_Contract {
7
+
8
+ function __construct() {
9
+ $this->name = __( 'Columns', 'wp-user-frontend' );
10
+ $this->input_type = 'column_field';
11
+ $this->icon = 'columns';
12
+ }
13
+
14
+ /**
15
+ * Render the Section Break field
16
+ *
17
+ * @param array $field_settings
18
+ * @param integer $form_id
19
+ * @param string $type
20
+ * @param integer $post_id
21
+ *
22
+ * @return void
23
+ */
24
+ public function render( $field_settings, $form_id, $type = 'post', $post_id = null) {
25
+ $i = 1;
26
+ $columns = $field_settings['columns'];
27
+ $columns_size = $field_settings['inner_columns_size'];
28
+ $column_space = $field_settings['column_space'];
29
+ $inner_fields = $field_settings['inner_fields'];
30
+ $atts = array();
31
+ ?>
32
+ <li class="wpuf-el">
33
+ <div class="wpuf-field-columns <?php echo 'has-columns-' . $columns; ?>">
34
+ <div class="wpuf-column-field-inner-columns">
35
+ <div class="wpuf-column">
36
+ <?php while($i <= $columns) : ?>
37
+
38
+ <div class="<?php echo 'column-' . $i; ?> <?php echo 'items-of-column-' . $columns; ?> wpuf-column-inner-fields" style="width: <?php echo $columns_size['column-'.$i]; ?>; padding-right: <?php echo $column_space . 'px'; ?>">
39
+ <ul class="wpuf-column-fields">
40
+ <?php wpuf()->fields->render_fields( $inner_fields['column-'.$i], $form_id, $atts , $type, $post_id ); ?>
41
+ </ul>
42
+ </div>
43
+
44
+ <?php $i++; ?>
45
+ <?php endwhile; ?>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </li>
50
+ <?php
51
+ }
52
+
53
+ /**
54
+ * It's a full width block
55
+ *
56
+ * @return boolean
57
+ */
58
+ public function is_full_width() {
59
+ return true;
60
+ }
61
+
62
+ /**
63
+ * Get field options setting
64
+ *
65
+ * @return array
66
+ */
67
+ public function get_options_settings() {
68
+ $options = array(
69
+ array(
70
+ 'name' => 'columns',
71
+ 'title' => __( 'Number of Columns', 'wp-user-frontend' ),
72
+ 'type' => 'range',
73
+ 'section' => 'basic',
74
+ 'priority' => 10,
75
+ 'help_text' => __( 'Title of the section', 'wp-user-frontend' ),
76
+ ),
77
+ array(
78
+ 'name' => 'column_space',
79
+ 'title' => __( 'Space Between Columns', 'wp-user-frontend' ),
80
+ 'type' => 'text',
81
+ 'section' => 'basic',
82
+ 'priority' => 11,
83
+ 'help_text' => __( 'Add padding space between columns. e.g: 10', 'wp-user-frontend' ),
84
+ ),
85
+ array(
86
+ 'name' => 'css',
87
+ 'title' => __( 'CSS Class Name', 'wp-user-frontend' ),
88
+ 'type' => 'text',
89
+ 'section' => 'advanced',
90
+ 'priority' => 22,
91
+ 'help_text' => __( 'Provide a container class name for this field. Available classes: wpuf-col-half, wpuf-col-half-last, wpuf-col-one-third, wpuf-col-one-third-last', 'wp-user-frontend' ),
92
+ ),
93
+ );
94
+
95
+ return apply_filters( 'wpuf_text_field_option_settings', $options );
96
+ }
97
+
98
+ /**
99
+ * Get the field props
100
+ *
101
+ * @return array
102
+ */
103
+ public function get_field_props() {
104
+ $props = array(
105
+ 'input_type' => 'column_field',
106
+ 'template' => $this->get_type(),
107
+ 'id' => 0,
108
+ 'is_new' => true,
109
+ 'is_meta' => 'no',
110
+ 'columns' => 3,
111
+ 'min_column' => 1,
112
+ 'max_column' => 3,
113
+ 'column_space' => '5',
114
+ 'inner_fields' => array(
115
+ 'column-1' => array(),
116
+ 'column-2' => array(),
117
+ 'column-3' => array()
118
+ ),
119
+ 'inner_columns_size' => array(
120
+ 'column-1' => '33.33%',
121
+ 'column-2' => '33.33%',
122
+ 'column-3' => '33.33%'
123
+ ),
124
+ );
125
+
126
+ return $props;
127
+ }
128
+ }
includes/fields/class-field-featured-image.php CHANGED
@@ -122,6 +122,7 @@ class WPUF_Form_Field_Featured_Image extends WPUF_Field_Contract {
122
  'max_size' => '1024',
123
  'button_label' => __( 'Featured Image', 'wp-user-frontend' ),
124
  'is_meta' => 'no',
 
125
  'max_size' => '1024',
126
  'count' => '1',
127
  'id' => 0,
122
  'max_size' => '1024',
123
  'button_label' => __( 'Featured Image', 'wp-user-frontend' ),
124
  'is_meta' => 'no',
125
+ 'name' => 'featured_image',
126
  'max_size' => '1024',
127
  'count' => '1',
128
  'id' => 0,
includes/fields/class-field-post-content.php CHANGED
@@ -154,6 +154,7 @@ class WPUF_Form_Field_Post_Content extends WPUF_Field_Contract {
154
  $props = array(
155
  'input_type' => 'textarea',
156
  'is_meta' => 'no',
 
157
  'rows' => 5,
158
  'cols' => 25,
159
  'rich' => 'yes',
154
  $props = array(
155
  'input_type' => 'textarea',
156
  'is_meta' => 'no',
157
+ 'name' => 'post_content',
158
  'rows' => 5,
159
  'cols' => 25,
160
  'rich' => 'yes',
includes/fields/class-field-post-excerpt.php CHANGED
@@ -137,6 +137,7 @@ class WPUF_Form_Field_Post_Excerpt extends WPUF_Field_Contract {
137
  $props = array(
138
  'input_type' => 'textarea',
139
  'is_meta' => 'no',
 
140
  'rows' => 5,
141
  'cols' => 25,
142
  'rich' => 'no',
137
  $props = array(
138
  'input_type' => 'textarea',
139
  'is_meta' => 'no',
140
+ 'name' => 'post_excerpt',
141
  'rows' => 5,
142
  'cols' => 25,
143
  'rich' => 'no',
includes/fields/class-field-post-tags.php CHANGED
@@ -89,6 +89,7 @@ class WPUF_Form_Field_Post_Tags extends WPUF_Field_Contract {
89
  $props = array(
90
  'input_type' => 'text',
91
  'is_meta' => 'no',
 
92
  'width' => 'large',
93
  'size' => 40,
94
  'id' => 0,
89
  $props = array(
90
  'input_type' => 'text',
91
  'is_meta' => 'no',
92
+ 'name' => 'tags',
93
  'width' => 'large',
94
  'size' => 40,
95
  'id' => 0,
includes/fields/class-field-post-taxonomy.php CHANGED
@@ -2,6 +2,7 @@
2
  // Post Taxonomy Class
3
  class WPUF_Form_Field_Post_Taxonomy extends WPUF_Field_Contract {
4
 
 
5
 
6
  protected $tax_name;
7
 
@@ -82,7 +83,7 @@ class WPUF_Form_Field_Post_Taxonomy extends WPUF_Field_Contract {
82
 
83
  switch ($this->field_settings['type']) {
84
  case 'ajax':
85
- $this->tax_ajax($post_id=NULL);
86
  break;
87
  case 'select':
88
  $this->tax_select($post_id=NULL);
@@ -112,10 +113,7 @@ class WPUF_Form_Field_Post_Taxonomy extends WPUF_Field_Contract {
112
 
113
  $selected = $terms ? $terms : '';
114
  $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
115
- // $taxonomy = $attr['name'];
116
  $class = ' wpuf_'.$attr['name'].'_'.$selected;
117
- // $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
118
- // $exclude = $attr['exclude'];
119
 
120
  if ( $this->exclude_type == 'child_of' && !empty( $this->exclude ) ) {
121
  $this->exclude = $this->exclude[0];
@@ -162,9 +160,44 @@ class WPUF_Form_Field_Post_Taxonomy extends WPUF_Field_Contract {
162
  <?php
163
  }
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  public function tax_ajax( $post_id = NULL ) {
166
 
167
- // $class = ' wpuf_'.$attr['name'].'_'.$form_id;
 
 
168
  ?>
169
 
170
  <div class="category-wrap <?php echo $this->class; ?>">
@@ -175,24 +208,12 @@ class WPUF_Form_Field_Post_Taxonomy extends WPUF_Field_Contract {
175
 
176
  ?>
177
  <div id="lvl0" level="0">
178
- <?php $this->taxnomy_select( null); ?>
179
  </div>
180
  <?php
181
  } else {
182
-
183
- $level = 0;
184
- asort( $this->terms );
185
- $last_term_id = end( $this->terms );
186
- foreach( $this->terms as $term_id) {
187
- $class = ( $last_term_id != $term_id ) ? 'hasChild' : '';
188
- ?>
189
- <div id="lvl<?php echo $level; ?>" level="<?php echo $level; ?>" >
190
- <?php $this->taxnomy_select( $term_id); ?>
191
- </div>
192
- <?php
193
- $this->field_settings['parent_cat'] = $term_id;
194
- $level++;
195
- }
196
  }
197
  ?>
198
  </div>
2
  // Post Taxonomy Class
3
  class WPUF_Form_Field_Post_Taxonomy extends WPUF_Field_Contract {
4
 
5
+ use WPUF_Form_Field_Post_trait;
6
 
7
  protected $tax_name;
8
 
83
 
84
  switch ($this->field_settings['type']) {
85
  case 'ajax':
86
+ $this->tax_ajax( $post_id );
87
  break;
88
  case 'select':
89
  $this->tax_select($post_id=NULL);
113
 
114
  $selected = $terms ? $terms : '';
115
  $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
 
116
  $class = ' wpuf_'.$attr['name'].'_'.$selected;
 
 
117
 
118
  if ( $this->exclude_type == 'child_of' && !empty( $this->exclude ) ) {
119
  $this->exclude = $this->exclude[0];
160
  <?php
161
  }
162
 
163
+ public function catbuildTree($items) {
164
+ $childs = array();
165
+
166
+ foreach($items as &$item) $childs[$item->parent][] = &$item;
167
+ unset($item);
168
+
169
+ foreach($items as &$item) {
170
+ if (isset($childs[$item->term_id])) {
171
+ $item->childs = $childs[$item->term_id];
172
+ }
173
+ }
174
+
175
+ return $childs[0];
176
+ }
177
+
178
+ public function RecursiveCatWrite($tree) {
179
+ foreach ($tree as $vals) {
180
+ $level = 0;
181
+ ?>
182
+ <div id="lvl<?php echo $level; ?>" level="<?php echo $level; ?>" >
183
+ <?php $this->taxnomy_select( $vals->term_id ); ?>
184
+ </div>
185
+
186
+ <?php
187
+ $this->field_settings['parent_cat'] = $vals->term_id;
188
+ if( isset( $vals->childs ) ){
189
+ $this->RecursiveCatWrite( $vals->childs );
190
+ }else{
191
+
192
+ }
193
+ }
194
+ }
195
+
196
  public function tax_ajax( $post_id = NULL ) {
197
 
198
+ if( isset( $post_id ) ) {
199
+ $this->terms = wp_get_post_terms( $post_id, $this->taxonomy, array('fields' => 'all') );
200
+ }
201
  ?>
202
 
203
  <div class="category-wrap <?php echo $this->class; ?>">
208
 
209
  ?>
210
  <div id="lvl0" level="0">
211
+ <?php $this->taxnomy_select( null ); ?>
212
  </div>
213
  <?php
214
  } else {
215
+ $tree = $this->catbuildTree( $this->terms );
216
+ $this->RecursiveCatWrite($tree);
 
 
 
 
 
 
 
 
 
 
 
 
217
  }
218
  ?>
219
  </div>
includes/fields/class-field-post-title.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  class WPUF_Form_Field_Post_Title extends WPUF_Field_Contract {
4
-
5
  function __construct() {
6
  $this->name = __( 'Post Title', 'wp-user-frontend' );
7
  $this->input_type = 'post_title';
@@ -20,8 +20,8 @@ class WPUF_Form_Field_Post_Title extends WPUF_Field_Contract {
20
 
21
  if( isset( $post_id ) ){
22
  $value = get_post_field( $field_settings['name'], $post_id );
23
- } else {
24
- $value = $field_settings['default'];
25
  }
26
 
27
  ?>
@@ -84,7 +84,7 @@ class WPUF_Form_Field_Post_Title extends WPUF_Field_Contract {
84
  <?php } ?>
85
  </li>
86
  <?php
87
-
88
  }
89
 
90
  /**
@@ -108,6 +108,7 @@ class WPUF_Form_Field_Post_Title extends WPUF_Field_Contract {
108
  $props = array(
109
  'input_type' => 'text',
110
  'is_meta' => 'no',
 
111
  'width' => 'large',
112
  'size' => 40,
113
  'word_restriction' => '',
@@ -125,7 +126,7 @@ class WPUF_Form_Field_Post_Title extends WPUF_Field_Contract {
125
  *
126
  * @return mixed
127
  */
128
-
129
  public function prepare_entry( $field ) {
130
  return sanitize_text_field(trim($_POST[$field['name']]));
131
  }
1
  <?php
2
 
3
  class WPUF_Form_Field_Post_Title extends WPUF_Field_Contract {
4
+
5
  function __construct() {
6
  $this->name = __( 'Post Title', 'wp-user-frontend' );
7
  $this->input_type = 'post_title';
20
 
21
  if( isset( $post_id ) ){
22
  $value = get_post_field( $field_settings['name'], $post_id );
23
+ } else {
24
+ $value = $field_settings['default'];
25
  }
26
 
27
  ?>
84
  <?php } ?>
85
  </li>
86
  <?php
87
+
88
  }
89
 
90
  /**
108
  $props = array(
109
  'input_type' => 'text',
110
  'is_meta' => 'no',
111
+ 'name' => 'post_title',
112
  'width' => 'large',
113
  'size' => 40,
114
  'word_restriction' => '',
126
  *
127
  * @return mixed
128
  */
129
+
130
  public function prepare_entry( $field ) {
131
  return sanitize_text_field(trim($_POST[$field['name']]));
132
  }
includes/fields/class-field-radio.php CHANGED
@@ -24,16 +24,19 @@ class WPUF_Form_Field_Radio extends WPUF_Form_Field_Checkbox {
24
  */
25
  public function render( $field_settings, $form_id, $type = 'post', $post_id = null) {
26
 
 
 
27
  if ( isset( $post_id ) && $post_id != '0' ) {
28
 
29
  if ( $this->is_meta( $field_settings ) ) {
30
  $selected = $this->get_meta( $post_id, $field_settings['name'], $type );
31
  }
32
 
33
- } else {
34
-
35
- $selected = isset( $field_settings['selected'] ) ? $field_settings['selected'] : '';
36
  }
 
 
 
 
37
 
38
  $this->field_print_label($field_settings, $form_id );
39
 
24
  */
25
  public function render( $field_settings, $form_id, $type = 'post', $post_id = null) {
26
 
27
+ $selected = isset( $field_settings['selected'] ) ? $field_settings['selected'] : '';
28
+
29
  if ( isset( $post_id ) && $post_id != '0' ) {
30
 
31
  if ( $this->is_meta( $field_settings ) ) {
32
  $selected = $this->get_meta( $post_id, $field_settings['name'], $type );
33
  }
34
 
 
 
 
35
  }
36
+ // else {
37
+
38
+ // $selected = isset( $field_settings['selected'] ) ? $field_settings['selected'] : '';
39
+ // }
40
 
41
  $this->field_print_label($field_settings, $form_id );
42
 
includes/fields/field-trait.php CHANGED
@@ -39,4 +39,4 @@ trait WPUF_Form_Field_Post_trait {
39
  return ' <span class="required">*</span>';
40
  }
41
  }
42
- }
39
  return ' <span class="required">*</span>';
40
  }
41
  }
42
+ }
languages/wp-user-frontend.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the GPL2 or later.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP User Frontend 3.1.1\n"
6
  "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
- "POT-Creation-Date: 2019-02-28 11:59:31+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -156,8 +156,8 @@ msgstr ""
156
  #: includes/fields/class-abstract-fields.php:344
157
  #: includes/fields/class-abstract-fields.php:358
158
  #: includes/fields/class-abstract-fields.php:426
159
- #: includes/fields/class-field-checkbox.php:88
160
- #: includes/fields/class-field-radio.php:86 includes/free/form-element.php:477
161
  #: wpuf.php:706
162
  msgid "Yes"
163
  msgstr ""
@@ -171,8 +171,8 @@ msgstr ""
171
  #: includes/fields/class-abstract-fields.php:345
172
  #: includes/fields/class-abstract-fields.php:359
173
  #: includes/fields/class-abstract-fields.php:427
174
- #: includes/fields/class-field-checkbox.php:89
175
- #: includes/fields/class-field-radio.php:87 includes/free/form-element.php:478
176
  #: wpuf.php:707
177
  msgid "No"
178
  msgstr ""
@@ -340,7 +340,7 @@ msgstr ""
340
 
341
  #: admin/class-tools.php:39 admin/class-tools.php:95
342
  #: admin/post-forms-list-table.php:43 class/transactions-list-table.php:86
343
- #: includes/class-list-table-subscribers.php:126 wpuf-functions.php:2615
344
  msgid "All"
345
  msgstr ""
346
 
@@ -472,6 +472,7 @@ msgid "Add fields by dragging the fields from the right sidebar to this area."
472
  msgstr ""
473
 
474
  #: admin/form-builder/assets/js/components/builder-stage/template.php:29
 
475
  msgid "is available in Pro Version"
476
  msgstr ""
477
 
@@ -520,7 +521,7 @@ msgstr ""
520
 
521
  #: admin/form-builder/assets/js/components/form-featured_image/template.php:6
522
  #: admin/form-builder/assets/js/components/form-image_upload/template.php:6
523
- #: class/render-form.php:1680
524
  #: includes/fields/class-field-featured-image.php:103
525
  #: includes/fields/class-field-image.php:125
526
  #: includes/fields/class-field-image.php:146
@@ -532,6 +533,10 @@ msgstr ""
532
  msgid "Insert Photo"
533
  msgstr ""
534
 
 
 
 
 
535
  #: admin/form-builder/assets/js/components/form-taxonomy/template.php:11
536
  msgid "— Select —"
537
  msgstr ""
@@ -576,10 +581,10 @@ msgid "This field must contain at least one choice"
576
  msgstr ""
577
 
578
  #: admin/form-builder/class-wpuf-admin-form-builder.php:268
579
- #: includes/fields/class-field-checkbox.php:117
580
  #: includes/fields/class-field-dropdown.php:101
581
  #: includes/fields/class-field-multidropdown.php:93
582
- #: includes/fields/class-field-radio.php:114
583
  msgid "Option"
584
  msgstr ""
585
 
@@ -1376,40 +1381,105 @@ msgid "Contact Support"
1376
  msgstr ""
1377
 
1378
  #: admin/html/whats-new.php:8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1379
  msgid "Unable to send new user registration email"
1380
  msgstr ""
1381
 
1382
- #: admin/html/whats-new.php:10
1383
  msgid ""
1384
  "WP User Frontend default registration form `[wpuf-registration]` was unable "
1385
  "to send the new user registration email."
1386
  msgstr ""
1387
 
1388
- #: admin/html/whats-new.php:13
1389
  msgid "WPUF forms block compatibility issue with the latest WP version"
1390
  msgstr ""
1391
 
1392
- #: admin/html/whats-new.php:15
1393
  msgid ""
1394
  "With the latest version of WordPress the gutenberg block of WP User "
1395
  "Frontend were not working. In this version, you will get it fixed."
1396
  msgstr ""
1397
 
1398
- #: admin/html/whats-new.php:18
1399
  msgid "Page not update where `[wpuf_dashboard]` shortcode exist"
1400
  msgstr ""
1401
 
1402
- #: admin/html/whats-new.php:20
1403
  msgid ""
1404
  "While using Gutenberg, the page were not being updated with WPUF shortcode "
1405
  "[wpuf dashboard]"
1406
  msgstr ""
1407
 
1408
- #: admin/html/whats-new.php:23
1409
  msgid "Retain default when determining whether to display the admin bar"
1410
  msgstr ""
1411
 
1412
- #: admin/html/whats-new.php:25
1413
  msgid ""
1414
  "From the User Frontend Settings, set that Administrator, Editor, Vendor can "
1415
  "see the admin bar. Now, the super admin want, one specific user ( who has "
@@ -1419,11 +1489,11 @@ msgid ""
1419
  "frontend."
1420
  msgstr ""
1421
 
1422
- #: admin/html/whats-new.php:28
1423
  msgid "Fatal error when use PHP lower version (5.4 or lower)"
1424
  msgstr ""
1425
 
1426
- #: admin/html/whats-new.php:30
1427
  msgid ""
1428
  "It was unable to install WP User Frontend with PHP 5.4 or lower version. "
1429
  "Here is the error details: <br><br><strong>Fatal error: Can't use method "
@@ -1431,42 +1501,42 @@ msgid ""
1431
  "/wp-user-frontend/class/frontend-form-post.php on line 194</strong>"
1432
  msgstr ""
1433
 
1434
- #: admin/html/whats-new.php:33
1435
  msgid "Product form was unable to show the single gallery image"
1436
  msgstr ""
1437
 
1438
- #: admin/html/whats-new.php:35
1439
  msgid ""
1440
  "When user upload single image for product gallery using WPUF WooCommerce "
1441
  "product form, that image were not showing on the frontend."
1442
  msgstr ""
1443
 
1444
- #: admin/html/whats-new.php:44
1445
  msgid "WooCommerce gallery images not getting saved"
1446
  msgstr ""
1447
 
1448
- #: admin/html/whats-new.php:46
1449
  msgid ""
1450
  "After releasing version 2.9.3, WooCommerce gallery image field stopped "
1451
  "working. You will get it fixed in this version."
1452
  msgstr ""
1453
 
1454
- #: admin/html/whats-new.php:55
1455
  msgid "The Events Calendar Integration Form"
1456
  msgstr ""
1457
 
1458
- #: admin/html/whats-new.php:57
1459
  msgid ""
1460
  "Now admin can allow users to create event from the frontend. Currently WPUF "
1461
  "has a one click pre-build event form that has been integrated with The "
1462
  "Events Calendar plugin"
1463
  msgstr ""
1464
 
1465
- #: admin/html/whats-new.php:60
1466
  msgid "Post Submission Facility From Account Page"
1467
  msgstr ""
1468
 
1469
- #: admin/html/whats-new.php:62
1470
  msgid ""
1471
  "On the frontend account page, added a new menu item named <b>Submit "
1472
  "Post</b>. Now admin can allow users to submit post from their default "
@@ -1475,504 +1545,504 @@ msgid ""
1475
  "you can assign any post form that will use to submit posts."
1476
  msgstr ""
1477
 
1478
- #: admin/html/whats-new.php:65
1479
  msgid "Login/Lost Password Link Under Registration Form"
1480
  msgstr ""
1481
 
1482
- #: admin/html/whats-new.php:67
1483
  msgid "Added Login/Lost Password link under registration form"
1484
  msgstr ""
1485
 
1486
- #: admin/html/whats-new.php:76
1487
  msgid "Added drag and drop image ordering on image upload"
1488
  msgstr ""
1489
 
1490
- #: admin/html/whats-new.php:78
1491
  msgid ""
1492
  "Now frontend users can drag & drop the images/files to change the order "
1493
  "while uploading."
1494
  msgstr ""
1495
 
1496
- #: admin/html/whats-new.php:81
1497
  msgid "Added reCAPTCHA field in login form"
1498
  msgstr ""
1499
 
1500
- #: admin/html/whats-new.php:83
1501
  msgid ""
1502
  "Admin has the option to show reCAPTCHA field in login form. Check the "
1503
  "related settings from <strong>User Frontend > Settings > "
1504
  "Login/Registration</strong>"
1505
  msgstr ""
1506
 
1507
- #: admin/html/whats-new.php:86
1508
  msgid "Added preview option in forms"
1509
  msgstr ""
1510
 
1511
- #: admin/html/whats-new.php:88
1512
  msgid ""
1513
  "You can see a nice <strong>Preview</strong> button with <strong>Save "
1514
  "Form</strong> button, admin can take a quick look of the form without using "
1515
  "shortcode"
1516
  msgstr ""
1517
 
1518
- #: admin/html/whats-new.php:91
1519
  msgid "Fixed hiding “Select Image” button while uploading multiple images."
1520
  msgstr ""
1521
 
1522
- #: admin/html/whats-new.php:93
1523
  msgid ""
1524
  "The upload button will not be hidden until the user selects max number of "
1525
  "files "
1526
  msgstr ""
1527
 
1528
- #: admin/html/whats-new.php:96
1529
  msgid "Added form limit notice before form submission"
1530
  msgstr ""
1531
 
1532
- #: admin/html/whats-new.php:98
1533
  msgid ""
1534
  "Limit notice message was showing after submission, now it is showing when "
1535
  "rendering the form"
1536
  msgstr ""
1537
 
1538
- #: admin/html/whats-new.php:101
1539
  msgid "Fixed: default post category not saving"
1540
  msgstr ""
1541
 
1542
- #: admin/html/whats-new.php:103
1543
  msgid ""
1544
  "From the form <strong>Settings > Post Settings</strong>, default post "
1545
  "category options were not saving. Now, it's fixed."
1546
  msgstr ""
1547
 
1548
- #: admin/html/whats-new.php:106
1549
  msgid ""
1550
  "WPUF dashboard shortcode with form_id attribute was not showing posts "
1551
  "properly"
1552
  msgstr ""
1553
 
1554
- #: admin/html/whats-new.php:108
1555
  msgid ""
1556
  "Now you can list posts on the frontend by using <strong>form_id<strong/> "
1557
  "attribute with <strong>[wpuf_dashboard]</strong> shortcode"
1558
  msgstr ""
1559
 
1560
- #: admin/html/whats-new.php:117
1561
  msgid "Changed text domain to `wp-user-frontend` from `wpuf` "
1562
  msgstr ""
1563
 
1564
- #: admin/html/whats-new.php:119
1565
  msgid ""
1566
  "If you are using other language than English. Please <b>rename</b> your "
1567
  "<i>.po and .mo </i> files to `wp-user-frontend_` from `wpuf_` <br> This "
1568
  "change was made to support translations from translate.wordpress.org"
1569
  msgstr ""
1570
 
1571
- #: admin/html/whats-new.php:122
1572
  msgid "Added WP User Frontend Data export and erase functionality."
1573
  msgstr ""
1574
 
1575
- #: admin/html/whats-new.php:124
1576
  msgid "Added functionality to export WP User Frontend Data to comply with GDPR."
1577
  msgstr ""
1578
 
1579
- #: admin/html/whats-new.php:127
1580
  msgid "Added billing address customizer."
1581
  msgstr ""
1582
 
1583
- #: admin/html/whats-new.php:129
1584
  msgid "Added customizer options for billing address in payment page."
1585
  msgstr ""
1586
 
1587
- #: admin/html/whats-new.php:132
1588
  msgid "Make the payment page responsive."
1589
  msgstr ""
1590
 
1591
- #: admin/html/whats-new.php:134
1592
  msgid "Some css adjustments are made in payment page to make it responsive."
1593
  msgstr ""
1594
 
1595
- #: admin/html/whats-new.php:137
1596
  msgid "Fixed image upload issue in Safari."
1597
  msgstr ""
1598
 
1599
- #: admin/html/whats-new.php:139
1600
  msgid "Images were not showing after upload in safari, it is fixed now."
1601
  msgstr ""
1602
 
1603
- #: admin/html/whats-new.php:142
1604
  msgid "Post update issue after updating or removing post images."
1605
  msgstr ""
1606
 
1607
- #: admin/html/whats-new.php:144
1608
  msgid ""
1609
  "Posts cannot be updated after updating or removing post images, it is fixed "
1610
  "now."
1611
  msgstr ""
1612
 
1613
- #: admin/html/whats-new.php:153
1614
  msgid "Allow overriding form input styles using theme styling."
1615
  msgstr ""
1616
 
1617
- #: admin/html/whats-new.php:155
1618
  msgid "Overriding form input styles using theme style is now possible."
1619
  msgstr ""
1620
 
1621
- #: admin/html/whats-new.php:158
1622
  msgid "Fixed Auto Login after registration."
1623
  msgstr ""
1624
 
1625
- #: admin/html/whats-new.php:160
1626
  msgid "Auto Login after registration was not working is fixed now."
1627
  msgstr ""
1628
 
1629
- #: admin/html/whats-new.php:163
1630
  msgid "Fixed fallback cost calculation"
1631
  msgstr ""
1632
 
1633
- #: admin/html/whats-new.php:165
1634
  msgid "Fallback cost calculation was inaccurate for some cases, it is fixed now."
1635
  msgstr ""
1636
 
1637
- #: admin/html/whats-new.php:168
1638
  msgid "Removal of subscription from User Profile gets reverted if updated"
1639
  msgstr ""
1640
 
1641
- #: admin/html/whats-new.php:170
1642
  msgid "User subscription deletion gets reverted if updated is fixed."
1643
  msgstr ""
1644
 
1645
- #: admin/html/whats-new.php:173
1646
  msgid "Show Free pack users in subscribers list."
1647
  msgstr ""
1648
 
1649
- #: admin/html/whats-new.php:175
1650
  msgid "Free pack users were not showing in subscribers list, now they will."
1651
  msgstr ""
1652
 
1653
- #: admin/html/whats-new.php:184
1654
  msgid "WP User Frontend Guten Block is added"
1655
  msgstr ""
1656
 
1657
- #: admin/html/whats-new.php:186
1658
  msgid ""
1659
  "WPUF Form Block is now available to be used within gutenberg editor with "
1660
  "preview of the form. "
1661
  msgstr ""
1662
 
1663
- #: admin/html/whats-new.php:189
1664
  msgid "Advanced Custom Fields plugin compatibility"
1665
  msgstr ""
1666
 
1667
- #: admin/html/whats-new.php:191
1668
  msgid "Now all your ACF fields can be used within WPUF Post forms. "
1669
  msgstr ""
1670
 
1671
- #: admin/html/whats-new.php:194
1672
  msgid "Taxonomy Terms not showing for custom post types"
1673
  msgstr ""
1674
 
1675
- #: admin/html/whats-new.php:196
1676
  msgid ""
1677
  "Fixed an issue with taxonomy terms not appearing for Custom Post types "
1678
  "within Form Settings and Dashboard Post Listing"
1679
  msgstr ""
1680
 
1681
- #: admin/html/whats-new.php:199
1682
  msgid "Various other code optimizations"
1683
  msgstr ""
1684
 
1685
- #: admin/html/whats-new.php:201 admin/html/whats-new.php:258
1686
  msgid "Code structure organization and optimization for better performance"
1687
  msgstr ""
1688
 
1689
- #: admin/html/whats-new.php:210
1690
  msgid "WoooCommerce billing address Sync"
1691
  msgstr ""
1692
 
1693
- #: admin/html/whats-new.php:212
1694
  msgid ""
1695
  "If an existing customer has previously set his billing address, that will "
1696
  "be imported into WPUF Billing address "
1697
  msgstr ""
1698
 
1699
- #: admin/html/whats-new.php:215
1700
  msgid "Trial subscription message not showing properly"
1701
  msgstr ""
1702
 
1703
- #: admin/html/whats-new.php:217
1704
  msgid "Subscriptions with Trial now shows trial notices"
1705
  msgstr ""
1706
 
1707
- #: admin/html/whats-new.php:220
1708
  msgid "Reset email Key not working"
1709
  msgstr ""
1710
 
1711
- #: admin/html/whats-new.php:222
1712
  msgid "Reset Email key was not working in some cases"
1713
  msgstr ""
1714
 
1715
- #: admin/html/whats-new.php:225
1716
  msgid "Post count not showing on the frontend dashboard"
1717
  msgstr ""
1718
 
1719
- #: admin/html/whats-new.php:227
1720
  msgid ""
1721
  "Dashboard with multiple post type was not showing post counts properly, is "
1722
  "now fixed and shows count for each post type"
1723
  msgstr ""
1724
 
1725
- #: admin/html/whats-new.php:230
1726
  msgid "Login Redirect showing blank page is fixed"
1727
  msgstr ""
1728
 
1729
- #: admin/html/whats-new.php:232
1730
  msgid ""
1731
  "If \"Previous Page\" was set for redirection, login redirect was "
1732
  "redirecting to blank page for users who hit login page directly"
1733
  msgstr ""
1734
 
1735
- #: admin/html/whats-new.php:241
1736
  msgid "Enhanced Login Redirect to redirect users to previous page"
1737
  msgstr ""
1738
 
1739
- #: admin/html/whats-new.php:243
1740
  msgid ""
1741
  "You can choose Previous Page as Login Redirect page settings now to "
1742
  "redirect users to the page from which they went for Login. "
1743
  msgstr ""
1744
 
1745
- #: admin/html/whats-new.php:246
1746
  msgid "Email HTML links not Rendreing properly issue is fixed"
1747
  msgstr ""
1748
 
1749
- #: admin/html/whats-new.php:248
1750
  msgid ""
1751
  "For some clients emails were not rendering the HTML links properly, this is "
1752
  "now fixed"
1753
  msgstr ""
1754
 
1755
- #: admin/html/whats-new.php:251
1756
  msgid "Form Builder : Form Field's Help text styles not showing properly"
1757
  msgstr ""
1758
 
1759
- #: admin/html/whats-new.php:253
1760
  msgid "Help texts styling is now fixed and much easier to read and understand"
1761
  msgstr ""
1762
 
1763
- #: admin/html/whats-new.php:256
1764
  msgid "Various other code improvements"
1765
  msgstr ""
1766
 
1767
- #: admin/html/whats-new.php:267
1768
  msgid "Dashboard Post Listing now supports multiple post types"
1769
  msgstr ""
1770
 
1771
- #: admin/html/whats-new.php:269
1772
  msgid ""
1773
  "Now you can show multiple post type in user dashboard using shortcode like "
1774
  "this : <br><b>[wpuf_dashboard post_type=\"post,page,custom_type\"]</b> "
1775
  msgstr ""
1776
 
1777
- #: admin/html/whats-new.php:272
1778
  msgid "Added Login Redirect Settings"
1779
  msgstr ""
1780
 
1781
- #: admin/html/whats-new.php:274
1782
  msgid ""
1783
  "You can now set a page from <i>WPUF Settings > Login/Registration > "
1784
  "Redirect after Login</i>. When login redirection is active the user will be "
1785
  "redirected to this page after login."
1786
  msgstr ""
1787
 
1788
- #: admin/html/whats-new.php:277
1789
  msgid "Image Upload field button text can be changed"
1790
  msgstr ""
1791
 
1792
- #: admin/html/whats-new.php:279
1793
  msgid ""
1794
  "The upload button text can now be changed for image upload fields which "
1795
  "defaults to \"Select Image\" if not set. "
1796
  msgstr ""
1797
 
1798
- #: admin/html/whats-new.php:282
1799
  msgid "Multi Step Form styles made compatible with more themes"
1800
  msgstr ""
1801
 
1802
- #: admin/html/whats-new.php:284
1803
  msgid "Multi Step form can now be styled more easily with other themes "
1804
  msgstr ""
1805
 
1806
- #: admin/html/whats-new.php:287
1807
  msgid "Required field condition for google map not working is fixed"
1808
  msgstr ""
1809
 
1810
- #: admin/html/whats-new.php:289
1811
  msgid ""
1812
  "If Google Map field was set as required users were able to submit form "
1813
  "without changing the default value."
1814
  msgstr ""
1815
 
1816
- #: admin/html/whats-new.php:298
1817
  msgid "Admin form builder is now fully responsive."
1818
  msgstr ""
1819
 
1820
- #: admin/html/whats-new.php:300
1821
  msgid ""
1822
  "Now you can edit forms from your mobile devices directly. Our improved "
1823
  "responsive layouts of form builder makes it easy for you to build forms on "
1824
  "the go."
1825
  msgstr ""
1826
 
1827
- #: admin/html/whats-new.php:303
1828
  msgid "Added color schemes for creating attractive form layouts."
1829
  msgstr ""
1830
 
1831
- #: admin/html/whats-new.php:305
1832
  msgid ""
1833
  "We have added 3 new color schemes for the form layouts which you can choose "
1834
  "from each form's new display settings."
1835
  msgstr ""
1836
 
1837
- #: admin/html/whats-new.php:308
1838
  msgid "Restrict Free subscription pack to be enabled multiple times "
1839
  msgstr ""
1840
 
1841
- #: admin/html/whats-new.php:310
1842
  msgid ""
1843
  "Free subscription packs now can only be purchased once and the limit "
1844
  "applies properly"
1845
  msgstr ""
1846
 
1847
- #: admin/html/whats-new.php:313
1848
  msgid "Various other bug fixes and improvements were made "
1849
  msgstr ""
1850
 
1851
- #: admin/html/whats-new.php:315
1852
  msgid "Please see the change log to see full details."
1853
  msgstr ""
1854
 
1855
- #: admin/html/whats-new.php:324
1856
  msgid "Added upgrade function for default category"
1857
  msgstr ""
1858
 
1859
- #: admin/html/whats-new.php:326
1860
  msgid "Upgrader added to upgrade previously set default post category."
1861
  msgstr ""
1862
 
1863
- #: admin/html/whats-new.php:329
1864
  msgid "Subscription pack cannot be canceled"
1865
  msgstr ""
1866
 
1867
- #: admin/html/whats-new.php:331
1868
  msgid ""
1869
  "Fixed recurring subscription pack cannot be canceled from my account page "
1870
  "in subscription details section."
1871
  msgstr ""
1872
 
1873
- #: admin/html/whats-new.php:334
1874
  msgid "page installer admin notice logic issue"
1875
  msgstr ""
1876
 
1877
- #: admin/html/whats-new.php:336
1878
  msgid ""
1879
  "Fixed page installer admin notice logic problem due to new payment settings "
1880
  "default value not set."
1881
  msgstr ""
1882
 
1883
- #: admin/html/whats-new.php:346
1884
  msgid "Setup Wizard"
1885
  msgstr ""
1886
 
1887
- #: admin/html/whats-new.php:348
1888
  msgid "Setup Wizard added to turn off payment options and install pages."
1889
  msgstr ""
1890
 
1891
- #: admin/html/whats-new.php:352
1892
  msgid "Multi-select Category"
1893
  msgstr ""
1894
 
1895
- #: admin/html/whats-new.php:354
1896
  msgid "Add multi-select to default category in post form settings."
1897
  msgstr ""
1898
 
1899
- #: admin/html/whats-new.php:358
1900
  msgid "Select Text option for Taxonomy"
1901
  msgstr ""
1902
 
1903
- #: admin/html/whats-new.php:360
1904
  msgid ""
1905
  "Add Select Text option for taxonomy fields. Now you can add default text "
1906
  "with empty value as first option for Taxonomy dropdown."
1907
  msgstr ""
1908
 
1909
- #: admin/html/whats-new.php:363
1910
  msgid "Taxonomy Checkbox Inline"
1911
  msgstr ""
1912
 
1913
- #: admin/html/whats-new.php:365
1914
  msgid ""
1915
  "Added checkbox inline option to taxonomy checkbox. You can now display "
1916
  "Taxonomy checkbox fields inline."
1917
  msgstr ""
1918
 
1919
- #: admin/html/whats-new.php:375
1920
  msgid "Manage schedule for form submission"
1921
  msgstr ""
1922
 
1923
- #: admin/html/whats-new.php:377
1924
  msgid ""
1925
  "Do not accept form submission if the current date is not between the date "
1926
  "range of the schedule."
1927
  msgstr ""
1928
 
1929
- #: admin/html/whats-new.php:381
1930
  msgid "Restrict form submission based on the user roles"
1931
  msgstr ""
1932
 
1933
- #: admin/html/whats-new.php:383
1934
  msgid ""
1935
  "Restrict form submission based on the user roles. Now you can manage user "
1936
  "role base permission on form submission."
1937
  msgstr ""
1938
 
1939
- #: admin/html/whats-new.php:387
1940
  msgid "Limit how many entries a form will accept"
1941
  msgstr ""
1942
 
1943
- #: admin/html/whats-new.php:389
1944
  msgid ""
1945
  "Limit how many entries a form will accept and display a custom message when "
1946
  "that limit is reached."
1947
  msgstr ""
1948
 
1949
- #: admin/html/whats-new.php:393
1950
  msgid "Show/hide Admin Bar"
1951
  msgstr ""
1952
 
1953
- #: admin/html/whats-new.php:395
1954
  msgid "Control the admin bar visibility based on user roles."
1955
  msgstr ""
1956
 
1957
- #: admin/html/whats-new.php:399
1958
  msgid "Ajax Login widget"
1959
  msgstr ""
1960
 
1961
- #: admin/html/whats-new.php:401
1962
  msgid ""
1963
  "Login user is more simple now with Ajax Login Widget. The simple ajax login "
1964
  "form do not required page loading for login."
1965
  msgstr ""
1966
 
1967
- #: admin/html/whats-new.php:405
1968
  msgid "Form submission with Captcha field"
1969
  msgstr ""
1970
 
1971
- #: admin/html/whats-new.php:407
1972
  msgid "Form field validation process updated if form submits with captcha field."
1973
  msgstr ""
1974
 
1975
- #: admin/html/whats-new.php:421
1976
  msgid "What's New in WPUF?"
1977
  msgstr ""
1978
 
@@ -2001,7 +2071,7 @@ msgid ""
2001
  msgstr ""
2002
 
2003
  #: admin/installer.php:77 admin/settings-options.php:23
2004
- #: includes/free/admin/shortcode-button.php:82 wpuf-functions.php:1628
2005
  msgid "Dashboard"
2006
  msgstr ""
2007
 
@@ -2017,7 +2087,7 @@ msgstr ""
2017
  #: admin/installer.php:88 class/subscription.php:356 class/subscription.php:376
2018
  #: class/subscription.php:377 class/subscription.php:378
2019
  #: includes/free/admin/shortcode-button.php:102
2020
- #: templates/dashboard/dashboard.php:19 wpuf-functions.php:1631
2021
  msgid "Subscription"
2022
  msgstr ""
2023
 
@@ -2112,7 +2182,7 @@ msgstr ""
2112
  msgid "Draft"
2113
  msgstr ""
2114
 
2115
- #: admin/posting.php:69 class/asset-loader.php:54 class/render-form.php:1698
2116
  #: wpuf.php:715
2117
  msgid "Are you sure?"
2118
  msgstr ""
@@ -3151,6 +3221,7 @@ msgid "Give the user some information about this field"
3151
  msgstr ""
3152
 
3153
  #: admin/template.php:99 includes/fields/class-abstract-fields.php:287
 
3154
  msgid "CSS Class Name"
3155
  msgstr ""
3156
 
@@ -3207,6 +3278,7 @@ msgid "Rows"
3207
  msgstr ""
3208
 
3209
  #: admin/template.php:181 includes/fields/class-abstract-fields.php:623
 
3210
  msgid "Columns"
3211
  msgstr ""
3212
 
@@ -3256,7 +3328,7 @@ msgstr ""
3256
  #: class/upload.php:168 includes/fields/class-field-recaptcha.php:156
3257
  #: includes/fields/class-field-sectionbreak.php:56
3258
  #: templates/dashboard/posts.php:76 templates/dashboard.php:86
3259
- #: wpuf-functions.php:791
3260
  msgid "Title"
3261
  msgstr ""
3262
 
@@ -3273,7 +3345,7 @@ msgid "Enter the meta value"
3273
  msgstr ""
3274
 
3275
  #: admin/template.php:609 class/upload.php:170
3276
- #: includes/fields/class-field-sectionbreak.php:64 wpuf-functions.php:797
3277
  msgid "Description"
3278
  msgstr ""
3279
 
@@ -3422,19 +3494,19 @@ msgstr ""
3422
  msgid "Your current password is incorrect."
3423
  msgstr ""
3424
 
3425
- #: class/frontend-dashboard.php:59 templates/dashboard/posts.php:36
3426
  msgid "Post Deleted"
3427
  msgstr ""
3428
 
3429
- #: class/frontend-dashboard.php:117
3430
  msgid "Author Info"
3431
  msgstr ""
3432
 
3433
- #: class/frontend-dashboard.php:121 includes/free/edit-user.php:98
3434
  msgid "%s"
3435
  msgstr ""
3436
 
3437
- #: class/frontend-dashboard.php:156 templates/dashboard/posts.php:30
3438
  msgid "You are not the post author. Cheeting huh!"
3439
  msgstr ""
3440
 
@@ -3444,54 +3516,54 @@ msgstr ""
3444
  msgid "Payment type not selected for this form. Please contact admin."
3445
  msgstr ""
3446
 
3447
- #: class/frontend-form-post.php:171 includes/class-frontend-form-post.php:39
3448
  msgid "You are not logged in"
3449
  msgstr ""
3450
 
3451
  #: class/frontend-form-post.php:179 class/frontend-form-post.php:208
3452
- #: includes/class-frontend-form-post.php:45
3453
- #: includes/class-frontend-form-post.php:74
3454
  msgid "Invalid post"
3455
  msgstr ""
3456
 
3457
- #: class/frontend-form-post.php:186 includes/class-frontend-form-post.php:52
3458
  msgid "Your edit access for this post has been locked by an administrator."
3459
  msgstr ""
3460
 
3461
- #: class/frontend-form-post.php:190 includes/class-frontend-form-post.php:56
3462
  msgid "Your allocated time for editing this post has been expired."
3463
  msgstr ""
3464
 
3465
- #: class/frontend-form-post.php:197 includes/class-frontend-form-post.php:63
3466
  msgid "Your post edit access has been locked by an administrator."
3467
  msgstr ""
3468
 
3469
- #: class/frontend-form-post.php:202 includes/class-frontend-form-post.php:68
3470
  msgid "Post Editing is disabled"
3471
  msgstr ""
3472
 
3473
- #: class/frontend-form-post.php:213 includes/class-frontend-form-post.php:79
3474
  msgid "You are not allowed to edit"
3475
  msgstr ""
3476
 
3477
- #: class/frontend-form-post.php:225 includes/class-frontend-form-post.php:90
3478
  msgid "I don't know how to edit this post, I don't have the form ID"
3479
  msgstr ""
3480
 
3481
- #: class/frontend-form-post.php:231 includes/class-frontend-form-post.php:102
3482
  msgid "You can't edit a post while in pending mode."
3483
  msgstr ""
3484
 
3485
- #: class/frontend-form-post.php:304 includes/class-frontend-render-form.php:735
3486
  #: includes/free/class-login.php:394
3487
  msgid "Empty reCaptcha Field"
3488
  msgstr ""
3489
 
3490
- #: class/frontend-form-post.php:335 includes/class-frontend-form-post.php:465
3491
  msgid "Invalid email address."
3492
  msgstr ""
3493
 
3494
- #: class/frontend-form-post.php:344 includes/class-frontend-form-post.php:475
3495
  msgid ""
3496
  "You already have an account in our site. Please login to continue.\n"
3497
  "\n"
@@ -3500,23 +3572,23 @@ msgid ""
3500
  "Click 'Cancel' to stay at this page."
3501
  msgstr ""
3502
 
3503
- #: class/frontend-form-post.php:393 includes/class-frontend-form-post.php:531
3504
  msgid "You do not have sufficient permissions to access this form."
3505
  msgstr ""
3506
 
3507
  #: class/frontend-form-post.php:732 class/frontend-form-post.php:739
3508
- #: includes/class-frontend-form-post.php:893
3509
- #: includes/class-frontend-form-post.php:899
3510
  msgid ""
3511
  "Thank you for posting on our site. We have sent you an confirmation email. "
3512
  "Please check your inbox!"
3513
  msgstr ""
3514
 
3515
- #: class/frontend-form-post.php:792 includes/class-frontend-form-post.php:449
3516
  msgid "Something went wrong"
3517
  msgstr ""
3518
 
3519
- #: class/frontend-form-post.php:1170 includes/class-frontend-form-post.php:787
3520
  msgid "Email successfully verified. Please Login."
3521
  msgstr ""
3522
 
@@ -3541,7 +3613,7 @@ msgid "You already have activated a free package previously."
3541
  msgstr ""
3542
 
3543
  #: class/payment.php:139 includes/class-customizer.php:59
3544
- #: wpuf-functions.php:1632
3545
  msgid "Billing Address"
3546
  msgstr ""
3547
 
@@ -3627,7 +3699,7 @@ msgstr ""
3627
  #: includes/fields/class-abstract-fields.php:196
3628
  #: includes/fields/class-field-dropdown.php:102
3629
  #: includes/fields/class-field-multidropdown.php:94
3630
- #: includes/fields/class-field-post-taxonomy.php:315
3631
  msgid "- select -"
3632
  msgstr ""
3633
 
@@ -3720,15 +3792,16 @@ msgstr ""
3720
  msgid "Strength indicator"
3721
  msgstr ""
3722
 
3723
- #: class/render-form.php:1420 includes/fields/class-field-post-taxonomy.php:124
 
3724
  msgid "-- Select --"
3725
  msgstr ""
3726
 
3727
- #: class/render-form.php:1485 includes/fields/class-field-post-taxonomy.php:71
3728
  msgid "This field is no longer available."
3729
  msgstr ""
3730
 
3731
- #: class/render-form.php:1698 class/transactions-list-table.php:115
3732
  #: class/transactions-list-table.php:181 includes/free/edit-user.php:101
3733
  #: templates/dashboard/posts.php:172 templates/dashboard.php:263
3734
  msgid "Delete"
@@ -3934,7 +4007,7 @@ msgstr ""
3934
  msgid "No transactions found."
3935
  msgstr ""
3936
 
3937
- #: class/upload.php:169 wpuf-functions.php:794
3938
  msgid "Caption"
3939
  msgstr ""
3940
 
@@ -4052,7 +4125,7 @@ msgstr ""
4052
 
4053
  #: includes/class-dokan-integration.php:37
4054
  #: includes/class-wc-vendors-integration.php:109
4055
- #: templates/dashboard/dashboard.php:15 wpuf-functions.php:1629
4056
  msgid "Posts"
4057
  msgstr ""
4058
 
@@ -4078,11 +4151,11 @@ msgstr ""
4078
  msgid "Select a post form that will show on the vendor dashboard."
4079
  msgstr ""
4080
 
4081
- #: includes/class-field-manager.php:183
4082
  msgid "Custom Fields"
4083
  msgstr ""
4084
 
4085
- #: includes/class-field-manager.php:205
4086
  msgid "Others"
4087
  msgstr ""
4088
 
@@ -4670,6 +4743,7 @@ msgid "Large"
4670
  msgstr ""
4671
 
4672
  #: includes/fields/class-abstract-fields.php:291
 
4673
  msgid ""
4674
  "Provide a container class name for this field. Available classes: "
4675
  "wpuf-col-half, wpuf-col-half-last, wpuf-col-one-third, "
@@ -4709,14 +4783,14 @@ msgid "Select Yes if you want to hide the field label in single post."
4709
  msgstr ""
4710
 
4711
  #: includes/fields/class-abstract-fields.php:423
4712
- #: includes/fields/class-field-checkbox.php:85
4713
- #: includes/fields/class-field-radio.php:83
4714
  msgid "Show in inline list"
4715
  msgstr ""
4716
 
4717
  #: includes/fields/class-abstract-fields.php:433
4718
- #: includes/fields/class-field-checkbox.php:95
4719
- #: includes/fields/class-field-radio.php:93
4720
  msgid "Show this option in an inline list"
4721
  msgstr ""
4722
 
@@ -4736,6 +4810,24 @@ msgstr ""
4736
  msgid "Number of columns in textarea"
4737
  msgstr ""
4738
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4739
  #: includes/fields/class-field-email.php:9
4740
  msgid "Email Address"
4741
  msgstr ""
@@ -4812,11 +4904,6 @@ msgid ""
4812
  "href=\"%s\" target=\"_blank\">Click here to get the these key</a>."
4813
  msgstr ""
4814
 
4815
- #: includes/fields/class-field-recaptcha.php:160
4816
- #: includes/fields/class-field-sectionbreak.php:60
4817
- msgid "Title of the section"
4818
- msgstr ""
4819
-
4820
  #: includes/fields/class-field-recaptcha.php:174
4821
  msgid "Select reCaptcha type"
4822
  msgstr ""
@@ -5903,219 +5990,219 @@ msgstr ""
5903
  msgid "CSV"
5904
  msgstr ""
5905
 
5906
- #: wpuf-functions.php:817
5907
  msgid "Directions »"
5908
  msgstr ""
5909
 
5910
- #: wpuf-functions.php:1630
5911
  msgid "Edit Profile"
5912
  msgstr ""
5913
 
5914
- #: wpuf-functions.php:1737
5915
  msgid "United Arab Emirates Dirham"
5916
  msgstr ""
5917
 
5918
- #: wpuf-functions.php:1738
5919
  msgid "Australian Dollars"
5920
  msgstr ""
5921
 
5922
- #: wpuf-functions.php:1739
5923
  msgid "Argentine Peso"
5924
  msgstr ""
5925
 
5926
- #: wpuf-functions.php:1740
5927
  msgid "Bangladeshi Taka"
5928
  msgstr ""
5929
 
5930
- #: wpuf-functions.php:1741
5931
  msgid "Brazilian Real"
5932
  msgstr ""
5933
 
5934
- #: wpuf-functions.php:1742
5935
  msgid "Bulgarian Lev"
5936
  msgstr ""
5937
 
5938
- #: wpuf-functions.php:1743
5939
  msgid "Canadian Dollars"
5940
  msgstr ""
5941
 
5942
- #: wpuf-functions.php:1744
5943
  msgid "Chilean Peso"
5944
  msgstr ""
5945
 
5946
- #: wpuf-functions.php:1745
5947
  msgid "Chinese Yuan"
5948
  msgstr ""
5949
 
5950
- #: wpuf-functions.php:1746
5951
  msgid "Colombian Peso"
5952
  msgstr ""
5953
 
5954
- #: wpuf-functions.php:1747
5955
  msgid "Czech Koruna"
5956
  msgstr ""
5957
 
5958
- #: wpuf-functions.php:1748
5959
  msgid "Danish Krone"
5960
  msgstr ""
5961
 
5962
- #: wpuf-functions.php:1749
5963
  msgid "Dominican Peso"
5964
  msgstr ""
5965
 
5966
- #: wpuf-functions.php:1750
5967
  msgid "Algerian Dinar"
5968
  msgstr ""
5969
 
5970
- #: wpuf-functions.php:1751
5971
  msgid "Euros"
5972
  msgstr ""
5973
 
5974
- #: wpuf-functions.php:1752
5975
  msgid "Hong Kong Dollar"
5976
  msgstr ""
5977
 
5978
- #: wpuf-functions.php:1753
5979
  msgid "Croatia kuna"
5980
  msgstr ""
5981
 
5982
- #: wpuf-functions.php:1754
5983
  msgid "Hungarian Forint"
5984
  msgstr ""
5985
 
5986
- #: wpuf-functions.php:1755
5987
  msgid "Icelandic krona"
5988
  msgstr ""
5989
 
5990
- #: wpuf-functions.php:1756
5991
  msgid "Indonesia Rupiah"
5992
  msgstr ""
5993
 
5994
- #: wpuf-functions.php:1757
5995
  msgid "Indian Rupee"
5996
  msgstr ""
5997
 
5998
- #: wpuf-functions.php:1758
5999
  msgid "Nepali Rupee"
6000
  msgstr ""
6001
 
6002
- #: wpuf-functions.php:1759
6003
  msgid "Israeli Shekel"
6004
  msgstr ""
6005
 
6006
- #: wpuf-functions.php:1760
6007
  msgid "Japanese Yen"
6008
  msgstr ""
6009
 
6010
- #: wpuf-functions.php:1761
6011
  msgid "Lao Kip"
6012
  msgstr ""
6013
 
6014
- #: wpuf-functions.php:1762
6015
  msgid "South Korean Won"
6016
  msgstr ""
6017
 
6018
- #: wpuf-functions.php:1763
6019
  msgid "Malaysian Ringgits"
6020
  msgstr ""
6021
 
6022
- #: wpuf-functions.php:1764
6023
  msgid "Mexican Peso"
6024
  msgstr ""
6025
 
6026
- #: wpuf-functions.php:1765
6027
  msgid "Nigerian Naira"
6028
  msgstr ""
6029
 
6030
- #: wpuf-functions.php:1766
6031
  msgid "Norwegian Krone"
6032
  msgstr ""
6033
 
6034
- #: wpuf-functions.php:1767
6035
  msgid "New Zealand Dollar"
6036
  msgstr ""
6037
 
6038
- #: wpuf-functions.php:1768
6039
  msgid "Omani Rial"
6040
  msgstr ""
6041
 
6042
- #: wpuf-functions.php:1769
6043
  msgid "Iranian Rial"
6044
  msgstr ""
6045
 
6046
- #: wpuf-functions.php:1770
6047
  msgid "Pakistani Rupee"
6048
  msgstr ""
6049
 
6050
- #: wpuf-functions.php:1771
6051
  msgid "Paraguayan Guaraní"
6052
  msgstr ""
6053
 
6054
- #: wpuf-functions.php:1772
6055
  msgid "Philippine Pesos"
6056
  msgstr ""
6057
 
6058
- #: wpuf-functions.php:1773
6059
  msgid "Polish Zloty"
6060
  msgstr ""
6061
 
6062
- #: wpuf-functions.php:1774
6063
  msgid "Pounds Sterling"
6064
  msgstr ""
6065
 
6066
- #: wpuf-functions.php:1775
6067
  msgid "Romanian Leu"
6068
  msgstr ""
6069
 
6070
- #: wpuf-functions.php:1776
6071
  msgid "Russian Ruble"
6072
  msgstr ""
6073
 
6074
- #: wpuf-functions.php:1777
6075
  msgid "Saudi Riyal"
6076
  msgstr ""
6077
 
6078
- #: wpuf-functions.php:1778
6079
  msgid "Singapore Dollar"
6080
  msgstr ""
6081
 
6082
- #: wpuf-functions.php:1779
6083
  msgid "South African rand"
6084
  msgstr ""
6085
 
6086
- #: wpuf-functions.php:1780
6087
  msgid "Swedish Krona"
6088
  msgstr ""
6089
 
6090
- #: wpuf-functions.php:1781
6091
  msgid "Swiss Franc"
6092
  msgstr ""
6093
 
6094
- #: wpuf-functions.php:1782
6095
  msgid "Taiwan New Dollars"
6096
  msgstr ""
6097
 
6098
- #: wpuf-functions.php:1783
6099
  msgid "Thai Baht"
6100
  msgstr ""
6101
 
6102
- #: wpuf-functions.php:1784
6103
  msgid "Turkish Lira"
6104
  msgstr ""
6105
 
6106
- #: wpuf-functions.php:1785
6107
  msgid "US Dollar"
6108
  msgstr ""
6109
 
6110
- #: wpuf-functions.php:1786
6111
  msgid "Vietnamese Dong"
6112
  msgstr ""
6113
 
6114
- #: wpuf-functions.php:1787
6115
  msgid "Egyptian Pound"
6116
  msgstr ""
6117
 
6118
- #: wpuf-functions.php:2616
6119
  msgid "None"
6120
  msgstr ""
6121
 
@@ -6242,7 +6329,7 @@ msgctxt "enhanced select"
6242
  msgid "Searching&hellip;"
6243
  msgstr ""
6244
 
6245
- #: wpuf-functions.php:1241
6246
  msgctxt "tag delimiter"
6247
  msgid ","
6248
  msgstr ""
2
  # This file is distributed under the GPL2 or later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP User Frontend 3.1.2\n"
6
  "Report-Msgid-Bugs-To: https://wedevs.com/contact/\n"
7
+ "POT-Creation-Date: 2019-04-01 11:49:50+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
156
  #: includes/fields/class-abstract-fields.php:344
157
  #: includes/fields/class-abstract-fields.php:358
158
  #: includes/fields/class-abstract-fields.php:426
159
+ #: includes/fields/class-field-checkbox.php:90
160
+ #: includes/fields/class-field-radio.php:89 includes/free/form-element.php:477
161
  #: wpuf.php:706
162
  msgid "Yes"
163
  msgstr ""
171
  #: includes/fields/class-abstract-fields.php:345
172
  #: includes/fields/class-abstract-fields.php:359
173
  #: includes/fields/class-abstract-fields.php:427
174
+ #: includes/fields/class-field-checkbox.php:91
175
+ #: includes/fields/class-field-radio.php:90 includes/free/form-element.php:478
176
  #: wpuf.php:707
177
  msgid "No"
178
  msgstr ""
340
 
341
  #: admin/class-tools.php:39 admin/class-tools.php:95
342
  #: admin/post-forms-list-table.php:43 class/transactions-list-table.php:86
343
+ #: includes/class-list-table-subscribers.php:126 wpuf-functions.php:2685
344
  msgid "All"
345
  msgstr ""
346
 
472
  msgstr ""
473
 
474
  #: admin/form-builder/assets/js/components/builder-stage/template.php:29
475
+ #: admin/form-builder/assets/js/components/form-column_field/template.php:29
476
  msgid "is available in Pro Version"
477
  msgstr ""
478
 
521
 
522
  #: admin/form-builder/assets/js/components/form-featured_image/template.php:6
523
  #: admin/form-builder/assets/js/components/form-image_upload/template.php:6
524
+ #: class/render-form.php:1682
525
  #: includes/fields/class-field-featured-image.php:103
526
  #: includes/fields/class-field-image.php:125
527
  #: includes/fields/class-field-image.php:146
533
  msgid "Insert Photo"
534
  msgstr ""
535
 
536
+ #: admin/form-builder/assets/js/components/form-recaptcha/template.php:10
537
+ msgid "Invisible reCaptcha"
538
+ msgstr ""
539
+
540
  #: admin/form-builder/assets/js/components/form-taxonomy/template.php:11
541
  msgid "— Select —"
542
  msgstr ""
581
  msgstr ""
582
 
583
  #: admin/form-builder/class-wpuf-admin-form-builder.php:268
584
+ #: includes/fields/class-field-checkbox.php:119
585
  #: includes/fields/class-field-dropdown.php:101
586
  #: includes/fields/class-field-multidropdown.php:93
587
+ #: includes/fields/class-field-radio.php:117
588
  msgid "Option"
589
  msgstr ""
590
 
1381
  msgstr ""
1382
 
1383
  #: admin/html/whats-new.php:8
1384
+ msgid "Added column field"
1385
+ msgstr ""
1386
+
1387
+ #: admin/html/whats-new.php:13
1388
+ msgid "Unable to render the events on the front-end dashboard"
1389
+ msgstr ""
1390
+
1391
+ #: admin/html/whats-new.php:15
1392
+ msgid ""
1393
+ "On the frontend dashboard, the submitted events were not showing, you will "
1394
+ "get it fixed in this version."
1395
+ msgstr ""
1396
+
1397
+ #: admin/html/whats-new.php:18
1398
+ msgid "Page order getting 0(zero) after editing from the frontend"
1399
+ msgstr ""
1400
+
1401
+ #: admin/html/whats-new.php:20
1402
+ msgid ""
1403
+ "Page order was not saving while editing a post using WPUF form, it has been "
1404
+ "fixed."
1405
+ msgstr ""
1406
+
1407
+ #: admin/html/whats-new.php:23
1408
+ msgid "Text input field for taxonomies not working"
1409
+ msgstr ""
1410
+
1411
+ #: admin/html/whats-new.php:25
1412
+ msgid ""
1413
+ "When taxonomy field type is set to `Text Input` then a fatal error was "
1414
+ "showing on the frontend, no error with taxonomy field in the latest version."
1415
+ msgstr ""
1416
+
1417
+ #: admin/html/whats-new.php:28
1418
+ msgid ""
1419
+ "In radio and checkbox field use conditional logic that value does not save "
1420
+ "in database"
1421
+ msgstr ""
1422
+
1423
+ #: admin/html/whats-new.php:30
1424
+ msgid ""
1425
+ "The selected value of radio and checkbox field were not showing while "
1426
+ "editing posts from the backend or frontend, you can see the selected value "
1427
+ "in this version."
1428
+ msgstr ""
1429
+
1430
+ #: admin/html/whats-new.php:33
1431
+ msgid "The args param not working with get_avatar filter"
1432
+ msgstr ""
1433
+
1434
+ #: admin/html/whats-new.php:35
1435
+ msgid "The args parameter did not exist with get_avatar filter, which now exists."
1436
+ msgstr ""
1437
+
1438
+ #: admin/html/whats-new.php:38
1439
+ msgid "The item in ajax taxonomy field was not selected"
1440
+ msgstr ""
1441
+
1442
+ #: admin/html/whats-new.php:40
1443
+ msgid ""
1444
+ "When the taxonomy field type is set to Ajax, the submitted terms were not "
1445
+ "showing in the backend and frontend which have been fixed."
1446
+ msgstr ""
1447
+
1448
+ #: admin/html/whats-new.php:49
1449
  msgid "Unable to send new user registration email"
1450
  msgstr ""
1451
 
1452
+ #: admin/html/whats-new.php:51
1453
  msgid ""
1454
  "WP User Frontend default registration form `[wpuf-registration]` was unable "
1455
  "to send the new user registration email."
1456
  msgstr ""
1457
 
1458
+ #: admin/html/whats-new.php:54
1459
  msgid "WPUF forms block compatibility issue with the latest WP version"
1460
  msgstr ""
1461
 
1462
+ #: admin/html/whats-new.php:56
1463
  msgid ""
1464
  "With the latest version of WordPress the gutenberg block of WP User "
1465
  "Frontend were not working. In this version, you will get it fixed."
1466
  msgstr ""
1467
 
1468
+ #: admin/html/whats-new.php:59
1469
  msgid "Page not update where `[wpuf_dashboard]` shortcode exist"
1470
  msgstr ""
1471
 
1472
+ #: admin/html/whats-new.php:61
1473
  msgid ""
1474
  "While using Gutenberg, the page were not being updated with WPUF shortcode "
1475
  "[wpuf dashboard]"
1476
  msgstr ""
1477
 
1478
+ #: admin/html/whats-new.php:64
1479
  msgid "Retain default when determining whether to display the admin bar"
1480
  msgstr ""
1481
 
1482
+ #: admin/html/whats-new.php:66
1483
  msgid ""
1484
  "From the User Frontend Settings, set that Administrator, Editor, Vendor can "
1485
  "see the admin bar. Now, the super admin want, one specific user ( who has "
1489
  "frontend."
1490
  msgstr ""
1491
 
1492
+ #: admin/html/whats-new.php:69
1493
  msgid "Fatal error when use PHP lower version (5.4 or lower)"
1494
  msgstr ""
1495
 
1496
+ #: admin/html/whats-new.php:71
1497
  msgid ""
1498
  "It was unable to install WP User Frontend with PHP 5.4 or lower version. "
1499
  "Here is the error details: <br><br><strong>Fatal error: Can't use method "
1501
  "/wp-user-frontend/class/frontend-form-post.php on line 194</strong>"
1502
  msgstr ""
1503
 
1504
+ #: admin/html/whats-new.php:74
1505
  msgid "Product form was unable to show the single gallery image"
1506
  msgstr ""
1507
 
1508
+ #: admin/html/whats-new.php:76
1509
  msgid ""
1510
  "When user upload single image for product gallery using WPUF WooCommerce "
1511
  "product form, that image were not showing on the frontend."
1512
  msgstr ""
1513
 
1514
+ #: admin/html/whats-new.php:85
1515
  msgid "WooCommerce gallery images not getting saved"
1516
  msgstr ""
1517
 
1518
+ #: admin/html/whats-new.php:87
1519
  msgid ""
1520
  "After releasing version 2.9.3, WooCommerce gallery image field stopped "
1521
  "working. You will get it fixed in this version."
1522
  msgstr ""
1523
 
1524
+ #: admin/html/whats-new.php:96
1525
  msgid "The Events Calendar Integration Form"
1526
  msgstr ""
1527
 
1528
+ #: admin/html/whats-new.php:98
1529
  msgid ""
1530
  "Now admin can allow users to create event from the frontend. Currently WPUF "
1531
  "has a one click pre-build event form that has been integrated with The "
1532
  "Events Calendar plugin"
1533
  msgstr ""
1534
 
1535
+ #: admin/html/whats-new.php:101
1536
  msgid "Post Submission Facility From Account Page"
1537
  msgstr ""
1538
 
1539
+ #: admin/html/whats-new.php:103
1540
  msgid ""
1541
  "On the frontend account page, added a new menu item named <b>Submit "
1542
  "Post</b>. Now admin can allow users to submit post from their default "
1545
  "you can assign any post form that will use to submit posts."
1546
  msgstr ""
1547
 
1548
+ #: admin/html/whats-new.php:106
1549
  msgid "Login/Lost Password Link Under Registration Form"
1550
  msgstr ""
1551
 
1552
+ #: admin/html/whats-new.php:108
1553
  msgid "Added Login/Lost Password link under registration form"
1554
  msgstr ""
1555
 
1556
+ #: admin/html/whats-new.php:117
1557
  msgid "Added drag and drop image ordering on image upload"
1558
  msgstr ""
1559
 
1560
+ #: admin/html/whats-new.php:119
1561
  msgid ""
1562
  "Now frontend users can drag & drop the images/files to change the order "
1563
  "while uploading."
1564
  msgstr ""
1565
 
1566
+ #: admin/html/whats-new.php:122
1567
  msgid "Added reCAPTCHA field in login form"
1568
  msgstr ""
1569
 
1570
+ #: admin/html/whats-new.php:124
1571
  msgid ""
1572
  "Admin has the option to show reCAPTCHA field in login form. Check the "
1573
  "related settings from <strong>User Frontend > Settings > "
1574
  "Login/Registration</strong>"
1575
  msgstr ""
1576
 
1577
+ #: admin/html/whats-new.php:127
1578
  msgid "Added preview option in forms"
1579
  msgstr ""
1580
 
1581
+ #: admin/html/whats-new.php:129
1582
  msgid ""
1583
  "You can see a nice <strong>Preview</strong> button with <strong>Save "
1584
  "Form</strong> button, admin can take a quick look of the form without using "
1585
  "shortcode"
1586
  msgstr ""
1587
 
1588
+ #: admin/html/whats-new.php:132
1589
  msgid "Fixed hiding “Select Image” button while uploading multiple images."
1590
  msgstr ""
1591
 
1592
+ #: admin/html/whats-new.php:134
1593
  msgid ""
1594
  "The upload button will not be hidden until the user selects max number of "
1595
  "files "
1596
  msgstr ""
1597
 
1598
+ #: admin/html/whats-new.php:137
1599
  msgid "Added form limit notice before form submission"
1600
  msgstr ""
1601
 
1602
+ #: admin/html/whats-new.php:139
1603
  msgid ""
1604
  "Limit notice message was showing after submission, now it is showing when "
1605
  "rendering the form"
1606
  msgstr ""
1607
 
1608
+ #: admin/html/whats-new.php:142
1609
  msgid "Fixed: default post category not saving"
1610
  msgstr ""
1611
 
1612
+ #: admin/html/whats-new.php:144
1613
  msgid ""
1614
  "From the form <strong>Settings > Post Settings</strong>, default post "
1615
  "category options were not saving. Now, it's fixed."
1616
  msgstr ""
1617
 
1618
+ #: admin/html/whats-new.php:147
1619
  msgid ""
1620
  "WPUF dashboard shortcode with form_id attribute was not showing posts "
1621
  "properly"
1622
  msgstr ""
1623
 
1624
+ #: admin/html/whats-new.php:149
1625
  msgid ""
1626
  "Now you can list posts on the frontend by using <strong>form_id<strong/> "
1627
  "attribute with <strong>[wpuf_dashboard]</strong> shortcode"
1628
  msgstr ""
1629
 
1630
+ #: admin/html/whats-new.php:158
1631
  msgid "Changed text domain to `wp-user-frontend` from `wpuf` "
1632
  msgstr ""
1633
 
1634
+ #: admin/html/whats-new.php:160
1635
  msgid ""
1636
  "If you are using other language than English. Please <b>rename</b> your "
1637
  "<i>.po and .mo </i> files to `wp-user-frontend_` from `wpuf_` <br> This "
1638
  "change was made to support translations from translate.wordpress.org"
1639
  msgstr ""
1640
 
1641
+ #: admin/html/whats-new.php:163
1642
  msgid "Added WP User Frontend Data export and erase functionality."
1643
  msgstr ""
1644
 
1645
+ #: admin/html/whats-new.php:165
1646
  msgid "Added functionality to export WP User Frontend Data to comply with GDPR."
1647
  msgstr ""
1648
 
1649
+ #: admin/html/whats-new.php:168
1650
  msgid "Added billing address customizer."
1651
  msgstr ""
1652
 
1653
+ #: admin/html/whats-new.php:170
1654
  msgid "Added customizer options for billing address in payment page."
1655
  msgstr ""
1656
 
1657
+ #: admin/html/whats-new.php:173
1658
  msgid "Make the payment page responsive."
1659
  msgstr ""
1660
 
1661
+ #: admin/html/whats-new.php:175
1662
  msgid "Some css adjustments are made in payment page to make it responsive."
1663
  msgstr ""
1664
 
1665
+ #: admin/html/whats-new.php:178
1666
  msgid "Fixed image upload issue in Safari."
1667
  msgstr ""
1668
 
1669
+ #: admin/html/whats-new.php:180
1670
  msgid "Images were not showing after upload in safari, it is fixed now."
1671
  msgstr ""
1672
 
1673
+ #: admin/html/whats-new.php:183
1674
  msgid "Post update issue after updating or removing post images."
1675
  msgstr ""
1676
 
1677
+ #: admin/html/whats-new.php:185
1678
  msgid ""
1679
  "Posts cannot be updated after updating or removing post images, it is fixed "
1680
  "now."
1681
  msgstr ""
1682
 
1683
+ #: admin/html/whats-new.php:194
1684
  msgid "Allow overriding form input styles using theme styling."
1685
  msgstr ""
1686
 
1687
+ #: admin/html/whats-new.php:196
1688
  msgid "Overriding form input styles using theme style is now possible."
1689
  msgstr ""
1690
 
1691
+ #: admin/html/whats-new.php:199
1692
  msgid "Fixed Auto Login after registration."
1693
  msgstr ""
1694
 
1695
+ #: admin/html/whats-new.php:201
1696
  msgid "Auto Login after registration was not working is fixed now."
1697
  msgstr ""
1698
 
1699
+ #: admin/html/whats-new.php:204
1700
  msgid "Fixed fallback cost calculation"
1701
  msgstr ""
1702
 
1703
+ #: admin/html/whats-new.php:206
1704
  msgid "Fallback cost calculation was inaccurate for some cases, it is fixed now."
1705
  msgstr ""
1706
 
1707
+ #: admin/html/whats-new.php:209
1708
  msgid "Removal of subscription from User Profile gets reverted if updated"
1709
  msgstr ""
1710
 
1711
+ #: admin/html/whats-new.php:211
1712
  msgid "User subscription deletion gets reverted if updated is fixed."
1713
  msgstr ""
1714
 
1715
+ #: admin/html/whats-new.php:214
1716
  msgid "Show Free pack users in subscribers list."
1717
  msgstr ""
1718
 
1719
+ #: admin/html/whats-new.php:216
1720
  msgid "Free pack users were not showing in subscribers list, now they will."
1721
  msgstr ""
1722
 
1723
+ #: admin/html/whats-new.php:225
1724
  msgid "WP User Frontend Guten Block is added"
1725
  msgstr ""
1726
 
1727
+ #: admin/html/whats-new.php:227
1728
  msgid ""
1729
  "WPUF Form Block is now available to be used within gutenberg editor with "
1730
  "preview of the form. "
1731
  msgstr ""
1732
 
1733
+ #: admin/html/whats-new.php:230
1734
  msgid "Advanced Custom Fields plugin compatibility"
1735
  msgstr ""
1736
 
1737
+ #: admin/html/whats-new.php:232
1738
  msgid "Now all your ACF fields can be used within WPUF Post forms. "
1739
  msgstr ""
1740
 
1741
+ #: admin/html/whats-new.php:235
1742
  msgid "Taxonomy Terms not showing for custom post types"
1743
  msgstr ""
1744
 
1745
+ #: admin/html/whats-new.php:237
1746
  msgid ""
1747
  "Fixed an issue with taxonomy terms not appearing for Custom Post types "
1748
  "within Form Settings and Dashboard Post Listing"
1749
  msgstr ""
1750
 
1751
+ #: admin/html/whats-new.php:240
1752
  msgid "Various other code optimizations"
1753
  msgstr ""
1754
 
1755
+ #: admin/html/whats-new.php:242 admin/html/whats-new.php:299
1756
  msgid "Code structure organization and optimization for better performance"
1757
  msgstr ""
1758
 
1759
+ #: admin/html/whats-new.php:251
1760
  msgid "WoooCommerce billing address Sync"
1761
  msgstr ""
1762
 
1763
+ #: admin/html/whats-new.php:253
1764
  msgid ""
1765
  "If an existing customer has previously set his billing address, that will "
1766
  "be imported into WPUF Billing address "
1767
  msgstr ""
1768
 
1769
+ #: admin/html/whats-new.php:256
1770
  msgid "Trial subscription message not showing properly"
1771
  msgstr ""
1772
 
1773
+ #: admin/html/whats-new.php:258
1774
  msgid "Subscriptions with Trial now shows trial notices"
1775
  msgstr ""
1776
 
1777
+ #: admin/html/whats-new.php:261
1778
  msgid "Reset email Key not working"
1779
  msgstr ""
1780
 
1781
+ #: admin/html/whats-new.php:263
1782
  msgid "Reset Email key was not working in some cases"
1783
  msgstr ""
1784
 
1785
+ #: admin/html/whats-new.php:266
1786
  msgid "Post count not showing on the frontend dashboard"
1787
  msgstr ""
1788
 
1789
+ #: admin/html/whats-new.php:268
1790
  msgid ""
1791
  "Dashboard with multiple post type was not showing post counts properly, is "
1792
  "now fixed and shows count for each post type"
1793
  msgstr ""
1794
 
1795
+ #: admin/html/whats-new.php:271
1796
  msgid "Login Redirect showing blank page is fixed"
1797
  msgstr ""
1798
 
1799
+ #: admin/html/whats-new.php:273
1800
  msgid ""
1801
  "If \"Previous Page\" was set for redirection, login redirect was "
1802
  "redirecting to blank page for users who hit login page directly"
1803
  msgstr ""
1804
 
1805
+ #: admin/html/whats-new.php:282
1806
  msgid "Enhanced Login Redirect to redirect users to previous page"
1807
  msgstr ""
1808
 
1809
+ #: admin/html/whats-new.php:284
1810
  msgid ""
1811
  "You can choose Previous Page as Login Redirect page settings now to "
1812
  "redirect users to the page from which they went for Login. "
1813
  msgstr ""
1814
 
1815
+ #: admin/html/whats-new.php:287
1816
  msgid "Email HTML links not Rendreing properly issue is fixed"
1817
  msgstr ""
1818
 
1819
+ #: admin/html/whats-new.php:289
1820
  msgid ""
1821
  "For some clients emails were not rendering the HTML links properly, this is "
1822
  "now fixed"
1823
  msgstr ""
1824
 
1825
+ #: admin/html/whats-new.php:292
1826
  msgid "Form Builder : Form Field's Help text styles not showing properly"
1827
  msgstr ""
1828
 
1829
+ #: admin/html/whats-new.php:294
1830
  msgid "Help texts styling is now fixed and much easier to read and understand"
1831
  msgstr ""
1832
 
1833
+ #: admin/html/whats-new.php:297
1834
  msgid "Various other code improvements"
1835
  msgstr ""
1836
 
1837
+ #: admin/html/whats-new.php:308
1838
  msgid "Dashboard Post Listing now supports multiple post types"
1839
  msgstr ""
1840
 
1841
+ #: admin/html/whats-new.php:310
1842
  msgid ""
1843
  "Now you can show multiple post type in user dashboard using shortcode like "
1844
  "this : <br><b>[wpuf_dashboard post_type=\"post,page,custom_type\"]</b> "
1845
  msgstr ""
1846
 
1847
+ #: admin/html/whats-new.php:313
1848
  msgid "Added Login Redirect Settings"
1849
  msgstr ""
1850
 
1851
+ #: admin/html/whats-new.php:315
1852
  msgid ""
1853
  "You can now set a page from <i>WPUF Settings > Login/Registration > "
1854
  "Redirect after Login</i>. When login redirection is active the user will be "
1855
  "redirected to this page after login."
1856
  msgstr ""
1857
 
1858
+ #: admin/html/whats-new.php:318
1859
  msgid "Image Upload field button text can be changed"
1860
  msgstr ""
1861
 
1862
+ #: admin/html/whats-new.php:320
1863
  msgid ""
1864
  "The upload button text can now be changed for image upload fields which "
1865
  "defaults to \"Select Image\" if not set. "
1866
  msgstr ""
1867
 
1868
+ #: admin/html/whats-new.php:323
1869
  msgid "Multi Step Form styles made compatible with more themes"
1870
  msgstr ""
1871
 
1872
+ #: admin/html/whats-new.php:325
1873
  msgid "Multi Step form can now be styled more easily with other themes "
1874
  msgstr ""
1875
 
1876
+ #: admin/html/whats-new.php:328
1877
  msgid "Required field condition for google map not working is fixed"
1878
  msgstr ""
1879
 
1880
+ #: admin/html/whats-new.php:330
1881
  msgid ""
1882
  "If Google Map field was set as required users were able to submit form "
1883
  "without changing the default value."
1884
  msgstr ""
1885
 
1886
+ #: admin/html/whats-new.php:339
1887
  msgid "Admin form builder is now fully responsive."
1888
  msgstr ""
1889
 
1890
+ #: admin/html/whats-new.php:341
1891
  msgid ""
1892
  "Now you can edit forms from your mobile devices directly. Our improved "
1893
  "responsive layouts of form builder makes it easy for you to build forms on "
1894
  "the go."
1895
  msgstr ""
1896
 
1897
+ #: admin/html/whats-new.php:344
1898
  msgid "Added color schemes for creating attractive form layouts."
1899
  msgstr ""
1900
 
1901
+ #: admin/html/whats-new.php:346
1902
  msgid ""
1903
  "We have added 3 new color schemes for the form layouts which you can choose "
1904
  "from each form's new display settings."
1905
  msgstr ""
1906
 
1907
+ #: admin/html/whats-new.php:349
1908
  msgid "Restrict Free subscription pack to be enabled multiple times "
1909
  msgstr ""
1910
 
1911
+ #: admin/html/whats-new.php:351
1912
  msgid ""
1913
  "Free subscription packs now can only be purchased once and the limit "
1914
  "applies properly"
1915
  msgstr ""
1916
 
1917
+ #: admin/html/whats-new.php:354
1918
  msgid "Various other bug fixes and improvements were made "
1919
  msgstr ""
1920
 
1921
+ #: admin/html/whats-new.php:356
1922
  msgid "Please see the change log to see full details."
1923
  msgstr ""
1924
 
1925
+ #: admin/html/whats-new.php:365
1926
  msgid "Added upgrade function for default category"
1927
  msgstr ""
1928
 
1929
+ #: admin/html/whats-new.php:367
1930
  msgid "Upgrader added to upgrade previously set default post category."
1931
  msgstr ""
1932
 
1933
+ #: admin/html/whats-new.php:370
1934
  msgid "Subscription pack cannot be canceled"
1935
  msgstr ""
1936
 
1937
+ #: admin/html/whats-new.php:372
1938
  msgid ""
1939
  "Fixed recurring subscription pack cannot be canceled from my account page "
1940
  "in subscription details section."
1941
  msgstr ""
1942
 
1943
+ #: admin/html/whats-new.php:375
1944
  msgid "page installer admin notice logic issue"
1945
  msgstr ""
1946
 
1947
+ #: admin/html/whats-new.php:377
1948
  msgid ""
1949
  "Fixed page installer admin notice logic problem due to new payment settings "
1950
  "default value not set."
1951
  msgstr ""
1952
 
1953
+ #: admin/html/whats-new.php:387
1954
  msgid "Setup Wizard"
1955
  msgstr ""
1956
 
1957
+ #: admin/html/whats-new.php:389
1958
  msgid "Setup Wizard added to turn off payment options and install pages."
1959
  msgstr ""
1960
 
1961
+ #: admin/html/whats-new.php:393
1962
  msgid "Multi-select Category"
1963
  msgstr ""
1964
 
1965
+ #: admin/html/whats-new.php:395
1966
  msgid "Add multi-select to default category in post form settings."
1967
  msgstr ""
1968
 
1969
+ #: admin/html/whats-new.php:399
1970
  msgid "Select Text option for Taxonomy"
1971
  msgstr ""
1972
 
1973
+ #: admin/html/whats-new.php:401
1974
  msgid ""
1975
  "Add Select Text option for taxonomy fields. Now you can add default text "
1976
  "with empty value as first option for Taxonomy dropdown."
1977
  msgstr ""
1978
 
1979
+ #: admin/html/whats-new.php:404
1980
  msgid "Taxonomy Checkbox Inline"
1981
  msgstr ""
1982
 
1983
+ #: admin/html/whats-new.php:406
1984
  msgid ""
1985
  "Added checkbox inline option to taxonomy checkbox. You can now display "
1986
  "Taxonomy checkbox fields inline."
1987
  msgstr ""
1988
 
1989
+ #: admin/html/whats-new.php:416
1990
  msgid "Manage schedule for form submission"
1991
  msgstr ""
1992
 
1993
+ #: admin/html/whats-new.php:418
1994
  msgid ""
1995
  "Do not accept form submission if the current date is not between the date "
1996
  "range of the schedule."
1997
  msgstr ""
1998
 
1999
+ #: admin/html/whats-new.php:422
2000
  msgid "Restrict form submission based on the user roles"
2001
  msgstr ""
2002
 
2003
+ #: admin/html/whats-new.php:424
2004
  msgid ""
2005
  "Restrict form submission based on the user roles. Now you can manage user "
2006
  "role base permission on form submission."
2007
  msgstr ""
2008
 
2009
+ #: admin/html/whats-new.php:428
2010
  msgid "Limit how many entries a form will accept"
2011
  msgstr ""
2012
 
2013
+ #: admin/html/whats-new.php:430
2014
  msgid ""
2015
  "Limit how many entries a form will accept and display a custom message when "
2016
  "that limit is reached."
2017
  msgstr ""
2018
 
2019
+ #: admin/html/whats-new.php:434
2020
  msgid "Show/hide Admin Bar"
2021
  msgstr ""
2022
 
2023
+ #: admin/html/whats-new.php:436
2024
  msgid "Control the admin bar visibility based on user roles."
2025
  msgstr ""
2026
 
2027
+ #: admin/html/whats-new.php:440
2028
  msgid "Ajax Login widget"
2029
  msgstr ""
2030
 
2031
+ #: admin/html/whats-new.php:442
2032
  msgid ""
2033
  "Login user is more simple now with Ajax Login Widget. The simple ajax login "
2034
  "form do not required page loading for login."
2035
  msgstr ""
2036
 
2037
+ #: admin/html/whats-new.php:446
2038
  msgid "Form submission with Captcha field"
2039
  msgstr ""
2040
 
2041
+ #: admin/html/whats-new.php:448
2042
  msgid "Form field validation process updated if form submits with captcha field."
2043
  msgstr ""
2044
 
2045
+ #: admin/html/whats-new.php:462
2046
  msgid "What's New in WPUF?"
2047
  msgstr ""
2048
 
2071
  msgstr ""
2072
 
2073
  #: admin/installer.php:77 admin/settings-options.php:23
2074
+ #: includes/free/admin/shortcode-button.php:82 wpuf-functions.php:1698
2075
  msgid "Dashboard"
2076
  msgstr ""
2077
 
2087
  #: admin/installer.php:88 class/subscription.php:356 class/subscription.php:376
2088
  #: class/subscription.php:377 class/subscription.php:378
2089
  #: includes/free/admin/shortcode-button.php:102
2090
+ #: templates/dashboard/dashboard.php:19 wpuf-functions.php:1701
2091
  msgid "Subscription"
2092
  msgstr ""
2093
 
2182
  msgid "Draft"
2183
  msgstr ""
2184
 
2185
+ #: admin/posting.php:69 class/asset-loader.php:54 class/render-form.php:1700
2186
  #: wpuf.php:715
2187
  msgid "Are you sure?"
2188
  msgstr ""
3221
  msgstr ""
3222
 
3223
  #: admin/template.php:99 includes/fields/class-abstract-fields.php:287
3224
+ #: includes/fields/class-field-column.php:87
3225
  msgid "CSS Class Name"
3226
  msgstr ""
3227
 
3278
  msgstr ""
3279
 
3280
  #: admin/template.php:181 includes/fields/class-abstract-fields.php:623
3281
+ #: includes/fields/class-field-column.php:9
3282
  msgid "Columns"
3283
  msgstr ""
3284
 
3328
  #: class/upload.php:168 includes/fields/class-field-recaptcha.php:156
3329
  #: includes/fields/class-field-sectionbreak.php:56
3330
  #: templates/dashboard/posts.php:76 templates/dashboard.php:86
3331
+ #: wpuf-functions.php:807
3332
  msgid "Title"
3333
  msgstr ""
3334
 
3345
  msgstr ""
3346
 
3347
  #: admin/template.php:609 class/upload.php:170
3348
+ #: includes/fields/class-field-sectionbreak.php:64 wpuf-functions.php:813
3349
  msgid "Description"
3350
  msgstr ""
3351
 
3494
  msgid "Your current password is incorrect."
3495
  msgstr ""
3496
 
3497
+ #: class/frontend-dashboard.php:74 templates/dashboard/posts.php:36
3498
  msgid "Post Deleted"
3499
  msgstr ""
3500
 
3501
+ #: class/frontend-dashboard.php:132
3502
  msgid "Author Info"
3503
  msgstr ""
3504
 
3505
+ #: class/frontend-dashboard.php:136 includes/free/edit-user.php:98
3506
  msgid "%s"
3507
  msgstr ""
3508
 
3509
+ #: class/frontend-dashboard.php:171 templates/dashboard/posts.php:30
3510
  msgid "You are not the post author. Cheeting huh!"
3511
  msgstr ""
3512
 
3516
  msgid "Payment type not selected for this form. Please contact admin."
3517
  msgstr ""
3518
 
3519
+ #: class/frontend-form-post.php:171 includes/class-frontend-form-post.php:43
3520
  msgid "You are not logged in"
3521
  msgstr ""
3522
 
3523
  #: class/frontend-form-post.php:179 class/frontend-form-post.php:208
3524
+ #: includes/class-frontend-form-post.php:51
3525
+ #: includes/class-frontend-form-post.php:80
3526
  msgid "Invalid post"
3527
  msgstr ""
3528
 
3529
+ #: class/frontend-form-post.php:186 includes/class-frontend-form-post.php:58
3530
  msgid "Your edit access for this post has been locked by an administrator."
3531
  msgstr ""
3532
 
3533
+ #: class/frontend-form-post.php:190 includes/class-frontend-form-post.php:62
3534
  msgid "Your allocated time for editing this post has been expired."
3535
  msgstr ""
3536
 
3537
+ #: class/frontend-form-post.php:197 includes/class-frontend-form-post.php:69
3538
  msgid "Your post edit access has been locked by an administrator."
3539
  msgstr ""
3540
 
3541
+ #: class/frontend-form-post.php:202 includes/class-frontend-form-post.php:74
3542
  msgid "Post Editing is disabled"
3543
  msgstr ""
3544
 
3545
+ #: class/frontend-form-post.php:213 includes/class-frontend-form-post.php:85
3546
  msgid "You are not allowed to edit"
3547
  msgstr ""
3548
 
3549
+ #: class/frontend-form-post.php:225 includes/class-frontend-form-post.php:96
3550
  msgid "I don't know how to edit this post, I don't have the form ID"
3551
  msgstr ""
3552
 
3553
+ #: class/frontend-form-post.php:231 includes/class-frontend-form-post.php:108
3554
  msgid "You can't edit a post while in pending mode."
3555
  msgstr ""
3556
 
3557
+ #: class/frontend-form-post.php:304 includes/class-frontend-render-form.php:769
3558
  #: includes/free/class-login.php:394
3559
  msgid "Empty reCaptcha Field"
3560
  msgstr ""
3561
 
3562
+ #: class/frontend-form-post.php:335 includes/class-frontend-form-post.php:488
3563
  msgid "Invalid email address."
3564
  msgstr ""
3565
 
3566
+ #: class/frontend-form-post.php:344 includes/class-frontend-form-post.php:498
3567
  msgid ""
3568
  "You already have an account in our site. Please login to continue.\n"
3569
  "\n"
3572
  "Click 'Cancel' to stay at this page."
3573
  msgstr ""
3574
 
3575
+ #: class/frontend-form-post.php:393 includes/class-frontend-form-post.php:554
3576
  msgid "You do not have sufficient permissions to access this form."
3577
  msgstr ""
3578
 
3579
  #: class/frontend-form-post.php:732 class/frontend-form-post.php:739
3580
+ #: includes/class-frontend-form-post.php:916
3581
+ #: includes/class-frontend-form-post.php:922
3582
  msgid ""
3583
  "Thank you for posting on our site. We have sent you an confirmation email. "
3584
  "Please check your inbox!"
3585
  msgstr ""
3586
 
3587
+ #: class/frontend-form-post.php:792 includes/class-frontend-form-post.php:472
3588
  msgid "Something went wrong"
3589
  msgstr ""
3590
 
3591
+ #: class/frontend-form-post.php:1170 includes/class-frontend-form-post.php:810
3592
  msgid "Email successfully verified. Please Login."
3593
  msgstr ""
3594
 
3613
  msgstr ""
3614
 
3615
  #: class/payment.php:139 includes/class-customizer.php:59
3616
+ #: wpuf-functions.php:1702
3617
  msgid "Billing Address"
3618
  msgstr ""
3619
 
3699
  #: includes/fields/class-abstract-fields.php:196
3700
  #: includes/fields/class-field-dropdown.php:102
3701
  #: includes/fields/class-field-multidropdown.php:94
3702
+ #: includes/fields/class-field-post-taxonomy.php:336
3703
  msgid "- select -"
3704
  msgstr ""
3705
 
3792
  msgid "Strength indicator"
3793
  msgstr ""
3794
 
3795
+ #: class/render-form.php:1420 includes/fields/class-field-post-taxonomy.php:122
3796
+ #: wpuf-functions.php:1486
3797
  msgid "-- Select --"
3798
  msgstr ""
3799
 
3800
+ #: class/render-form.php:1487 includes/fields/class-field-post-taxonomy.php:72
3801
  msgid "This field is no longer available."
3802
  msgstr ""
3803
 
3804
+ #: class/render-form.php:1700 class/transactions-list-table.php:115
3805
  #: class/transactions-list-table.php:181 includes/free/edit-user.php:101
3806
  #: templates/dashboard/posts.php:172 templates/dashboard.php:263
3807
  msgid "Delete"
4007
  msgid "No transactions found."
4008
  msgstr ""
4009
 
4010
+ #: class/upload.php:169 wpuf-functions.php:810
4011
  msgid "Caption"
4012
  msgstr ""
4013
 
4125
 
4126
  #: includes/class-dokan-integration.php:37
4127
  #: includes/class-wc-vendors-integration.php:109
4128
+ #: templates/dashboard/dashboard.php:15 wpuf-functions.php:1699
4129
  msgid "Posts"
4130
  msgstr ""
4131
 
4151
  msgid "Select a post form that will show on the vendor dashboard."
4152
  msgstr ""
4153
 
4154
+ #: includes/class-field-manager.php:185
4155
  msgid "Custom Fields"
4156
  msgstr ""
4157
 
4158
+ #: includes/class-field-manager.php:207
4159
  msgid "Others"
4160
  msgstr ""
4161
 
4743
  msgstr ""
4744
 
4745
  #: includes/fields/class-abstract-fields.php:291
4746
+ #: includes/fields/class-field-column.php:91
4747
  msgid ""
4748
  "Provide a container class name for this field. Available classes: "
4749
  "wpuf-col-half, wpuf-col-half-last, wpuf-col-one-third, "
4783
  msgstr ""
4784
 
4785
  #: includes/fields/class-abstract-fields.php:423
4786
+ #: includes/fields/class-field-checkbox.php:87
4787
+ #: includes/fields/class-field-radio.php:86
4788
  msgid "Show in inline list"
4789
  msgstr ""
4790
 
4791
  #: includes/fields/class-abstract-fields.php:433
4792
+ #: includes/fields/class-field-checkbox.php:97
4793
+ #: includes/fields/class-field-radio.php:96
4794
  msgid "Show this option in an inline list"
4795
  msgstr ""
4796
 
4810
  msgid "Number of columns in textarea"
4811
  msgstr ""
4812
 
4813
+ #: includes/fields/class-field-column.php:71
4814
+ msgid "Number of Columns"
4815
+ msgstr ""
4816
+
4817
+ #: includes/fields/class-field-column.php:75
4818
+ #: includes/fields/class-field-recaptcha.php:160
4819
+ #: includes/fields/class-field-sectionbreak.php:60
4820
+ msgid "Title of the section"
4821
+ msgstr ""
4822
+
4823
+ #: includes/fields/class-field-column.php:79
4824
+ msgid "Space Between Columns"
4825
+ msgstr ""
4826
+
4827
+ #: includes/fields/class-field-column.php:83
4828
+ msgid "Add padding space between columns. e.g: 10"
4829
+ msgstr ""
4830
+
4831
  #: includes/fields/class-field-email.php:9
4832
  msgid "Email Address"
4833
  msgstr ""
4904
  "href=\"%s\" target=\"_blank\">Click here to get the these key</a>."
4905
  msgstr ""
4906
 
 
 
 
 
 
4907
  #: includes/fields/class-field-recaptcha.php:174
4908
  msgid "Select reCaptcha type"
4909
  msgstr ""
5990
  msgid "CSV"
5991
  msgstr ""
5992
 
5993
+ #: wpuf-functions.php:833
5994
  msgid "Directions »"
5995
  msgstr ""
5996
 
5997
+ #: wpuf-functions.php:1700
5998
  msgid "Edit Profile"
5999
  msgstr ""
6000
 
6001
+ #: wpuf-functions.php:1807
6002
  msgid "United Arab Emirates Dirham"
6003
  msgstr ""
6004
 
6005
+ #: wpuf-functions.php:1808
6006
  msgid "Australian Dollars"
6007
  msgstr ""
6008
 
6009
+ #: wpuf-functions.php:1809
6010
  msgid "Argentine Peso"
6011
  msgstr ""
6012
 
6013
+ #: wpuf-functions.php:1810
6014
  msgid "Bangladeshi Taka"
6015
  msgstr ""
6016
 
6017
+ #: wpuf-functions.php:1811
6018
  msgid "Brazilian Real"
6019
  msgstr ""
6020
 
6021
+ #: wpuf-functions.php:1812
6022
  msgid "Bulgarian Lev"
6023
  msgstr ""
6024
 
6025
+ #: wpuf-functions.php:1813
6026
  msgid "Canadian Dollars"
6027
  msgstr ""
6028
 
6029
+ #: wpuf-functions.php:1814
6030
  msgid "Chilean Peso"
6031
  msgstr ""
6032
 
6033
+ #: wpuf-functions.php:1815
6034
  msgid "Chinese Yuan"
6035
  msgstr ""
6036
 
6037
+ #: wpuf-functions.php:1816
6038
  msgid "Colombian Peso"
6039
  msgstr ""
6040
 
6041
+ #: wpuf-functions.php:1817
6042
  msgid "Czech Koruna"
6043
  msgstr ""
6044
 
6045
+ #: wpuf-functions.php:1818
6046
  msgid "Danish Krone"
6047
  msgstr ""
6048
 
6049
+ #: wpuf-functions.php:1819
6050
  msgid "Dominican Peso"
6051
  msgstr ""
6052
 
6053
+ #: wpuf-functions.php:1820
6054
  msgid "Algerian Dinar"
6055
  msgstr ""
6056
 
6057
+ #: wpuf-functions.php:1821
6058
  msgid "Euros"
6059
  msgstr ""
6060
 
6061
+ #: wpuf-functions.php:1822
6062
  msgid "Hong Kong Dollar"
6063
  msgstr ""
6064
 
6065
+ #: wpuf-functions.php:1823
6066
  msgid "Croatia kuna"
6067
  msgstr ""
6068
 
6069
+ #: wpuf-functions.php:1824
6070
  msgid "Hungarian Forint"
6071
  msgstr ""
6072
 
6073
+ #: wpuf-functions.php:1825
6074
  msgid "Icelandic krona"
6075
  msgstr ""
6076
 
6077
+ #: wpuf-functions.php:1826
6078
  msgid "Indonesia Rupiah"
6079
  msgstr ""
6080
 
6081
+ #: wpuf-functions.php:1827
6082
  msgid "Indian Rupee"
6083
  msgstr ""
6084
 
6085
+ #: wpuf-functions.php:1828
6086
  msgid "Nepali Rupee"
6087
  msgstr ""
6088
 
6089
+ #: wpuf-functions.php:1829
6090
  msgid "Israeli Shekel"
6091
  msgstr ""
6092
 
6093
+ #: wpuf-functions.php:1830
6094
  msgid "Japanese Yen"
6095
  msgstr ""
6096
 
6097
+ #: wpuf-functions.php:1831
6098
  msgid "Lao Kip"
6099
  msgstr ""
6100
 
6101
+ #: wpuf-functions.php:1832
6102
  msgid "South Korean Won"
6103
  msgstr ""
6104
 
6105
+ #: wpuf-functions.php:1833
6106
  msgid "Malaysian Ringgits"
6107
  msgstr ""
6108
 
6109
+ #: wpuf-functions.php:1834
6110
  msgid "Mexican Peso"
6111
  msgstr ""
6112
 
6113
+ #: wpuf-functions.php:1835
6114
  msgid "Nigerian Naira"
6115
  msgstr ""
6116
 
6117
+ #: wpuf-functions.php:1836
6118
  msgid "Norwegian Krone"
6119
  msgstr ""
6120
 
6121
+ #: wpuf-functions.php:1837
6122
  msgid "New Zealand Dollar"
6123
  msgstr ""
6124
 
6125
+ #: wpuf-functions.php:1838
6126
  msgid "Omani Rial"
6127
  msgstr ""
6128
 
6129
+ #: wpuf-functions.php:1839
6130
  msgid "Iranian Rial"
6131
  msgstr ""
6132
 
6133
+ #: wpuf-functions.php:1840
6134
  msgid "Pakistani Rupee"
6135
  msgstr ""
6136
 
6137
+ #: wpuf-functions.php:1841
6138
  msgid "Paraguayan Guaraní"
6139
  msgstr ""
6140
 
6141
+ #: wpuf-functions.php:1842
6142
  msgid "Philippine Pesos"
6143
  msgstr ""
6144
 
6145
+ #: wpuf-functions.php:1843
6146
  msgid "Polish Zloty"
6147
  msgstr ""
6148
 
6149
+ #: wpuf-functions.php:1844
6150
  msgid "Pounds Sterling"
6151
  msgstr ""
6152
 
6153
+ #: wpuf-functions.php:1845
6154
  msgid "Romanian Leu"
6155
  msgstr ""
6156
 
6157
+ #: wpuf-functions.php:1846
6158
  msgid "Russian Ruble"
6159
  msgstr ""
6160
 
6161
+ #: wpuf-functions.php:1847
6162
  msgid "Saudi Riyal"
6163
  msgstr ""
6164
 
6165
+ #: wpuf-functions.php:1848
6166
  msgid "Singapore Dollar"
6167
  msgstr ""
6168
 
6169
+ #: wpuf-functions.php:1849
6170
  msgid "South African rand"
6171
  msgstr ""
6172
 
6173
+ #: wpuf-functions.php:1850
6174
  msgid "Swedish Krona"
6175
  msgstr ""
6176
 
6177
+ #: wpuf-functions.php:1851
6178
  msgid "Swiss Franc"
6179
  msgstr ""
6180
 
6181
+ #: wpuf-functions.php:1852
6182
  msgid "Taiwan New Dollars"
6183
  msgstr ""
6184
 
6185
+ #: wpuf-functions.php:1853
6186
  msgid "Thai Baht"
6187
  msgstr ""
6188
 
6189
+ #: wpuf-functions.php:1854
6190
  msgid "Turkish Lira"
6191
  msgstr ""
6192
 
6193
+ #: wpuf-functions.php:1855
6194
  msgid "US Dollar"
6195
  msgstr ""
6196
 
6197
+ #: wpuf-functions.php:1856
6198
  msgid "Vietnamese Dong"
6199
  msgstr ""
6200
 
6201
+ #: wpuf-functions.php:1857
6202
  msgid "Egyptian Pound"
6203
  msgstr ""
6204
 
6205
+ #: wpuf-functions.php:2686
6206
  msgid "None"
6207
  msgstr ""
6208
 
6329
  msgid "Searching&hellip;"
6330
  msgstr ""
6331
 
6332
+ #: wpuf-functions.php:1257
6333
  msgctxt "tag delimiter"
6334
  msgid ","
6335
  msgstr ""
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: tareq1988, sk.shaikat, rabbii, rafsuntaskin, itowhid06, wedevs
3
  Donate link: https://tareq.co/donate/
4
  Tags: Forms, registration, profile-builder, login, membership
5
  Requires at least: 4.0
6
- Tested up to: 5.1
7
  Requires PHP: 5.4
8
- Stable tag: 3.1.1
9
  License: GPLv2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -37,6 +37,10 @@ Users can upload attachments from the frontend. Users can also upload post featu
37
 
38
  Easily fill your form with fields using drag-n-drops and real-time preview that updates as you make changes. You can see how your form will look like eventually from the dashboard!
39
 
 
 
 
 
40
  <strong>Use anywhere easily with shortcodes</strong>
41
 
42
  All of the forms get an unique shortcode which you can paste on any page and the form will generate without breaking the style of your theme.
@@ -253,6 +257,16 @@ redirected to the edit page with that post id. Then you'll see the edit post for
253
 
254
  == Changelog ==
255
 
 
 
 
 
 
 
 
 
 
 
256
  = v3.1.1 (28 February, 2019) =
257
 
258
  * **Fix:** Help text in the Category field were not displaying on the frontend.
3
  Donate link: https://tareq.co/donate/
4
  Tags: Forms, registration, profile-builder, login, membership
5
  Requires at least: 4.0
6
+ Tested up to: 5.1.1
7
  Requires PHP: 5.4
8
+ Stable tag: 3.1.2
9
  License: GPLv2
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
37
 
38
  Easily fill your form with fields using drag-n-drops and real-time preview that updates as you make changes. You can see how your form will look like eventually from the dashboard!
39
 
40
+ <strong>Publish your WPUF forms using Gutenberg</strong>
41
+
42
+ Easily add your published forms in Gutenberg editor with the WPUF block. When users want to publish forms on a page, they can simply select it from the drop-down included in the dedicated WPUF block for Gutenberg. The entire form automatically renders within the editor as well as on page. It’s much easier than manually copying and pasting shortcodes! Saves you a ton of time and clicks. But you can also do it the old style using the shortcodes block.
43
+
44
  <strong>Use anywhere easily with shortcodes</strong>
45
 
46
  All of the forms get an unique shortcode which you can paste on any page and the form will generate without breaking the style of your theme.
257
 
258
  == Changelog ==
259
 
260
+ = v3.1.2 (01 April, 2019) =
261
+
262
+ * **Feature:** Added column field: Now, creating multi-column in a single row is super easy with WPUF Column field. Just drag the column field in the builder area, configure columns number, column space and add any fields you want inside that Column field.
263
+ * **Fix:** Unable to render the events on the front-end: On the frontend dashboard, the submitted events were not showing, you will get it fixed in this version.
264
+ * **Fix:** Page order getting 0(zero) after editing from the frontend: Page order was not saving while editing a post using WPUF form, it has been fixed.
265
+ * **Fix:** Text Input field for Taxonomies not working: When taxonomy field type is set to `Text Input` then a fatal error was showing on the frontend, no error with taxonomy field in the latest version
266
+ * **Fix:** In radio and checkbox field use conditional logic that value does not save in database: The selected value of radio and checkbox field were not showing while editing posts from the backend or frontend, you can see the selected value in this version.
267
+ * **Fix:** The args parameter not working with get_avatar filter: The args parameter did not exist with get_avatar filter, which now exists.
268
+ * **Fix:** The item in ajax taxonomy field is not selected: When the taxonomy field type is set to Ajax, the submitted terms were not showing in the backend and frontend which have been fixed.
269
+
270
  = v3.1.1 (28 February, 2019) =
271
 
272
  * **Fix:** Help text in the Category field were not displaying on the frontend.
wpuf-functions.php CHANGED
@@ -522,8 +522,7 @@ function wpuf_get_user_roles() {
522
  * @param string $alt
523
  * @return string image tag of the user avatar
524
  */
525
- function wpuf_get_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
526
-
527
  if ( is_numeric( $id_or_email ) ) {
528
  $user = get_user_by( 'id', $id_or_email );
529
  } elseif ( is_object( $id_or_email ) ) {
@@ -540,7 +539,7 @@ function wpuf_get_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
540
  return $avatar;
541
  }
542
 
543
- // see if there is a user_avatar meta field
544
  $user_avatar = get_user_meta( $user->ID, 'user_avatar', true );
545
  if ( empty( $user_avatar ) ) {
546
  return $avatar;
@@ -549,7 +548,7 @@ function wpuf_get_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
549
  return sprintf( '<img src="%1$s" alt="%2$s" height="%3$s" width="%3$s" class="avatar">', esc_url( $user_avatar ), $alt, $size );
550
  }
551
 
552
- add_filter( 'get_avatar', 'wpuf_get_avatar', 99, 5 );
553
 
554
  function wpuf_update_avatar( $user_id, $attachment_id ) {
555
 
@@ -658,6 +657,23 @@ function wpuf_show_custom_fields( $content ) {
658
 
659
  if ( $form_vars ) {
660
  foreach ($form_vars as $attr) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
661
  if ( isset( $attr['show_in_post'] ) && $attr['show_in_post'] == 'yes' ) {
662
  $meta[] = $attr;
663
  }
@@ -1443,7 +1459,8 @@ function wpuf_get_child_cats() {
1443
  $terms[$key] = (array)$term;
1444
  }
1445
  }
1446
- $result .= WPUF_Render_Form::init()->taxnomy_select( '', $field_attr );
 
1447
  } else {
1448
  die( '' );
1449
  }
@@ -1451,6 +1468,59 @@ function wpuf_get_child_cats() {
1451
  die( $result );
1452
  }
1453
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1454
  /**
1455
  * Returns form setting value
1456
  *
522
  * @param string $alt
523
  * @return string image tag of the user avatar
524
  */
525
+ function wpuf_get_avatar( $avatar, $id_or_email, $size, $default, $alt, $args ) {
 
526
  if ( is_numeric( $id_or_email ) ) {
527
  $user = get_user_by( 'id', $id_or_email );
528
  } elseif ( is_object( $id_or_email ) ) {
539
  return $avatar;
540
  }
541
 
542
+ // see if there is a user_avatar meta fields
543
  $user_avatar = get_user_meta( $user->ID, 'user_avatar', true );
544
  if ( empty( $user_avatar ) ) {
545
  return $avatar;
548
  return sprintf( '<img src="%1$s" alt="%2$s" height="%3$s" width="%3$s" class="avatar">', esc_url( $user_avatar ), $alt, $size );
549
  }
550
 
551
+ add_filter( 'get_avatar', 'wpuf_get_avatar', 99, 6);
552
 
553
  function wpuf_update_avatar( $user_id, $attachment_id ) {
554
 
657
 
658
  if ( $form_vars ) {
659
  foreach ($form_vars as $attr) {
660
+ // get column field input fields
661
+ if ( $attr['input_type'] == 'column_field' ) {
662
+ $inner_fields = $attr['inner_fields'];
663
+
664
+ foreach ($inner_fields as $column_key => $column_fields) {
665
+ if (!empty($column_fields)) {
666
+ // ignore section break and HTML input type
667
+ foreach ($column_fields as $column_field_key => $column_field) {
668
+ if ( isset( $column_field['show_in_post'] ) && $column_field['show_in_post'] == 'yes' ) {
669
+ $meta[] = $column_field;
670
+ }
671
+ }
672
+ }
673
+ }
674
+ continue;
675
+ }
676
+
677
  if ( isset( $attr['show_in_post'] ) && $attr['show_in_post'] == 'yes' ) {
678
  $meta[] = $attr;
679
  }
1459
  $terms[$key] = (array)$term;
1460
  }
1461
  }
1462
+ // $result .= WPUF_Render_Form::init()->taxnomy_select( '', $field_attr );
1463
+ $result .= taxnomy_select( '', $field_attr );
1464
  } else {
1465
  die( '' );
1466
  }
1468
  die( $result );
1469
  }
1470
 
1471
+
1472
+ function taxnomy_select( $terms, $attr ) {
1473
+
1474
+ $selected = $terms ? $terms : '';
1475
+ $required = sprintf( 'data-required="%s" data-type="select"', $attr['required'] );
1476
+ $taxonomy = $attr['name'];
1477
+ $class = ' wpuf_'.$attr['name'].'_'.$selected;
1478
+ $exclude_type = isset( $attr['exclude_type'] ) ? $attr['exclude_type'] : 'exclude';
1479
+ $exclude = isset( $attr['exclude'] ) ? $attr['exclude'] : '';
1480
+
1481
+ if ( $exclude_type == 'child_of' && !empty( $exclude ) ) {
1482
+ $exclude = $exclude[0];
1483
+ }
1484
+
1485
+ $tax_args = array(
1486
+ 'show_option_none' => __( '-- Select --', 'wp-user-frontend' ),
1487
+ 'hierarchical' => 1,
1488
+ 'hide_empty' => 0,
1489
+ 'orderby' => isset( $attr['orderby'] ) ? $attr['orderby'] : 'name',
1490
+ 'order' => isset( $attr['order'] ) ? $attr['order'] : 'ASC',
1491
+ 'name' => $taxonomy . '[]',
1492
+ 'taxonomy' => $taxonomy,
1493
+ 'echo' => 0,
1494
+ 'title_li' => '',
1495
+ 'class' => 'cat-ajax '. $taxonomy . $class,
1496
+ $exclude_type => $exclude,
1497
+ 'selected' => $selected,
1498
+ 'depth' => 1,
1499
+ 'child_of' => isset( $attr['parent_cat'] ) ? $attr['parent_cat'] : ''
1500
+ );
1501
+
1502
+ $tax_args = apply_filters( 'wpuf_taxonomy_checklist_args', $tax_args );
1503
+
1504
+ $select = wp_dropdown_categories( $tax_args );
1505
+
1506
+ echo str_replace( '<select', '<select ' . $required, $select );
1507
+ $attr = array(
1508
+ 'required' => $attr['required'],
1509
+ 'name' => $attr['name'],
1510
+ 'exclude_type' => $attr['exclude_type'],
1511
+ 'exclude' => isset( $attr['exclude'] ) ? $attr['exclude'] : '',
1512
+ 'orderby' => $attr['orderby'],
1513
+ 'order' => $attr['order'],
1514
+ 'name' => $attr['name'],
1515
+ //'last_term_id' => isset( $attr['parent_cat'] ) ? $attr['parent_cat'] : '',
1516
+ //'term_id' => $selected
1517
+ );
1518
+ $attr = apply_filters( 'wpuf_taxonomy_checklist_args', $attr );
1519
+ ?>
1520
+ <span data-taxonomy=<?php echo json_encode( $attr ); ?>></span>
1521
+ <?php
1522
+ }
1523
+
1524
  /**
1525
  * Returns form setting value
1526
  *
wpuf.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: WP User Frontend
4
  Plugin URI: https://wordpress.org/plugins/wp-user-frontend/
5
  Description: Create, edit, delete, manages your post, pages or custom post types from frontend. Create registration forms, frontend profile and more...
6
  Author: Tareq Hasan
7
- Version: 3.1.1
8
  Author URI: https://tareq.co
9
  License: GPL2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -12,7 +12,7 @@ Text Domain: wp-user-frontend
12
  Domain Path: /languages
13
  */
14
 
15
- define( 'WPUF_VERSION', '3.1.1' );
16
  define( 'WPUF_FILE', __FILE__ );
17
  define( 'WPUF_ROOT', dirname( __FILE__ ) );
18
  define( 'WPUF_ROOT_URI', plugins_url( '', __FILE__ ) );
4
  Plugin URI: https://wordpress.org/plugins/wp-user-frontend/
5
  Description: Create, edit, delete, manages your post, pages or custom post types from frontend. Create registration forms, frontend profile and more...
6
  Author: Tareq Hasan
7
+ Version: 3.1.2
8
  Author URI: https://tareq.co
9
  License: GPL2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
  Domain Path: /languages
13
  */
14
 
15
+ define( 'WPUF_VERSION', '3.1.2' );
16
  define( 'WPUF_FILE', __FILE__ );
17
  define( 'WPUF_ROOT', dirname( __FILE__ ) );
18
  define( 'WPUF_ROOT_URI', plugins_url( '', __FILE__ ) );