Form Maker by WD – user-friendly drag & drop Form Builder plugin - Version 1.13.3

Version Description

  • Added: Functionality to add placeholders in "Select options from database" Where selector.
  • Added: Functionality to use "Star rating" as a condition.
  • Fixed: Security issue.
  • Fixed: Link for attachment in email.
  • Fixed: Allow "0" value for required fields.
  • Fixed: Don't use the same title for the duplicated form.
  • Fixed: Adding field to incorrect position.
  • Fixed: Scroll to required address field.
  • Fixed: Broken multiple pages.
  • Fixed: MySQL mapping edit functionality.
  • Fixed: Multisite support for add-ons.
  • Fixed: Saving advanced layout.
  • Fixed: 0 value is not saved in submissions for Payment single choice and Shipping fields.
Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 Form Maker by WD – user-friendly drag & drop Form Builder plugin
Version 1.13.3
Comparing to
See all releases

Code changes from version 1.13.2 to 1.13.3

Files changed (88) hide show
  1. admin/controllers/Manage_fm.php +1 -0
  2. admin/controllers/Themes_fm.php +1 -0
  3. admin/controllers/Uninstall_fm.php +3 -3
  4. admin/views/FMSelectDataFromDb.php +1 -1
  5. admin/views/FMSqlMapping.php +4 -4
  6. admin/views/Manage_fm.php +11 -10
  7. admin/views/view.php +2 -2
  8. css/form_maker_frontend.css +22 -1
  9. css/tw-gb/block.css +20 -13
  10. form-maker.php +123 -73
  11. framework/WDW_FM_Library.php +222 -54
  12. frontend/controllers/form_maker.php +68 -1
  13. frontend/models/form_maker.php +47 -34
  14. frontend/models/verify_email.php +1 -1
  15. frontend/views/form_maker.php +66 -55
  16. js/add_field.js +8 -8
  17. js/form_maker_form_advanced_layout.js +9 -8
  18. js/form_maker_manage.js +3 -1
  19. js/form_maker_manage_edit.js +3 -3
  20. js/main_div_front_end.js +18 -13
  21. js/tw-gb/block.js +20 -5
  22. languages/form_maker-af.po +2 -2
  23. languages/form_maker-ar.po +2 -2
  24. languages/form_maker-be_BY.po +2 -2
  25. languages/form_maker-bg_BG.po +2 -2
  26. languages/form_maker-ca.po +2 -2
  27. languages/form_maker-cs_CZ.po +2 -2
  28. languages/form_maker-da_DK.po +2 -2
  29. languages/form_maker-de_DE.po +2 -2
  30. languages/form_maker-el.po +2 -2
  31. languages/form_maker-en_US.po +2 -2
  32. languages/form_maker-eo_EO.po +2 -2
  33. languages/form_maker-es_ES.po +2 -2
  34. languages/form_maker-et.po +2 -2
  35. languages/form_maker-fa_IR.po +2 -2
  36. languages/form_maker-fi.po +2 -2
  37. languages/form_maker-fr_FR.po +2 -2
  38. languages/form_maker-gl_ES.po +2 -2
  39. languages/form_maker-he_IL.po +2 -2
  40. languages/form_maker-hi_IN.po +2 -2
  41. languages/form_maker-hr.po +2 -2
  42. languages/form_maker-hu_HU.po +2 -2
  43. languages/form_maker-hy.po +2 -2
  44. languages/form_maker-id_ID.po +2 -2
  45. languages/form_maker-it_IT.po +4 -4
  46. languages/form_maker-ja.po +2 -2
  47. languages/form_maker-ka_GE.po +2 -2
  48. languages/form_maker-ko_KR.po +2 -2
  49. languages/form_maker-lt_LT.po +2 -2
  50. languages/form_maker-lv.po +2 -2
  51. languages/form_maker-mk_MK.po +2 -2
  52. languages/form_maker-ms_MY.po +2 -2
  53. languages/form_maker-mt_MT.po +2 -2
  54. languages/form_maker-nb_NO.po +2 -2
  55. languages/form_maker-nl_NL.po +2 -2
  56. languages/form_maker-pl_PL.po +2 -2
  57. languages/form_maker-pt_PT.po +2 -2
  58. languages/form_maker-ro_RO.po +2 -2
  59. languages/form_maker-ru_RU.po +2 -2
  60. languages/form_maker-sk_SK.po +2 -2
  61. languages/form_maker-sq.po +2 -2
  62. languages/form_maker-sr_RS.po +2 -2
  63. languages/form_maker-sv_SE.po +2 -2
  64. languages/form_maker-ta.po +2 -2
  65. languages/form_maker-th.po +2 -2
  66. languages/form_maker-tr_TR.po +2 -2
  67. languages/form_maker-uk_UA.po +2 -2
  68. languages/form_maker-vi.po +2 -2
  69. languages/form_maker-zh_CN.po +2 -2
  70. readme.txt +16 -1
  71. wd/assets/img/plugins/business_elite.png +0 -0
  72. wd/assets/img/plugins/business_world.png +0 -0
  73. wd/assets/img/plugins/event-calendar-wd.png +0 -0
  74. wd/assets/img/plugins/form-maker.png +0 -0
  75. wd/assets/img/plugins/photo-gallery.png +0 -0
  76. wd/assets/img/plugins/portfolio_gallery.png +0 -0
  77. wd/assets/img/plugins/sauron.png +0 -0
  78. wd/assets/img/plugins/slider-wd.png +0 -0
  79. wd/assets/img/plugins/spider-event-calendar.png +0 -0
  80. wd/assets/img/plugins/wd-google-maps.png +0 -0
  81. wd/assets/img/plugins/wd-instagram-feed.png +0 -0
  82. wd/assets/img/sub_1.png +0 -0
  83. wd/assets/img/sub_2.png +0 -0
  84. wd/assets/img/sub_4.png +0 -0
  85. wd/templates/display_overview_deals.php +0 -81
  86. wd/templates/display_overview_support.php +0 -59
  87. wd/templates/display_overview_user_guide.php +0 -46
  88. wd/templates/display_overview_welcome.php +0 -31
admin/controllers/Manage_fm.php CHANGED
@@ -287,6 +287,7 @@ class FMControllerManage_fm extends FMAdminController {
287
  if ( $row ) {
288
  $row = (array) $row;
289
  unset($row['id']);
 
290
  $inserted = $this->model->insert_data_to_db("formmaker", (array) $row);
291
  $new_id = (int) $this->model->get_max_row('formmaker', 'id');
292
 
287
  if ( $row ) {
288
  $row = (array) $row;
289
  unset($row['id']);
290
+ $row['title'] = $row['title'] . ' - ' . __('Copy', WDFMInstance(self::PLUGIN)->prefix);
291
  $inserted = $this->model->insert_data_to_db("formmaker", (array) $row);
292
  $new_id = (int) $this->model->get_max_row('formmaker', 'id');
293
 
admin/controllers/Themes_fm.php CHANGED
@@ -185,6 +185,7 @@ class FMControllerThemes_fm extends FMAdminController {
185
  if ( $row ) {
186
  $row = (array) $row;
187
  unset($row['id']);
 
188
  $row['default'] = 0;
189
  $inserted = $this->model->insert_data_to_db($table, (array) $row);
190
  if ( $inserted !== FALSE ) {
185
  if ( $row ) {
186
  $row = (array) $row;
187
  unset($row['id']);
188
+ $row['title'] = $row['title'] . ' - ' . __('Copy', WDFMInstance(self::PLUGIN)->prefix);
189
  $row['default'] = 0;
190
  $inserted = $this->model->insert_data_to_db($table, (array) $row);
191
  if ( $inserted !== FALSE ) {
admin/controllers/Uninstall_fm.php CHANGED
@@ -25,12 +25,12 @@ class FMControllerUninstall_fm extends FMAdminController {
25
  if ( WDFMInstance(self::PLUGIN)->is_free ) {
26
  global $fm_options;
27
  global $cfm_options;
28
- if ( !class_exists("DoradoWebConfig") ) {
29
  include_once(WDFMInstance(self::PLUGIN)->plugin_dir . "/wd/config.php");
30
  }
31
- $config = new DoradoWebConfig();
32
  $config->set_options(WDFMInstance(self::PLUGIN)->is_free == 1 ? $fm_options : $cfm_options);
33
- $deactivate_reasons = new DoradoWebDeactivate($config);
34
  $deactivate_reasons->submit_and_deactivate();
35
  }
36
  }
25
  if ( WDFMInstance(self::PLUGIN)->is_free ) {
26
  global $fm_options;
27
  global $cfm_options;
28
+ if ( !class_exists("TenWebLibConfig") ) {
29
  include_once(WDFMInstance(self::PLUGIN)->plugin_dir . "/wd/config.php");
30
  }
31
+ $config = new TenWebLibConfig();
32
  $config->set_options(WDFMInstance(self::PLUGIN)->is_free == 1 ? $fm_options : $cfm_options);
33
+ $deactivate_reasons = new TenWebLibDeactivate($config);
34
  $deactivate_reasons->submit_and_deactivate();
35
  }
36
  }
admin/views/FMSelectDataFromDb.php CHANGED
@@ -235,7 +235,7 @@ class FMViewSelect_data_from_db extends FMAdminView {
235
  }
236
  $cond .= '</select>';
237
  $cond .= '<select id="op_condid" style="width: 110px"><option value="=" selected="selected">=</option><option value="!=">!=</option><option value=">">&gt;</option><option value="<">&lt;</option><option value=">=">&gt;=</option><option value="<=">&lt;=</option><option value="%..%">Like</option><option value="..%">Starts with</option><option value="%..">Ends with</option></select>';
238
- $cond .= '<input id="val_condid" type="text" class="fm-where-input" />';
239
  $cond .= '<select id="andor_condid" style="visibility: hidden; width:70px;"><option value="AND">AND</option><option value="OR">OR</option></select><img src="' . WDFMInstance(self::PLUGIN)->plugin_url . '/images/delete.png?ver=' . WDFMInstance(self::PLUGIN)->plugin_version . '" onclick="delete_cond(&quot;condid&quot;)" style="vertical-align: middle;"></div>';
240
  ?>
241
  <script>
235
  }
236
  $cond .= '</select>';
237
  $cond .= '<select id="op_condid" style="width: 110px"><option value="=" selected="selected">=</option><option value="!=">!=</option><option value=">">&gt;</option><option value="<">&lt;</option><option value=">=">&gt;=</option><option value="<=">&lt;=</option><option value="%..%">Like</option><option value="..%">Starts with</option><option value="%..">Ends with</option></select>';
238
+ $cond .= '<input autocomplete="off" id="val_condid" type="text" class="fm-where-input" />';
239
  $cond .= '<select id="andor_condid" style="visibility: hidden; width:70px;"><option value="AND">AND</option><option value="OR">OR</option></select><img src="' . WDFMInstance(self::PLUGIN)->plugin_url . '/images/delete.png?ver=' . WDFMInstance(self::PLUGIN)->plugin_version . '" onclick="delete_cond(&quot;condid&quot;)" style="vertical-align: middle;"></div>';
240
  ?>
241
  <script>
admin/views/FMSqlMapping.php CHANGED
@@ -92,7 +92,7 @@ class FMViewFormMakerSQLMapping extends FMAdminView {
92
  }
93
  $cond .= '</select>';
94
  $cond .= '<select id="op_condid"><option value="=" selected="selected">=</option><option value="!=">!=</option><option value=">">&gt;</option><option value="<">&lt;</option><option value=">=">&gt;=</option><option value="<=">&lt;=</option><option value="%..%">Like</option><option value="..%">Starts with</option><option value="%..">Ends with</option></select>';
95
- $cond .= '<input id="val_condid" style="width:170px" type="text" class="fm-where-input" />';
96
  $cond .= '<select id="andor_condid" style="visibility: hidden;"><option value="AND">AND</option><option value="OR">OR</option></select>';
97
  $cond .= '<img src="' . WDFMInstance(self::PLUGIN)->plugin_url . '/images/delete.png?ver=' . WDFMInstance(self::PLUGIN)->plugin_version . '" onclick="delete_cond(&quot;condid&quot;)" style="vertical-align: middle;"></div>';
98
  ?>
@@ -850,7 +850,7 @@ class FMViewFormMakerSQLMapping extends FMAdminView {
850
  <?php echo $title; ?>
851
  </div>
852
  </label>
853
- <input type="text" id="<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" <?php if ( !$col_checks[$key] )
854
  echo 'disabled="disabled"' ?> value="<?php echo $col_vals[$key]; ?>" />
855
  <input id="ch_<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" type="checkbox" onClick="dis('<?php echo str_replace("'", "SingleQuot", $col->Field); ?>', this.checked)" <?php if ( $col_checks[$key] )
856
  echo 'checked="checked"' ?> />
@@ -1282,7 +1282,7 @@ class FMViewFormMakerSQLMapping extends FMAdminView {
1282
  }
1283
  $cond .= '</select>';
1284
  $cond .= '<select id="op_condid"><option value="=" selected="selected">=</option><option value="!=">!=</option><option value=">">&gt;</option><option value="<">&lt;</option><option value=">=">&gt;=</option><option value="<=">&lt;=</option><option value="%..%">Like</option><option value="..%">Starts with</option><option value="%..">Ends with</option></select>';
1285
- $cond .= '<input id="val_condid" style="width:170px" class="fm-where-input" type="text" />';
1286
  $cond .= '<select id="andor_condid" style="visibility: hidden;"><option value="AND">AND</option><option value="OR">OR</option></select>';
1287
  $cond .= '<img src="' . WDFMInstance(self::PLUGIN)->plugin_url . '/images/delete.png?ver=' . WDFMInstance(self::PLUGIN)->plugin_version . '" onclick="delete_cond(&quot;condid&quot;)" style="vertical-align: middle;"></div>';
1288
  ?>
@@ -1830,7 +1830,7 @@ class FMViewFormMakerSQLMapping extends FMAdminView {
1830
  <?php echo $title; ?>
1831
  </div>
1832
  </label>
1833
- <input type="text" id="<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" disabled="disabled" /><input id="ch_<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" type="checkbox" onClick="dis('<?php echo str_replace("'", "SingleQuot", $col->Field); ?>', this.checked)" />
1834
  </div>
1835
  <?php
1836
  }
92
  }
93
  $cond .= '</select>';
94
  $cond .= '<select id="op_condid"><option value="=" selected="selected">=</option><option value="!=">!=</option><option value=">">&gt;</option><option value="<">&lt;</option><option value=">=">&gt;=</option><option value="<=">&lt;=</option><option value="%..%">Like</option><option value="..%">Starts with</option><option value="%..">Ends with</option></select>';
95
+ $cond .= '<input autocomplete="off" id="val_condid" style="width:170px" type="text" class="fm-where-input" />';
96
  $cond .= '<select id="andor_condid" style="visibility: hidden;"><option value="AND">AND</option><option value="OR">OR</option></select>';
97
  $cond .= '<img src="' . WDFMInstance(self::PLUGIN)->plugin_url . '/images/delete.png?ver=' . WDFMInstance(self::PLUGIN)->plugin_version . '" onclick="delete_cond(&quot;condid&quot;)" style="vertical-align: middle;"></div>';
98
  ?>
850
  <?php echo $title; ?>
851
  </div>
852
  </label>
853
+ <input autocomplete="off" type="text" id="<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" <?php if ( !$col_checks[$key] )
854
  echo 'disabled="disabled"' ?> value="<?php echo $col_vals[$key]; ?>" />
855
  <input id="ch_<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" type="checkbox" onClick="dis('<?php echo str_replace("'", "SingleQuot", $col->Field); ?>', this.checked)" <?php if ( $col_checks[$key] )
856
  echo 'checked="checked"' ?> />
1282
  }
1283
  $cond .= '</select>';
1284
  $cond .= '<select id="op_condid"><option value="=" selected="selected">=</option><option value="!=">!=</option><option value=">">&gt;</option><option value="<">&lt;</option><option value=">=">&gt;=</option><option value="<=">&lt;=</option><option value="%..%">Like</option><option value="..%">Starts with</option><option value="%..">Ends with</option></select>';
1285
+ $cond .= '<input autocomplete="off" id="val_condid" style="width:170px" class="fm-where-input" type="text" />';
1286
  $cond .= '<select id="andor_condid" style="visibility: hidden;"><option value="AND">AND</option><option value="OR">OR</option></select>';
1287
  $cond .= '<img src="' . WDFMInstance(self::PLUGIN)->plugin_url . '/images/delete.png?ver=' . WDFMInstance(self::PLUGIN)->plugin_version . '" onclick="delete_cond(&quot;condid&quot;)" style="vertical-align: middle;"></div>';
1288
  ?>
1830
  <?php echo $title; ?>
1831
  </div>
1832
  </label>
1833
+ <input autocomplete="off" type="text" id="<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" disabled="disabled" /><input id="ch_<?php echo str_replace("'", "SingleQuot", $col->Field); ?>" type="checkbox" onClick="dis('<?php echo str_replace("'", "SingleQuot", $col->Field); ?>', this.checked)" />
1834
  </div>
1835
  <?php
1836
  }
admin/views/Manage_fm.php CHANGED
@@ -391,7 +391,7 @@ class FMViewManage_fm extends FMAdminView {
391
  <?php
392
  }
393
  ?>
394
- <button class="button button-primary button-large" onclick="if (fm_check_required('title', '<?php _e('Form Title', WDFMInstance(self::PLUGIN)->prefix); ?>') || !wd_fm_apply_options() || !FormManageSubmitButton()) { return false;}; fm_set_input_value('task', 'apply');">
395
  <?php
396
  if ( $row->title && isset($params['revisions_total']) && !$params['revisions_status'] ) {
397
  _e('Update', WDFMInstance(self::PLUGIN)->prefix);
@@ -745,7 +745,7 @@ class FMViewManage_fm extends FMAdminView {
745
  <div class="wd-box-content">
746
  <div class="wd-group wd-has-placeholder">
747
  <label class="wd-label" for="mail"><?php _e('Email to send submissions to', WDFMInstance(self::PLUGIN)->prefix); ?></label>
748
- <input class="fm-validate" data-type="email" data-callback="fm_validate_email" data-callback-parameter="" data-tab-id="emailTab" data-content-id="emailTab_fieldset" type="text" id="mail" name="mail" value="<?php echo $row->mail; ?>" />
749
  <span class="dashicons dashicons-list-view" data-id="mail"></span>
750
  <p class="description"><?php _e('Specify the email address(es), to which submitted form information will be sent. For multiple email addresses separate with commas.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
751
  </div>
@@ -784,13 +784,13 @@ class FMViewManage_fm extends FMAdminView {
784
  </div>
785
  <div class="wd-group wd-has-placeholder">
786
  <label class="wd-label" for="from_name"><?php _e('From Name', WDFMInstance(self::PLUGIN)->prefix); ?></label>
787
- <input type="text" name="from_name" value="<?php echo $row->from_name; ?>" id="from_name" />
788
  <span class="dashicons dashicons-list-view" data-id="from_name"></span>
789
  <p class="description"><?php _e('Set the name or search for a form field which is shown as the sender’s name in submission or confirmation emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
790
  </div>
791
  <div class="wd-group wd-has-placeholder">
792
  <label class="wd-label" for="mail_subject"><?php _e('Subject', WDFMInstance(self::PLUGIN)->prefix); ?></label>
793
- <input type="text" id="mail_subject" name="mail_subject" value="<?php echo !empty($row->mail_subject) ? $row->mail_subject : '{formtitle}'; ?>" />
794
  <span class="dashicons dashicons-list-view" data-id="mail_subject"></span>
795
  <p class="description"><?php _e('Add a custom subject or search for a form field for the submission email. In case it’s left blank, Form Title will be set as the subject of submission emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
796
  </div>
@@ -929,13 +929,13 @@ class FMViewManage_fm extends FMAdminView {
929
  </div>
930
  <div class="wd-group wd-has-placeholder">
931
  <label class="wd-label" for="mail_from_name_user"><?php _e('From Name', WDFMInstance(self::PLUGIN)->prefix); ?></label>
932
- <input type="text" name="mail_from_name_user" value="<?php echo $row->mail_from_name_user; ?>" id="mail_from_name_user" />
933
  <span class="dashicons dashicons-list-view" data-id="mail_from_name_user"></span>
934
  <p class="description"><?php _e('Set the name or search for a form field which is shown as the sender’s name in submission or confirmation emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
935
  </div>
936
  <div class="wd-group wd-has-placeholder">
937
  <label class="wd-label" for="mail_subject_user"><?php _e('Subject', WDFMInstance(self::PLUGIN)->prefix); ?></label>
938
- <input type="text" name="mail_subject_user" value="<?php echo !empty($row->mail_subject_user) ? $row->mail_subject_user : '{formtitle}' ?>" id="mail_subject_user" class="mail_subject_user" />
939
  <span class="dashicons dashicons-list-view" data-id="mail_subject_user"></span>
940
  <p class="description"><?php _e('Add a custom subject or search for a form field for the submission email. In case it’s left blank, Form Title will be set as the subject of submission emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
941
  </div>
@@ -955,7 +955,7 @@ class FMViewManage_fm extends FMAdminView {
955
  }
956
  else {
957
  ?>
958
- <textarea name="script_mail_user" id="script_mail_user" cols="20" rows="10" style="width:300px; height:450px;"><?php echo $row->script_mail_user; ?></textarea>
959
  <?php
960
  }
961
  ?>
@@ -1007,7 +1007,7 @@ class FMViewManage_fm extends FMAdminView {
1007
  <label class="wd-label-radio" for="fm_mo_mail_verify-1"><?php _e('Yes', WDFMInstance(self::PLUGIN)->prefix); ?></label>
1008
  <input type="radio" name="mail_verify" <?php echo $row->mail_verify == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_verify-0" onclick="wdhide('expire_link')" class="wd-radio" value="0">
1009
  <label class="wd-label-radio" for="fm_mo_mail_verify-0"><?php _e('No', WDFMInstance(self::PLUGIN)->prefix); ?></label>
1010
- <p class="description"><?php _e('Activate this option, in case you would like the users to verify their email addresses. If it’s enabled, the user email will contain a verification link.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
1011
  </div>
1012
  <div class="wd-group" <?php echo($row->mail_verify == 0 ? 'style="display:none;"' : '') ?> id="expire_link">
1013
  <label class="wd-label" for="mail_verify_expiretime"><?php _e('Verification link expires in', WDFMInstance(self::PLUGIN)->prefix); ?></label>
@@ -1016,7 +1016,7 @@ class FMViewManage_fm extends FMAdminView {
1016
  <a target="_blank" href="<?php echo add_query_arg(array(
1017
  'post' => $params["mail_ver_id"],
1018
  'action' => 'edit',
1019
- ), admin_url('post.php')); ?>"><?php _e('Edit post', WDFMInstance(self::PLUGIN)->prefix); ?></a>
1020
  <p class="description"><?php _e('Use this option to specify a time period (hours), during which the user will be able to verify their email address.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
1021
  </div>
1022
  </div>
@@ -1458,7 +1458,7 @@ class FMViewManage_fm extends FMAdminView {
1458
  }
1459
  else {
1460
  ?>
1461
- <textarea cols="36" rows="5" id="submit_text" name="submit_text" style="resize: vertical; width:100%">
1462
  <?php echo $row->submit_text; ?>
1463
  </textarea>
1464
  <?php
@@ -1595,6 +1595,7 @@ class FMViewManage_fm extends FMAdminView {
1595
  "type_password",
1596
  "type_textarea",
1597
  "type_name",
 
1598
  "type_number",
1599
  "type_phone",
1600
  "type_phone_new",
391
  <?php
392
  }
393
  ?>
394
+ <button class="button button-primary button-large" onclick="if (fm_check_required('title', '<?php _e('Form Title', WDFMInstance(self::PLUGIN)->prefix); ?>') || !wd_fm_apply_options() || !fm_apply_advanced_layout() || !FormManageSubmitButton()) { return false;}; fm_set_input_value('task', 'apply');">
395
  <?php
396
  if ( $row->title && isset($params['revisions_total']) && !$params['revisions_status'] ) {
397
  _e('Update', WDFMInstance(self::PLUGIN)->prefix);
745
  <div class="wd-box-content">
746
  <div class="wd-group wd-has-placeholder">
747
  <label class="wd-label" for="mail"><?php _e('Email to send submissions to', WDFMInstance(self::PLUGIN)->prefix); ?></label>
748
+ <input autocomplete="off" class="fm-validate" data-type="email" data-callback="fm_validate_email" data-callback-parameter="" data-tab-id="emailTab" data-content-id="emailTab_fieldset" type="text" id="mail" name="mail" value="<?php echo $row->mail; ?>" />
749
  <span class="dashicons dashicons-list-view" data-id="mail"></span>
750
  <p class="description"><?php _e('Specify the email address(es), to which submitted form information will be sent. For multiple email addresses separate with commas.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
751
  </div>
784
  </div>
785
  <div class="wd-group wd-has-placeholder">
786
  <label class="wd-label" for="from_name"><?php _e('From Name', WDFMInstance(self::PLUGIN)->prefix); ?></label>
787
+ <input autocomplete="off" type="text" name="from_name" value="<?php echo $row->from_name; ?>" id="from_name" />
788
  <span class="dashicons dashicons-list-view" data-id="from_name"></span>
789
  <p class="description"><?php _e('Set the name or search for a form field which is shown as the sender’s name in submission or confirmation emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
790
  </div>
791
  <div class="wd-group wd-has-placeholder">
792
  <label class="wd-label" for="mail_subject"><?php _e('Subject', WDFMInstance(self::PLUGIN)->prefix); ?></label>
793
+ <input autocomplete="off" type="text" id="mail_subject" name="mail_subject" value="<?php echo !empty($row->mail_subject) ? $row->mail_subject : '{formtitle}'; ?>" />
794
  <span class="dashicons dashicons-list-view" data-id="mail_subject"></span>
795
  <p class="description"><?php _e('Add a custom subject or search for a form field for the submission email. In case it’s left blank, Form Title will be set as the subject of submission emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
796
  </div>
929
  </div>
930
  <div class="wd-group wd-has-placeholder">
931
  <label class="wd-label" for="mail_from_name_user"><?php _e('From Name', WDFMInstance(self::PLUGIN)->prefix); ?></label>
932
+ <input autocomplete="off" type="text" name="mail_from_name_user" value="<?php echo $row->mail_from_name_user; ?>" id="mail_from_name_user" />
933
  <span class="dashicons dashicons-list-view" data-id="mail_from_name_user"></span>
934
  <p class="description"><?php _e('Set the name or search for a form field which is shown as the sender’s name in submission or confirmation emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
935
  </div>
936
  <div class="wd-group wd-has-placeholder">
937
  <label class="wd-label" for="mail_subject_user"><?php _e('Subject', WDFMInstance(self::PLUGIN)->prefix); ?></label>
938
+ <input autocomplete="off" type="text" name="mail_subject_user" value="<?php echo !empty($row->mail_subject_user) ? $row->mail_subject_user : '{formtitle}' ?>" id="mail_subject_user" class="mail_subject_user" />
939
  <span class="dashicons dashicons-list-view" data-id="mail_subject_user"></span>
940
  <p class="description"><?php _e('Add a custom subject or search for a form field for the submission email. In case it’s left blank, Form Title will be set as the subject of submission emails.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
941
  </div>
955
  }
956
  else {
957
  ?>
958
+ <textarea autocomplete="off" name="script_mail_user" id="script_mail_user" cols="20" rows="10" style="width:300px; height:450px;"><?php echo $row->script_mail_user; ?></textarea>
959
  <?php
960
  }
961
  ?>
1007
  <label class="wd-label-radio" for="fm_mo_mail_verify-1"><?php _e('Yes', WDFMInstance(self::PLUGIN)->prefix); ?></label>
1008
  <input type="radio" name="mail_verify" <?php echo $row->mail_verify == 0 ? 'checked="checked"' : '' ?> id="fm_mo_mail_verify-0" onclick="wdhide('expire_link')" class="wd-radio" value="0">
1009
  <label class="wd-label-radio" for="fm_mo_mail_verify-0"><?php _e('No', WDFMInstance(self::PLUGIN)->prefix); ?></label>
1010
+ <p class="description"><?php _e('Activate this option, in case you would like the users to verify their email addresses. After enabling, please add {verificationlink} into the content of Custom Text in Email to User option.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
1011
  </div>
1012
  <div class="wd-group" <?php echo($row->mail_verify == 0 ? 'style="display:none;"' : '') ?> id="expire_link">
1013
  <label class="wd-label" for="mail_verify_expiretime"><?php _e('Verification link expires in', WDFMInstance(self::PLUGIN)->prefix); ?></label>
1016
  <a target="_blank" href="<?php echo add_query_arg(array(
1017
  'post' => $params["mail_ver_id"],
1018
  'action' => 'edit',
1019
+ ), admin_url('post.php')); ?>"><?php _e('Edit post', WDFMInstance(self::PLUGIN)->prefix); ?></a>
1020
  <p class="description"><?php _e('Use this option to specify a time period (hours), during which the user will be able to verify their email address.', WDFMInstance(self::PLUGIN)->prefix); ?></p>
1021
  </div>
1022
  </div>
1458
  }
1459
  else {
1460
  ?>
1461
+ <textarea autocomplete="off" cols="36" rows="5" id="submit_text" name="submit_text" style="resize: vertical; width:100%">
1462
  <?php echo $row->submit_text; ?>
1463
  </textarea>
1464
  <?php
1595
  "type_password",
1596
  "type_textarea",
1597
  "type_name",
1598
+ "type_star_rating",
1599
  "type_number",
1600
  "type_phone",
1601
  "type_phone_new",
admin/views/view.php CHANGED
@@ -432,12 +432,12 @@ class FMAdminView {
432
  ),
433
  'addons' => array(
434
  'href' => 'https://10web.io/plugins/wordpress-form-maker/#plugin_extensions',
435
- 'target' => '_blanck',
436
  'name' => __('Extensions', WDFMInstance(self::PLUGIN)->prefix)
437
  ),
438
  'pricing' => array(
439
  'href' => 'https://10web.io/plugins/wordpress-form-maker/?utm_source=form_maker&utm_medium=free_plugin',
440
- 'target' => '_blanck',
441
  'name' => __('Premium Version', WDFMInstance(self::PLUGIN)->prefix) .' <span class="fm-upgrade">' . __('Upgrade', WDFMInstance(self::PLUGIN)->prefix) . '</span>'
442
  ),
443
  );
432
  ),
433
  'addons' => array(
434
  'href' => 'https://10web.io/plugins/wordpress-form-maker/#plugin_extensions',
435
+ 'target' => '_blank',
436
  'name' => __('Extensions', WDFMInstance(self::PLUGIN)->prefix)
437
  ),
438
  'pricing' => array(
439
  'href' => 'https://10web.io/plugins/wordpress-form-maker/?utm_source=form_maker&utm_medium=free_plugin',
440
+ 'target' => '_blank',
441
  'name' => __('Premium Version', WDFMInstance(self::PLUGIN)->prefix) .' <span class="fm-upgrade">' . __('Upgrade', WDFMInstance(self::PLUGIN)->prefix) . '</span>'
442
  ),
443
  );
css/form_maker_frontend.css CHANGED
@@ -32,7 +32,6 @@
32
 
33
  div[type="type_submit_reset"],
34
  div[type="type_button"] {
35
- height: 100%;
36
  justify-content: flex-end;
37
  }
38
 
@@ -557,6 +556,9 @@ div[type="type_file_upload"] .wdform-element-section {
557
  .fm-popover-content {
558
  width: 95% !important;
559
  }
 
 
 
560
  }
561
 
562
  @media screen and (max-width: 480px){
@@ -826,6 +828,9 @@ input[type=number].wd-type-number {
826
  display: block;
827
  background: transparent;
828
  border: none !important;
 
 
 
829
  }
830
  .fm-form-container .fm-form .image_left_right.fm-header {
831
  padding: 0 !important;
@@ -1049,6 +1054,9 @@ div[type="type_slider"] .label {
1049
  display: initial !important;
1050
  margin-right: 5px;
1051
  }
 
 
 
1052
 
1053
  .fm-form-builder .wdform_page {
1054
  display: flex;
@@ -1100,6 +1108,19 @@ div[type="type_slider"] .label {
1100
  }
1101
  }
1102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1103
  .fm-col-1 {
1104
  flex: 0 1 100% !important;;
1105
  width: 100% !important;;
32
 
33
  div[type="type_submit_reset"],
34
  div[type="type_button"] {
 
35
  justify-content: flex-end;
36
  }
37
 
556
  .fm-popover-content {
557
  width: 95% !important;
558
  }
559
+ .fm-form-container .fm-scrollbox {
560
+ width: 97% !important;
561
+ }
562
  }
563
 
564
  @media screen and (max-width: 480px){
828
  display: block;
829
  background: transparent;
830
  border: none !important;
831
+ -webkit-box-sizing: border-box;
832
+ -moz-box-sizing: border-box;
833
+ box-sizing: border-box;
834
  }
835
  .fm-form-container .fm-form .image_left_right.fm-header {
836
  padding: 0 !important;
1054
  display: initial !important;
1055
  margin-right: 5px;
1056
  }
1057
+ .fm-form .wdform_row {
1058
+ position: relative;
1059
+ }
1060
 
1061
  .fm-form-builder .wdform_page {
1062
  display: flex;
1108
  }
1109
  }
1110
 
1111
+ .fm-loading {
1112
+ width: 100%;
1113
+ height: 100%;
1114
+ top: 0;
1115
+ left: 0;
1116
+ position: absolute;
1117
+ background-color: rgba(0, 0, 0, 0.25);
1118
+ background-image: url(../images/spinner.gif);
1119
+ background-position: center;
1120
+ background-repeat: no-repeat;
1121
+ background-size: 10%;
1122
+ z-index: 100100;
1123
+ }
1124
  .fm-col-1 {
1125
  flex: 0 1 100% !important;;
1126
  width: 100% !important;;
css/tw-gb/block.css CHANGED
@@ -1,15 +1,15 @@
1
  /**
2
  * 10Web plugins Gutenberg integration
3
- * version 2.0.0
4
  */
5
  .tw-container {
6
- position: fixed;
7
- top: 0;
8
- left: 0;
9
- right: 0;
10
- bottom: 0;
11
- z-index: 9999999;
12
- background: rgba(0,0,0,0.7);
13
  }
14
 
15
  .tw-container .tw-container-wrap {
@@ -22,6 +22,12 @@
22
  margin: auto;
23
  right: 0;
24
  left: 0;
 
 
 
 
 
 
25
  }
26
 
27
  .tw-container .tw-container-wrap-520-400 {
@@ -35,14 +41,15 @@
35
  }
36
 
37
  .tw-container .tw-container-wrap .media-modal-close{
38
- line-height: 34px;
39
- text-align: center;
40
- height: 40px;
 
41
  }
42
 
43
  .tw-container .tw-container-wrap iframe {
44
- height: 100%;
45
- width: 100%;
46
  }
47
  .tw-gb-select {
48
  width: 100%;
1
  /**
2
  * 10Web plugins Gutenberg integration
3
+ * version 2.0.3
4
  */
5
  .tw-container {
6
+ position: fixed;
7
+ top: 0;
8
+ left: 0;
9
+ right: 0;
10
+ bottom: 0;
11
+ z-index: 9999999;
12
+ background: rgba(0,0,0,0.7);
13
  }
14
 
15
  .tw-container .tw-container-wrap {
22
  margin: auto;
23
  right: 0;
24
  left: 0;
25
+ padding-top: 40px;
26
+ }
27
+
28
+ .tw-container .tw-container-wrap-800-540 {
29
+ max-width: 800px;
30
+ max-height: 540px;
31
  }
32
 
33
  .tw-container .tw-container-wrap-520-400 {
41
  }
42
 
43
  .tw-container .tw-container-wrap .media-modal-close{
44
+ line-height: 34px;
45
+ text-align: center;
46
+ height: 40px;
47
+ top: 10px;
48
  }
49
 
50
  .tw-container .tw-container-wrap iframe {
51
+ height: 100%;
52
+ width: 100%;
53
  }
54
  .tw-gb-select {
55
  width: 100%;
form-maker.php CHANGED
@@ -3,9 +3,9 @@
3
  * Plugin Name: Form Maker
4
  * Plugin URI: https://10web.io/plugins/wordpress-form-maker/
5
  * Description: This plugin is a modern and advanced tool for easy and fast creating of a WordPress Form. The backend interface is intuitive and user friendly which allows users far from scripting and programming to create WordPress Forms.
6
- * Version: 1.13.2
7
- * Author: Form Builder Team
8
- * Author URI: https://10web.io/pricing/
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
10
  */
11
 
@@ -91,12 +91,12 @@ final class WDFM {
91
  * Define Constants.
92
  */
93
  private function define_constants() {
94
- $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
95
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
96
  $this->front_urls = $this->get_front_urls();
97
  $this->main_file = plugin_basename(__FILE__);
98
- $this->plugin_version = '1.13.2';
99
- $this->db_version = '2.13.2';
100
  $this->menu_postfix = ($this->is_free == 2 ? '_fmc' : '_fm');
101
  $this->plugin_postfix = ($this->is_free == 2 ? '_fmc' : '');
102
  $this->menu_slug = 'manage' . $this->menu_postfix;
@@ -154,6 +154,8 @@ final class WDFM {
154
  add_action('wp_ajax_frontend_generate_xml', array($this, 'form_maker_ajax_frontend')); //generate xml frontend
155
  add_action('wp_ajax_nopriv_frontend_generate_xml', array($this, 'form_maker_ajax_frontend')); //generate xml frontend
156
  }
 
 
157
 
158
  // Add media button to WP editor.
159
  add_action('wp_ajax_FMShortocde' . $this->plugin_postfix, array($this, 'form_maker_ajax'));
@@ -184,8 +186,10 @@ final class WDFM {
184
  add_action('widgets_init', array($this, 'register_widgets'));
185
  }
186
 
187
- // Form maker activation.
188
- register_activation_hook(__FILE__, array($this, 'form_maker_on_activate'));
 
 
189
  if ( (!isset($_GET['action']) || $_GET['action'] != 'deactivate')
190
  && (!isset($_GET['page']) || $_GET['page'] != 'uninstall' . $this->menu_postfix) ) {
191
  add_action('admin_init', array($this, 'form_maker_activate'));
@@ -209,6 +213,7 @@ final class WDFM {
209
 
210
  // Enqueue block editor assets for Gutenberg.
211
  add_filter('tw_get_block_editor_assets', array($this, 'register_block_editor_assets'));
 
212
  add_action( 'enqueue_block_editor_assets', array($this, 'enqueue_block_editor_assets') );
213
 
214
  // Privacy policy.
@@ -284,7 +289,7 @@ final class WDFM {
284
  }
285
 
286
  public function register_block_editor_assets($assets) {
287
- $version = '2.0.0';
288
  $js_path = $this->plugin_url . '/js/tw-gb/block.js';
289
  $css_path = $this->plugin_url . '/css/tw-gb/block.css';
290
  if (!isset($assets['version']) || version_compare($assets['version'], $version) === -1) {
@@ -295,7 +300,7 @@ final class WDFM {
295
  return $assets;
296
  }
297
 
298
- public function enqueue_block_editor_assets() {
299
  if ($this->is_free == 2) {
300
  $key = 'tw/contact-form-maker';
301
  $key_submissions = 'tw/cfm-submissions';
@@ -310,44 +315,27 @@ final class WDFM {
310
  $icon_svg = $this->plugin_url . '/images/tw-gb/icon.svg';
311
  $url = add_query_arg(array('action' => 'FMShortocde' . $this->plugin_postfix, 'task' => 'submissions'), admin_url('admin-ajax.php'));
312
  $data = WDW_FM_Library(self::PLUGIN)->get_shortcode_data();
313
- ?>
314
- <script>
315
- if ( !window['tw_gb'] ) {
316
- window['tw_gb'] = {};
317
- }
318
- if ( !window['tw_gb']['<?php echo $key; ?>'] ) {
319
- window['tw_gb']['<?php echo $key; ?>'] = {
320
- title: '<?php echo $plugin_name; ?>',
321
- titleSelect: '<?php echo sprintf(__('Select %s', $this->prefix), $plugin_name); ?>',
322
- iconUrl: '<?php echo $icon_url; ?>',
323
- iconSvg: {
324
- width: '20',
325
- height: '20',
326
- src: '<?php echo $icon_svg; ?>'
327
- },
328
- isPopup: false,
329
- data: '<?php echo $data; ?>'
330
- }
331
- }
332
- if ( !window['tw_gb']['<?php echo $key_submissions; ?>'] ) {
333
- window['tw_gb']['<?php echo $key_submissions; ?>'] = {
334
- title: '<?php echo $plugin_name_submissions; ?>',
335
- titleSelect: '<?php echo sprintf(__('Select %s', $this->prefix), $plugin_name); ?>',
336
- iconUrl: '<?php echo $icon_url; ?>',
337
- iconSvg: {
338
- width: '20',
339
- height: '20',
340
- src: '<?php echo $icon_svg; ?>'
341
- },
342
- isPopup: true,
343
- containerClass: 'tw-container-wrap-520-400',
344
- data: {
345
- shortcodeUrl: '<?php echo $url; ?>'
346
- }
347
- }
348
- }
349
- </script>
350
- <?php
351
  // Remove previously registered or enqueued versions
352
  $wp_scripts = wp_scripts();
353
  foreach ($wp_scripts->registered as $key => $value) {
@@ -357,13 +345,16 @@ final class WDFM {
357
  wp_deregister_style( $key );
358
  }
359
  }
 
 
360
  // Get the last version from all 10Web plugins.
361
  $assets = apply_filters('tw_get_block_editor_assets', array());
362
  // Not performing unregister or unenqueue as in old versions all are with prefixes.
363
  wp_enqueue_script('tw-gb-block', $assets['js_path'], array( 'wp-blocks', 'wp-element' ), $assets['version']);
364
- wp_localize_script('tw-gb-block', 'tw_obj', array(
365
  'nothing_selected' => __('Nothing selected.', $this->prefix),
366
  'empty_item' => __('- Select -', $this->prefix),
 
367
  ));
368
  wp_enqueue_style('tw-gb-block', $assets['css_path'], array( 'wp-edit-blocks' ), $assets['version']);
369
  }
@@ -397,8 +388,8 @@ final class WDFM {
397
  if ($this->is_free != 2) {
398
  do_action('fm_init_addons');
399
  }
400
- // Prevent adding shortcode conflict with some builders.
401
- $this->before_shortcode_add_builder_editor();
402
  }
403
 
404
  /**
@@ -704,18 +695,45 @@ final class WDFM {
704
  * admin-ajax actions for admin.
705
  */
706
  public function form_maker_ajax() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
707
  $page = WDW_FM_Library(self::PLUGIN)->get('action');
708
- if ( $page != 'formmakerwdcaptcha' . $this->plugin_postfix && $page != 'formmakerwdmathcaptcha' . $this->plugin_postfix && $page != 'checkpaypal' . $this->plugin_postfix ) {
709
- if ( function_exists('current_user_can') ) {
710
- if ( !current_user_can('manage_options') ) {
 
 
 
 
 
 
 
 
711
  die('Access Denied');
712
  }
713
  }
714
- else {
715
- die('Access Denied');
716
- }
717
- }
718
- if ( $page != '' ) {
719
  $page = ucfirst(substr($page, 0, strlen($page) - strlen($this->plugin_postfix)));
720
  $this->register_admin_ajax_scripts();
721
  require_once($this->plugin_dir . '/admin/controllers/' . $page . '.php');
@@ -731,6 +749,7 @@ final class WDFM {
731
  public function form_maker_ajax_frontend() {
732
  $allowed_pages = array(
733
  'form_submissions',
 
734
  );
735
  $allowed_actions = array(
736
  'frontend_generate_xml',
@@ -739,6 +758,7 @@ final class WDFM {
739
  'frontend_show_matrix',
740
  'frontend_show_map',
741
  'get_frontend_stats',
 
742
  );
743
 
744
  $action = WDW_FM_Library(self::PLUGIN)->get('action');
@@ -1007,6 +1027,38 @@ final class WDFM {
1007
  wp_register_script($this->handle_prefix . '-gmap_form_back', $front_plugin_url . '/js/if_gmap_back_end.js', array(), $this->plugin_version);
1008
  }
1009
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1010
  /**
1011
  * Activate plugin.
1012
  */
@@ -1110,13 +1162,12 @@ final class WDFM {
1110
  $fm_options = array(
1111
  "prefix" => ($this->is_free == 2 ? 'cfm' : 'fm'),
1112
  "wd_plugin_id" => ($this->is_free == 2 ? 183 : 31),
1113
- "plugin_id" => ($this->is_free == 2 ? 95 : 95),
1114
  "plugin_title" => ($this->is_free == 2 ? 'Contact Form Maker' : 'Form Maker'),
1115
  "plugin_wordpress_slug" => ($this->is_free == 2 ? 'contact-form-maker' : 'form-maker'),
1116
  "plugin_dir" => $this->plugin_dir,
1117
  "plugin_main_file" => __FILE__,
1118
  "description" => ($this->is_free == 2 ? __('WordPress Contact Form Maker is a simple contact form builder, which allows the user with almost no knowledge of programming to create and edit different type of contact forms.', $this->prefix) : __('Form Maker plugin is a modern and advanced tool for easy and fast creating of a WordPress Form. The backend interface is intuitive and user friendly which allows users far from scripting and programming to create WordPress Forms.', $this->prefix)),
1119
- // from web-dorado.com
1120
  "plugin_features" => array(
1121
  0 => array(
1122
  "title" => __("Easy to Use", $this->prefix),
@@ -1139,58 +1190,57 @@ final class WDFM {
1139
  "description" => __("The WordPress Form Maker plugin comes with a wide range of customizable themes. You can choose from a list of existing themes or simply create the one that better fits your brand and website.", $this->prefix),
1140
  )
1141
  ),
1142
- // user guide from web-dorado.com
1143
  "user_guide" => array(
1144
  0 => array(
1145
  "main_title" => __("Installing", $this->prefix),
1146
- "url" => "https://web-dorado.com/wordpress-form-maker/introduction.html",
1147
  "titles" => array()
1148
  ),
1149
  1 => array(
1150
  "main_title" => __("Creating a new Form", $this->prefix),
1151
- "url" => "https://web-dorado.com/wordpress-form-maker/creating-form.html",
1152
  "titles" => array()
1153
  ),
1154
  2 => array(
1155
  "main_title" => __("Configuring Form Options", $this->prefix),
1156
- "url" => "https://web-dorado.com/wordpress-form-maker/form-options/general-options.html",
1157
  "titles" => array()
1158
  ),
1159
  3 => array(
1160
  "main_title" => __("Description of The Form Fields", $this->prefix),
1161
- "url" => "https://web-dorado.com/wordpress-form-maker/form-fields/basic-fields.html",
1162
  "titles" => array(
1163
  array(
1164
  "title" => __("Selecting Options from Database", $this->prefix),
1165
- "url" => "https://web-dorado.com/wordpress-form-maker/selecting-options-from-database.html",
1166
  ),
1167
  )
1168
  ),
1169
  4 => array(
1170
  "main_title" => __("Publishing the Created Form", $this->prefix),
1171
- "url" => "https://web-dorado.com/wordpress-form-maker/creating-form.html",
1172
  "titles" => array()
1173
  ),
1174
  5 => array(
1175
  "main_title" => __("Blocking IPs", $this->prefix),
1176
- "url" => "https://web-dorado.com/wordpress-form-maker/submissions.html",
1177
  "titles" => array()
1178
  ),
1179
  6 => array(
1180
  "main_title" => __("Managing Submissions", $this->prefix),
1181
- "url" => "https://web-dorado.com/wordpress-form-maker/submissions.html",
1182
  "titles" => array()
1183
  ),
1184
  7 => array(
1185
  "main_title" => __("Publishing Submissions", $this->prefix),
1186
- "url" => "https://web-dorado.com/wordpress-form-maker/other-publishing-options.html",
1187
  "titles" => array()
1188
  ),
1189
  ),
1190
- "video_youtube_id" => "tN3_c6MhqFk", // e.g. https://www.youtube.com/watch?v=acaexefeP7o youtube id is the acaexefeP7o
1191
  "plugin_wd_url" => "https://10web.io/plugins/wordpress-form-maker/?utm_source=form_maker&utm_medium=free_plugin",
1192
  "plugin_wd_demo_link" => "https://demo.10web.io/form-maker",
1193
- "plugin_wd_addons_link" => "https://demo.10web.io/form-maker#plugin_extensions",
1194
  "plugin_wd_docs_link" => "https://help.10web.io/hc/en-us/sections/360002133951-Form-Maker-Documentation/",
1195
  "after_subscribe" => admin_url('admin.php?page=manage_' . ($this->is_free == 2 ? 'cfm' : 'fm')), // this can be plagin overview page or set up page
1196
  "plugin_wizard_link" => '',
3
  * Plugin Name: Form Maker
4
  * Plugin URI: https://10web.io/plugins/wordpress-form-maker/
5
  * Description: This plugin is a modern and advanced tool for easy and fast creating of a WordPress Form. The backend interface is intuitive and user friendly which allows users far from scripting and programming to create WordPress Forms.
6
+ * Version: 1.13.3
7
+ * Author: 10Web Form Builder Team
8
+ * Author URI: https://10web.io/plugins/
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
10
  */
11
 
91
  * Define Constants.
92
  */
93
  private function define_constants() {
94
+ $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
95
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
96
  $this->front_urls = $this->get_front_urls();
97
  $this->main_file = plugin_basename(__FILE__);
98
+ $this->plugin_version = '1.13.3';
99
+ $this->db_version = '2.13.3';
100
  $this->menu_postfix = ($this->is_free == 2 ? '_fmc' : '_fm');
101
  $this->plugin_postfix = ($this->is_free == 2 ? '_fmc' : '');
102
  $this->menu_slug = 'manage' . $this->menu_postfix;
154
  add_action('wp_ajax_frontend_generate_xml', array($this, 'form_maker_ajax_frontend')); //generate xml frontend
155
  add_action('wp_ajax_nopriv_frontend_generate_xml', array($this, 'form_maker_ajax_frontend')); //generate xml frontend
156
  }
157
+ add_action('wp_ajax_fm_reload_input', array($this, 'form_maker_ajax_frontend'));
158
+ add_action('wp_ajax_nopriv_fm_reload_input', array($this, 'form_maker_ajax_frontend'));
159
 
160
  // Add media button to WP editor.
161
  add_action('wp_ajax_FMShortocde' . $this->plugin_postfix, array($this, 'form_maker_ajax'));
186
  add_action('widgets_init', array($this, 'register_widgets'));
187
  }
188
 
189
+ // Plugin activation.
190
+ register_activation_hook(__FILE__, array($this, 'global_activate'));
191
+ add_action('wpmu_new_blog', array($this, 'new_blog_added'), 10, 6);
192
+
193
  if ( (!isset($_GET['action']) || $_GET['action'] != 'deactivate')
194
  && (!isset($_GET['page']) || $_GET['page'] != 'uninstall' . $this->menu_postfix) ) {
195
  add_action('admin_init', array($this, 'form_maker_activate'));
213
 
214
  // Enqueue block editor assets for Gutenberg.
215
  add_filter('tw_get_block_editor_assets', array($this, 'register_block_editor_assets'));
216
+ add_filter('tw_get_plugin_blocks', array($this, 'register_plugin_block'));
217
  add_action( 'enqueue_block_editor_assets', array($this, 'enqueue_block_editor_assets') );
218
 
219
  // Privacy policy.
289
  }
290
 
291
  public function register_block_editor_assets($assets) {
292
+ $version = '2.0.3';
293
  $js_path = $this->plugin_url . '/js/tw-gb/block.js';
294
  $css_path = $this->plugin_url . '/css/tw-gb/block.css';
295
  if (!isset($assets['version']) || version_compare($assets['version'], $version) === -1) {
300
  return $assets;
301
  }
302
 
303
+ public function register_plugin_block($blocks) {
304
  if ($this->is_free == 2) {
305
  $key = 'tw/contact-form-maker';
306
  $key_submissions = 'tw/cfm-submissions';
315
  $icon_svg = $this->plugin_url . '/images/tw-gb/icon.svg';
316
  $url = add_query_arg(array('action' => 'FMShortocde' . $this->plugin_postfix, 'task' => 'submissions'), admin_url('admin-ajax.php'));
317
  $data = WDW_FM_Library(self::PLUGIN)->get_shortcode_data();
318
+ $blocks[$key] = array(
319
+ 'title' => $plugin_name,
320
+ 'titleSelect' => sprintf(__('Select %s', $this->prefix), $plugin_name),
321
+ 'iconUrl' => $icon_url,
322
+ 'iconSvg' => array('width' => 20, 'height' => 20, 'src' => $icon_svg),
323
+ 'isPopup' => false,
324
+ 'data' => $data,
325
+ );
326
+ $blocks[$key_submissions] = array(
327
+ 'title' => $plugin_name_submissions,
328
+ 'titleSelect' => sprintf(__('Select %s', $this->prefix), $plugin_name),
329
+ 'iconUrl' => $icon_url,
330
+ 'iconSvg' => array('width' => 20, 'height' => 20, 'src' => $icon_svg),
331
+ 'isPopup' => true,
332
+ 'containerClass' => 'tw-container-wrap-520-400',
333
+ 'data' => array('shortcodeUrl' => $url),
334
+ );
335
+ return $blocks;
336
+ }
337
+
338
+ public function enqueue_block_editor_assets() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
  // Remove previously registered or enqueued versions
340
  $wp_scripts = wp_scripts();
341
  foreach ($wp_scripts->registered as $key => $value) {
345
  wp_deregister_style( $key );
346
  }
347
  }
348
+ // Get plugin blocks from all 10Web plugins.
349
+ $blocks = apply_filters('tw_get_plugin_blocks', array());
350
  // Get the last version from all 10Web plugins.
351
  $assets = apply_filters('tw_get_block_editor_assets', array());
352
  // Not performing unregister or unenqueue as in old versions all are with prefixes.
353
  wp_enqueue_script('tw-gb-block', $assets['js_path'], array( 'wp-blocks', 'wp-element' ), $assets['version']);
354
+ wp_localize_script('tw-gb-block', 'tw_obj_translate', array(
355
  'nothing_selected' => __('Nothing selected.', $this->prefix),
356
  'empty_item' => __('- Select -', $this->prefix),
357
+ 'blocks' => json_encode($blocks)
358
  ));
359
  wp_enqueue_style('tw-gb-block', $assets['css_path'], array( 'wp-edit-blocks' ), $assets['version']);
360
  }
388
  if ($this->is_free != 2) {
389
  do_action('fm_init_addons');
390
  }
391
+ // Prevent adding shortcode conflict with some builders.
392
+ $this->before_shortcode_add_builder_editor();
393
  }
394
 
395
  /**
695
  * admin-ajax actions for admin.
696
  */
697
  public function form_maker_ajax() {
698
+ $allowed_pages = array(
699
+ 'manage' . $this->menu_postfix,
700
+ 'manage' . $this->plugin_postfix,
701
+ 'generete_csv' . $this->plugin_postfix,
702
+ 'generete_xml' . $this->plugin_postfix,
703
+ 'formmakerwdcaptcha' . $this->plugin_postfix,
704
+ 'formmakerwdmathcaptcha' . $this->plugin_postfix,
705
+ 'product_option' . $this->plugin_postfix,
706
+ 'FormMakerEditCountryinPopup' . $this->plugin_postfix,
707
+ 'FormMakerMapEditinPopup' . $this->plugin_postfix,
708
+ 'FormMakerIpinfoinPopup' . $this->plugin_postfix,
709
+ 'show_matrix' . $this->plugin_postfix,
710
+ 'FormMakerSubmits' . $this->plugin_postfix,
711
+ 'FMShortocde' . $this->plugin_postfix,
712
+ );
713
+ if ( !$this->is_demo ) {
714
+ $allowed_pages[] = 'FormMakerSQLMapping' . $this->plugin_postfix;
715
+ $allowed_pages[] = 'select_data_from_db' . $this->plugin_postfix;
716
+ }
717
+ if ( !$this->is_free ) {
718
+ $allowed_pages[] = 'paypal_info';
719
+ $allowed_pages[] = 'checkpaypal';
720
+ }
721
+
722
  $page = WDW_FM_Library(self::PLUGIN)->get('action');
723
+
724
+ if ( !empty($page) && in_array($page, $allowed_pages) ) {
725
+ if ( $page != 'formmakerwdcaptcha' . $this->plugin_postfix
726
+ && $page != 'formmakerwdmathcaptcha' . $this->plugin_postfix
727
+ && $page != 'checkpaypal' ) {
728
+ if ( function_exists('current_user_can') ) {
729
+ if ( !current_user_can('manage_options') ) {
730
+ die('Access Denied');
731
+ }
732
+ }
733
+ else {
734
  die('Access Denied');
735
  }
736
  }
 
 
 
 
 
737
  $page = ucfirst(substr($page, 0, strlen($page) - strlen($this->plugin_postfix)));
738
  $this->register_admin_ajax_scripts();
739
  require_once($this->plugin_dir . '/admin/controllers/' . $page . '.php');
749
  public function form_maker_ajax_frontend() {
750
  $allowed_pages = array(
751
  'form_submissions',
752
+ 'form_maker',
753
  );
754
  $allowed_actions = array(
755
  'frontend_generate_xml',
758
  'frontend_show_matrix',
759
  'frontend_show_map',
760
  'get_frontend_stats',
761
+ 'fm_reload_input',
762
  );
763
 
764
  $action = WDW_FM_Library(self::PLUGIN)->get('action');
1027
  wp_register_script($this->handle_prefix . '-gmap_form_back', $front_plugin_url . '/js/if_gmap_back_end.js', array(), $this->plugin_version);
1028
  }
1029
 
1030
+ /*
1031
+ * Global activate.
1032
+ *
1033
+ * @param $networkwide
1034
+ */
1035
+ public function global_activate($networkwide) {
1036
+ if ( function_exists('is_multisite') && is_multisite() ) {
1037
+ // Check if it is a network activation - if so, run the activation function for each blog id.
1038
+ if ( $networkwide ) {
1039
+ global $wpdb;
1040
+ // Get all blog ids.
1041
+ $blogids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
1042
+ foreach ( $blogids as $blog_id ) {
1043
+ switch_to_blog($blog_id);
1044
+ $this->form_maker_on_activate();
1045
+ restore_current_blog();
1046
+ }
1047
+
1048
+ return;
1049
+ }
1050
+ }
1051
+ $this->form_maker_on_activate();
1052
+ }
1053
+
1054
+ public function new_blog_added( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
1055
+ if ( is_plugin_active_for_network( $this->main_file ) ) {
1056
+ switch_to_blog($blog_id);
1057
+ $this->form_maker_on_activate();
1058
+ restore_current_blog();
1059
+ }
1060
+ }
1061
+
1062
  /**
1063
  * Activate plugin.
1064
  */
1162
  $fm_options = array(
1163
  "prefix" => ($this->is_free == 2 ? 'cfm' : 'fm'),
1164
  "wd_plugin_id" => ($this->is_free == 2 ? 183 : 31),
1165
+ "plugin_id" => ($this->is_free == 2 ? 95 : 95),
1166
  "plugin_title" => ($this->is_free == 2 ? 'Contact Form Maker' : 'Form Maker'),
1167
  "plugin_wordpress_slug" => ($this->is_free == 2 ? 'contact-form-maker' : 'form-maker'),
1168
  "plugin_dir" => $this->plugin_dir,
1169
  "plugin_main_file" => __FILE__,
1170
  "description" => ($this->is_free == 2 ? __('WordPress Contact Form Maker is a simple contact form builder, which allows the user with almost no knowledge of programming to create and edit different type of contact forms.', $this->prefix) : __('Form Maker plugin is a modern and advanced tool for easy and fast creating of a WordPress Form. The backend interface is intuitive and user friendly which allows users far from scripting and programming to create WordPress Forms.', $this->prefix)),
 
1171
  "plugin_features" => array(
1172
  0 => array(
1173
  "title" => __("Easy to Use", $this->prefix),
1190
  "description" => __("The WordPress Form Maker plugin comes with a wide range of customizable themes. You can choose from a list of existing themes or simply create the one that better fits your brand and website.", $this->prefix),
1191
  )
1192
  ),
 
1193
  "user_guide" => array(
1194
  0 => array(
1195
  "main_title" => __("Installing", $this->prefix),
1196
+ "url" => "https://help.10web.io/hc/en-us/articles/360015435831-Introducing-Form-Maker-Plugin",
1197
  "titles" => array()
1198
  ),
1199
  1 => array(
1200
  "main_title" => __("Creating a new Form", $this->prefix),
1201
+ "url" => "https://help.10web.io/hc/en-us/articles/360015244232-Creating-a-Form-on-WordPress",
1202
  "titles" => array()
1203
  ),
1204
  2 => array(
1205
  "main_title" => __("Configuring Form Options", $this->prefix),
1206
+ "url" => "https://help.10web.io/hc/en-us/articles/360015862812-Settings-General-Options",
1207
  "titles" => array()
1208
  ),
1209
  3 => array(
1210
  "main_title" => __("Description of The Form Fields", $this->prefix),
1211
+ "url" => "https://help.10web.io/hc/en-us/articles/360016081951-Form-Fields-Basic",
1212
  "titles" => array(
1213
  array(
1214
  "title" => __("Selecting Options from Database", $this->prefix),
1215
+ "url" => "https://help.10web.io/hc/en-us/articles/360015862632-Selecting-Options-from-Database",
1216
  ),
1217
  )
1218
  ),
1219
  4 => array(
1220
  "main_title" => __("Publishing the Created Form", $this->prefix),
1221
+ "url" => "https://help.10web.io/hc/en-us/articles/360016083211-Additional-Publishing-Options",
1222
  "titles" => array()
1223
  ),
1224
  5 => array(
1225
  "main_title" => __("Blocking IPs", $this->prefix),
1226
+ "url" => "https://help.10web.io/hc/en-us/articles/360015863292-Managing-Form-Submissions",
1227
  "titles" => array()
1228
  ),
1229
  6 => array(
1230
  "main_title" => __("Managing Submissions", $this->prefix),
1231
+ "url" => "https://help.10web.io/hc/en-us/articles/360015863292-Managing-Form-Submissions",
1232
  "titles" => array()
1233
  ),
1234
  7 => array(
1235
  "main_title" => __("Publishing Submissions", $this->prefix),
1236
+ "url" => "https://help.10web.io/hc/en-us/articles/360016083211-Additional-Publishing-Options",
1237
  "titles" => array()
1238
  ),
1239
  ),
1240
+ "video_youtube_id" => "tN3_c6MhqFk",
1241
  "plugin_wd_url" => "https://10web.io/plugins/wordpress-form-maker/?utm_source=form_maker&utm_medium=free_plugin",
1242
  "plugin_wd_demo_link" => "https://demo.10web.io/form-maker",
1243
+ "plugin_wd_addons_link" => "https://10web.io/plugins/wordpress-form-maker/#plugin_extensions",
1244
  "plugin_wd_docs_link" => "https://help.10web.io/hc/en-us/sections/360002133951-Form-Maker-Documentation/",
1245
  "after_subscribe" => admin_url('admin.php?page=manage_' . ($this->is_free == 2 ? 'cfm' : 'fm')), // this can be plagin overview page or set up page
1246
  "plugin_wizard_link" => '',
framework/WDW_FM_Library.php CHANGED
@@ -1061,6 +1061,7 @@ class WDW_FM_Library {
1061
  $params_value = explode('***', wp_specialchars_decode($cond_params[$m], 'single'));
1062
  switch ( $type_and_id[$params_value[0]] ) {
1063
  case "type_text":
 
1064
  case "type_password":
1065
  case "type_textarea":
1066
  case "type_number":
@@ -1078,7 +1079,12 @@ class WDW_FM_Library {
1078
  $params_value[2] = "";
1079
  $params_value[1] = $params_value[1] . "=";
1080
  }
1081
- $if .= ' jQuery("#wdform_' . $params_value[0] . '_element' . $form_id . '").val()' . $params_value[1] . '"' . $params_value[2] . '" ';
 
 
 
 
 
1082
  }
1083
  $keyup .= '#wdform_' . $params_value[0] . '_element' . $form_id . ', ';
1084
  if ( $type_and_id[$params_value[0]] == "type_date_new" ) {
@@ -1087,6 +1093,9 @@ class WDW_FM_Library {
1087
  if ( $type_and_id[$params_value[0]] == "type_spinner" ) {
1088
  $click .= '#wdform_' . $params_value[0] . '_element' . $form_id . ' ~ a, ';
1089
  }
 
 
 
1090
  if ( $type_and_id[$params_value[0]] == "type_phone_new" ) {
1091
  $blur = '#wdform_' . $params_value[0] . '_element' . $form_id . ', ';
1092
  }
@@ -1738,11 +1747,13 @@ class WDW_FM_Library {
1738
  $check_regExp_all = array();
1739
  $check_paypal_price_min_max = array();
1740
  $file_upload_check = array();
 
1741
  $spinner_check = array();
1742
  foreach ( $id1s as $id1s_key => $id1 ) {
1743
- $label = $labels[$id1s_key];
1744
  $type = $types[$id1s_key];
1745
  $params = $paramss[$id1s_key];
 
1746
  if ( strpos($form, '%' . $id1 . ' - ' . $label . '%') || strpos($form, '%' . $id1 . ' -' . $label . '%') ) {
1747
  $required = FALSE;
1748
  $param = array();
@@ -2284,11 +2295,27 @@ class WDW_FM_Library {
2284
  'w_class',
2285
  );
2286
  }
 
2287
  foreach ( $params_names as $params_name ) {
2288
  $temp = explode('*:*' . $params_name . '*:*', $temp);
2289
  $param[$params_name] = $temp[0];
2290
  $temp = $temp[1];
2291
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2292
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
2293
  $post_value = isset($_POST["counter" . $form_id]) ? esc_html($_POST["counter" . $form_id]) : NULL;
2294
  $is_other = FALSE;
@@ -2308,16 +2335,14 @@ class WDW_FM_Library {
2308
  array_push($req_fields, $id1);
2309
  }
2310
  if ( $is_other ) {
2311
- $onload_js .= '
2312
- show_other_input("wdform_' . $id1 . '","' . $form_id . '"); jQuery("#wdform_' . $id1 . '_other_input' . $form_id . '").val("' . (isset($_POST['wdform_' . $id1 . "_other_input" . $form_id]) ? esc_html(stripslashes($_POST['wdform_' . $id1 . "_other_input" . $form_id])) : '') . '");';
2313
  }
2314
  if ( $param['w_randomize'] == 'yes' ) {
2315
- $onload_js .= '
2316
- jQuery("#form' . $form_id . ' div[wdid=' . $id1 . '] .wdform-element-section> div").shuffle();';
2317
  }
2318
  $onsubmit_js .= '
2319
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_allow_other' . $form_id . '\" value=\"' . $param['w_allow_other'] . '\" />").appendTo("#form' . $form_id . '");
2320
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_allow_other_num' . $form_id . '\" value=\"' . $param['w_allow_other_num'] . '\" />").appendTo("#form' . $form_id . '");';
2321
  break;
2322
  }
2323
  case 'type_radio': {
@@ -2379,6 +2404,21 @@ class WDW_FM_Library {
2379
  $param[$params_name] = $temp[0];
2380
  $temp = $temp[1];
2381
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2382
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
2383
  $post_value = isset($_POST["counter" . $form_id]) ? esc_html($_POST["counter" . $form_id]) : NULL;
2384
  $is_other = FALSE;
@@ -2458,6 +2498,20 @@ class WDW_FM_Library {
2458
  $param[$params_name] = $temp[0];
2459
  $temp = $temp[1];
2460
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2461
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
2462
  if ( $required ) {
2463
  array_push($req_fields, $id1);
@@ -3301,18 +3355,28 @@ class WDW_FM_Library {
3301
  $param[$params_name] = $temp[0];
3302
  $temp = $temp[1];
3303
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
3304
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
3305
  $param['w_property'] = explode('***', $param['w_property']);
3306
  if ( $required ) {
3307
  array_push($req_fields, $id1);
3308
  }
3309
- $onsubmit_js .= '
3310
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_label' . $form_id . '\" />").val(jQuery("#wdform_' . $id1 . '_element' . $form_id . ' option:selected").text()).appendTo("#form' . $form_id . '");';
3311
- $onsubmit_js .= '
3312
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_quantity_label' . $form_id . '\" />").val("' . (__("Quantity", WDFMInstance(self::PLUGIN)->prefix)) . '").appendTo("#form' . $form_id . '");';
3313
  foreach ( $param['w_property'] as $key => $property ) {
3314
- $onsubmit_js .= '
3315
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_property_label' . $form_id . $key . '\" />").val("' . $property . '").appendTo("#form' . $form_id . '");';
3316
  }
3317
  break;
3318
  }
@@ -3383,18 +3447,16 @@ class WDW_FM_Library {
3383
  $param[$params_name] = $temp[0];
3384
  $temp = $temp[1];
3385
  }
 
3386
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
3387
  $param['w_property'] = explode('***', $param['w_property']);
3388
  if ( $required ) {
3389
  array_push($req_fields, $id1);
3390
  }
3391
- $onsubmit_js .= '
3392
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_label' . $form_id . '\" />").val((jQuery("#wdform_' . $id1 . '_element' . $form_id . ' input:checked").length != 0) ? jQuery("#wdform_' . $id1 . '_element' . $form_id . ' input:checked").attr("id").replace("element", "elementlabel_") : "").appendTo("#form' . $form_id . '");';
3393
- $onsubmit_js .= '
3394
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_quantity_label' . $form_id . '\" />").val("' . (__("Quantity", WDFMInstance(self::PLUGIN)->prefix)) . '").appendTo("#form' . $form_id . '");';
3395
  foreach ( $param['w_property'] as $key => $property ) {
3396
- $onsubmit_js .= '
3397
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_property_label' . $form_id . $key . '\" />").val("' . $property . '").appendTo("#form' . $form_id . '");';
3398
  }
3399
  break;
3400
  }
@@ -3470,13 +3532,10 @@ class WDW_FM_Library {
3470
  if ( $required ) {
3471
  array_push($req_fields, $id1);
3472
  }
3473
- $onsubmit_js .= '
3474
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_label' . $form_id . '\" />").val(jQuery("label[for=\'"+jQuery("input[name^=\'wdform_' . $id1 . '_element' . $form_id . '\']:checked").attr("id")+"\']").eq(0).text()).appendTo("#form' . $form_id . '");';
3475
- $onsubmit_js .= '
3476
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_quantity_label' . $form_id . '\" />").val("' . (__("Quantity", WDFMInstance(self::PLUGIN)->prefix)) . '").appendTo("#form' . $form_id . '");';
3477
  foreach ( $param['w_property'] as $key => $property ) {
3478
- $onsubmit_js .= '
3479
- jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_property_label' . $form_id . $key . '\" />").val("' . $property . '").appendTo("#form' . $form_id . '");';
3480
  }
3481
  break;
3482
  }
@@ -3879,7 +3938,7 @@ class WDW_FM_Library {
3879
  }
3880
  }
3881
  }
3882
- $onsubmit_js .= '
3883
  var disabled_fields = "";
3884
  jQuery("#form' . $form_id . ' div[wdid]").each(function() {
3885
  if(jQuery(this).css("display") == "none") {
@@ -3907,43 +3966,152 @@ class WDW_FM_Library {
3907
  var header_image_animation<?php echo $form_id; ?> = '<?php echo $row->header_image_animation; ?>';
3908
  var scrollbox_loading_delay<?php echo $form_id; ?> = '<?php echo $row_display->scrollbox_loading_delay; ?>';
3909
  var scrollbox_auto_hide<?php echo $form_id; ?> = '<?php echo $row_display->scrollbox_auto_hide; ?>';
3910
- <?php
3911
- ?>
3912
  <?php echo preg_replace($pattern, ' ', $row->javascript); ?>
3913
 
3914
  function onload_js<?php echo $form_id ?>() {<?php
3915
- echo $onload_js; ?>
3916
-
3917
  }
3918
- function condition_js<?php echo $form_id ?>() {<?php
3919
- echo $condition_js; ?>
3920
 
 
 
3921
  }
 
3922
  function check_js<?php echo $form_id ?>(id, form_id) {
3923
- if (id != 0) {
3924
- x = jQuery("#" + form_id + "form_view"+id);
3925
- }
3926
- else {
3927
- x = jQuery("#form"+form_id);
3928
- }<?php
3929
- echo $check_js; ?>
3930
  }
 
3931
  function onsubmit_js<?php echo $form_id ?>() {
3932
- <?php echo $onsubmit_js; ?>
3933
- }
3934
- form_view_count<?php echo $form_id ?> = 0;
3935
- jQuery(document).ready(function () {
3936
- if (jQuery('form#form<?php echo $form_id ?> .wdform_section').length > 0) {
3937
- fm_document_ready(<?php echo $form_id ?>);
3938
- }
3939
- else {
3940
- jQuery("#form<?php echo $form_id ?>").closest(".fm-form-container").removeAttr("style")
3941
  }
3942
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3943
  jQuery(document).ready(function () {
3944
- if (jQuery('form#form<?php echo $form_id ?> .wdform_section').length > 0) {
3945
- formOnload(<?php echo $form_id ?>);
3946
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3947
  });
3948
  <?php
3949
  $js_content = ob_get_clean();
@@ -4279,7 +4447,7 @@ class WDW_FM_Library {
4279
  }
4280
  foreach ( $addons as $addon ) {
4281
  if ( is_plugin_active( $addon ) ) {
4282
- deactivate_plugins( $addon );
4283
  }
4284
  }
4285
  }
1061
  $params_value = explode('***', wp_specialchars_decode($cond_params[$m], 'single'));
1062
  switch ( $type_and_id[$params_value[0]] ) {
1063
  case "type_text":
1064
+ case "type_star_rating":
1065
  case "type_password":
1066
  case "type_textarea":
1067
  case "type_number":
1079
  $params_value[2] = "";
1080
  $params_value[1] = $params_value[1] . "=";
1081
  }
1082
+ if ( $type_and_id[$params_value[0]] == "type_star_rating" ) {
1083
+ $if .= ' jQuery("#wdform_' . $params_value[0] . '_selected_star_amount' . $form_id . '").val()' . $params_value[1] . '"' . $params_value[2] . '" ';
1084
+ }
1085
+ else {
1086
+ $if .= ' jQuery("#wdform_' . $params_value[0] . '_element' . $form_id . '").val()' . $params_value[1] . '"' . $params_value[2] . '" ';
1087
+ }
1088
  }
1089
  $keyup .= '#wdform_' . $params_value[0] . '_element' . $form_id . ', ';
1090
  if ( $type_and_id[$params_value[0]] == "type_date_new" ) {
1093
  if ( $type_and_id[$params_value[0]] == "type_spinner" ) {
1094
  $click .= '#wdform_' . $params_value[0] . '_element' . $form_id . ' ~ a, ';
1095
  }
1096
+ if ( $type_and_id[$params_value[0]] == "type_star_rating" ) {
1097
+ $change .= '#wdform_' . $params_value[0] . '_selected_star_amount' . $form_id . ', ';
1098
+ }
1099
  if ( $type_and_id[$params_value[0]] == "type_phone_new" ) {
1100
  $blur = '#wdform_' . $params_value[0] . '_element' . $form_id . ', ';
1101
  }
1747
  $check_regExp_all = array();
1748
  $check_paypal_price_min_max = array();
1749
  $file_upload_check = array();
1750
+ $inputIds = array();
1751
  $spinner_check = array();
1752
  foreach ( $id1s as $id1s_key => $id1 ) {
1753
+ $label = $labels[$id1s_key];
1754
  $type = $types[$id1s_key];
1755
  $params = $paramss[$id1s_key];
1756
+ $id_type = $id1 . '|' . $type;
1757
  if ( strpos($form, '%' . $id1 . ' - ' . $label . '%') || strpos($form, '%' . $id1 . ' -' . $label . '%') ) {
1758
  $required = FALSE;
1759
  $param = array();
2295
  'w_class',
2296
  );
2297
  }
2298
+
2299
  foreach ( $params_names as $params_name ) {
2300
  $temp = explode('*:*' . $params_name . '*:*', $temp);
2301
  $param[$params_name] = $temp[0];
2302
  $temp = $temp[1];
2303
  }
2304
+
2305
+ if ( isset($param['w_choices_value']) ) {
2306
+ $param['w_choices_value'] = explode('***', $param['w_choices_value']);
2307
+ $param['w_choices_params'] = explode('***', $param['w_choices_params']);
2308
+ }
2309
+
2310
+ foreach ( $param['w_choices_params'] as $choices ) {
2311
+ if ( !empty($choices) ) {
2312
+ preg_match_all('/{\d+}/', $choices, $matches);
2313
+ if ( !empty($matches[0][0]) ) {
2314
+ $inputIds[$id_type][] = str_replace( array('{','}'), array('',''), $matches[0][0] );
2315
+ }
2316
+ }
2317
+ }
2318
+
2319
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
2320
  $post_value = isset($_POST["counter" . $form_id]) ? esc_html($_POST["counter" . $form_id]) : NULL;
2321
  $is_other = FALSE;
2335
  array_push($req_fields, $id1);
2336
  }
2337
  if ( $is_other ) {
2338
+ $onload_js .= 'show_other_input("wdform_' . $id1 . '","' . $form_id . '"); jQuery("#wdform_' . $id1 . '_other_input' . $form_id . '").val("' . (isset($_POST['wdform_' . $id1 . "_other_input" . $form_id]) ? esc_html(stripslashes($_POST['wdform_' . $id1 . "_other_input" . $form_id])) : '') . '");';
 
2339
  }
2340
  if ( $param['w_randomize'] == 'yes' ) {
2341
+ $onload_js .= 'jQuery("#form' . $form_id . ' div[wdid=' . $id1 . '] .wdform-element-section> div").shuffle();';
 
2342
  }
2343
  $onsubmit_js .= '
2344
+ jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_allow_other' . $form_id . '\" value=\"' . $param['w_allow_other'] . '\" />").appendTo("#form' . $form_id . '");
2345
+ jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_allow_other_num' . $form_id . '\" value=\"' . $param['w_allow_other_num'] . '\" />").appendTo("#form' . $form_id . '");';
2346
  break;
2347
  }
2348
  case 'type_radio': {
2404
  $param[$params_name] = $temp[0];
2405
  $temp = $temp[1];
2406
  }
2407
+
2408
+ if ( isset($param['w_choices_value']) ) {
2409
+ $param['w_choices_value'] = explode('***', $param['w_choices_value']);
2410
+ $param['w_choices_params'] = explode('***', $param['w_choices_params']);
2411
+ }
2412
+
2413
+ foreach ( $param['w_choices_params'] as $choices ) {
2414
+ if ( !empty($choices) ) {
2415
+ preg_match_all('/{\d+}/', $choices, $matches);
2416
+ if ( !empty($matches[0][0]) ) {
2417
+ $inputIds[$id_type][] = str_replace( array('{','}'), array('',''), $matches[0][0] );
2418
+ }
2419
+ }
2420
+ }
2421
+
2422
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
2423
  $post_value = isset($_POST["counter" . $form_id]) ? esc_html($_POST["counter" . $form_id]) : NULL;
2424
  $is_other = FALSE;
2498
  $param[$params_name] = $temp[0];
2499
  $temp = $temp[1];
2500
  }
2501
+
2502
+ if ( isset($param['w_choices_value']) ) {
2503
+ $param['w_choices_value'] = explode('***', $param['w_choices_value']);
2504
+ $param['w_choices_params'] = explode('***', $param['w_choices_params']);
2505
+ }
2506
+
2507
+ foreach ( $param['w_choices_params'] as $choices ) {
2508
+ if ( !empty($choices) ) {
2509
+ preg_match_all('/{\d+}/', $choices, $matches);
2510
+ if ( !empty($matches[0][0]) ) {
2511
+ $inputIds[$id_type][] = str_replace( array('{','}'), array('',''), $matches[0][0] );
2512
+ }
2513
+ }
2514
+ }
2515
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
2516
  if ( $required ) {
2517
  array_push($req_fields, $id1);
3355
  $param[$params_name] = $temp[0];
3356
  $temp = $temp[1];
3357
  }
3358
+
3359
+ if ( isset($param['w_choices_params']) ) {
3360
+ $w_choices_params = explode('***', $param['w_choices_params']);
3361
+ foreach ( $w_choices_params as $choices ) {
3362
+ if ( !empty($choices) ) {
3363
+ preg_match_all('/{\d+}/', $choices, $matches);
3364
+ if ( !empty($matches[0][0]) ) {
3365
+ $inputIds[$id_type][] = str_replace( array('{','}'), array('',''), $matches[0][0] );
3366
+ }
3367
+ }
3368
+ }
3369
+ }
3370
+
3371
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
3372
  $param['w_property'] = explode('***', $param['w_property']);
3373
  if ( $required ) {
3374
  array_push($req_fields, $id1);
3375
  }
3376
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_label' . $form_id . '\" />").val(jQuery("#wdform_' . $id1 . '_element' . $form_id . ' option:selected").text()).appendTo("#form' . $form_id . '");';
3377
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_quantity_label' . $form_id . '\" />").val("' . (__("Quantity", WDFMInstance(self::PLUGIN)->prefix)) . '").appendTo("#form' . $form_id . '");';
 
 
3378
  foreach ( $param['w_property'] as $key => $property ) {
3379
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_property_label' . $form_id . $key . '\" />").val("' . $property . '").appendTo("#form' . $form_id . '");';
 
3380
  }
3381
  break;
3382
  }
3447
  $param[$params_name] = $temp[0];
3448
  $temp = $temp[1];
3449
  }
3450
+
3451
  $required = ($param['w_required'] == "yes" ? TRUE : FALSE);
3452
  $param['w_property'] = explode('***', $param['w_property']);
3453
  if ( $required ) {
3454
  array_push($req_fields, $id1);
3455
  }
3456
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_label' . $form_id . '\" />").val((jQuery("#wdform_' . $id1 . '_element' . $form_id . ' input:checked").length != 0) ? jQuery("#wdform_' . $id1 . '_element' . $form_id . ' input:checked").attr("id").replace("element", "elementlabel_") : "").appendTo("#form' . $form_id . '");';
3457
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_quantity_label' . $form_id . '\" />").val("' . (__("Quantity", WDFMInstance(self::PLUGIN)->prefix)) . '").appendTo("#form' . $form_id . '");';
 
 
3458
  foreach ( $param['w_property'] as $key => $property ) {
3459
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_property_label' . $form_id . $key . '\" />").val("' . $property . '").appendTo("#form' . $form_id . '");';
 
3460
  }
3461
  break;
3462
  }
3532
  if ( $required ) {
3533
  array_push($req_fields, $id1);
3534
  }
3535
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_label' . $form_id . '\" />").val(jQuery("label[for=\'"+jQuery("input[name^=\'wdform_' . $id1 . '_element' . $form_id . '\']:checked").attr("id")+"\']").eq(0).text()).appendTo("#form' . $form_id . '");';
3536
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_quantity_label' . $form_id . '\" />").val("' . (__("Quantity", WDFMInstance(self::PLUGIN)->prefix)) . '").appendTo("#form' . $form_id . '");';
 
 
3537
  foreach ( $param['w_property'] as $key => $property ) {
3538
+ $onsubmit_js .= 'jQuery("<input type=\"hidden\" name=\"wdform_' . $id1 . '_element_property_label' . $form_id . $key . '\" />").val("' . $property . '").appendTo("#form' . $form_id . '");';
 
3539
  }
3540
  break;
3541
  }
3938
  }
3939
  }
3940
  }
3941
+ $onsubmit_js .= '
3942
  var disabled_fields = "";
3943
  jQuery("#form' . $form_id . ' div[wdid]").each(function() {
3944
  if(jQuery(this).css("display") == "none") {
3966
  var header_image_animation<?php echo $form_id; ?> = '<?php echo $row->header_image_animation; ?>';
3967
  var scrollbox_loading_delay<?php echo $form_id; ?> = '<?php echo $row_display->scrollbox_loading_delay; ?>';
3968
  var scrollbox_auto_hide<?php echo $form_id; ?> = '<?php echo $row_display->scrollbox_auto_hide; ?>';
3969
+ var inputIds<?php echo $form_id; ?> = '<?php echo json_encode($inputIds); ?>';
3970
+ var form_view_count<?php echo $form_id ?> = 0;
3971
  <?php echo preg_replace($pattern, ' ', $row->javascript); ?>
3972
 
3973
  function onload_js<?php echo $form_id ?>() {<?php
3974
+ echo $onload_js; ?>
 
3975
  }
 
 
3976
 
3977
+ function condition_js<?php echo $form_id ?>() {<?php
3978
+ echo $condition_js; ?>
3979
  }
3980
+
3981
  function check_js<?php echo $form_id ?>(id, form_id) {
3982
+ if (id != 0) {
3983
+ x = jQuery("#" + form_id + "form_view"+id);
3984
+ }
3985
+ else {
3986
+ x = jQuery("#form"+form_id);
3987
+ }
3988
+ <?php echo $check_js; ?>
3989
  }
3990
+
3991
  function onsubmit_js<?php echo $form_id ?>() {
3992
+ <?php echo $onsubmit_js; ?>
 
 
 
 
 
 
 
 
3993
  }
3994
+
3995
+ function unset_fields<?php echo $form_id ?>( values, id, i ) {
3996
+ rid = 0;
3997
+ if ( i > 0 ) {
3998
+ jQuery.each( values, function( k, v ) {
3999
+ if ( id == k.split('|')[2] ) {
4000
+ rid = k.split('|')[0];
4001
+ values[k] = '';
4002
+ }
4003
+ });
4004
+ return unset_fields<?php echo $form_id ?>(values, rid, i - 1);
4005
+ } else {
4006
+ return values;
4007
+ }
4008
+ }
4009
+
4010
+ function ajax_similarity<?php echo $form_id ?>( obj, changing_field_id ) {
4011
+ jQuery.ajax({
4012
+ type: "POST",
4013
+ url: '<?php echo add_query_arg( array( 'action' => 'fm_reload_input', 'page' => 'form_maker' ), admin_url('admin-ajax.php') ); ?>',
4014
+ dataType: "json",
4015
+ data: {
4016
+ form_id: <?php echo $form_id ?>,
4017
+ inputs: obj.inputs
4018
+ },
4019
+ beforeSend: function() {
4020
+ if ( !jQuery.isEmptyObject(obj.inputs) ) {
4021
+ jQuery.each( obj.inputs, function( key, val ) {
4022
+ wdid = key.split('|')[0];
4023
+ if ( val != '' && parseInt(wdid) == parseInt(changing_field_id) ) {
4024
+ jQuery("#form<?php echo $form_id ?> div[wdid='"+ wdid +"']").append( '<div class="fm-loading"></div>' );
4025
+ }
4026
+ });
4027
+ }
4028
+ },
4029
+ success: function (res) {
4030
+ if ( !jQuery.isEmptyObject(obj.inputs) ) {
4031
+ jQuery.each( obj.inputs, function( key, val ) {
4032
+ wdid = key.split('|')[0];
4033
+ jQuery("#form<?php echo $form_id ?> div[wdid='"+ wdid +"'] .fm-loading").remove();
4034
+ if ( !jQuery.isEmptyObject(res[wdid]) && ( !val || parseInt(wdid) == parseInt(changing_field_id) ) ) {
4035
+ jQuery("#form<?php echo $form_id ?> div[wdid='"+ wdid +"']").html( res[wdid].html );
4036
+ }
4037
+ });
4038
+ }
4039
+ },
4040
+ complete: function() {
4041
+ }
4042
+ });
4043
+ }
4044
+
4045
  jQuery(document).ready(function () {
4046
+ if (jQuery('#form<?php echo $form_id ?> .wdform_section').length > 0) {
4047
+ fm_document_ready(<?php echo $form_id ?>);
4048
+ }
4049
+ else {
4050
+ jQuery("#form<?php echo $form_id ?>").closest(".fm-form-container").removeAttr("style")
4051
+ }
4052
+ if (jQuery('#form<?php echo $form_id ?> .wdform_section').length > 0) {
4053
+ formOnload(<?php echo $form_id ?>);
4054
+ }
4055
+
4056
+ var ajaxObj<?php echo $form_id ?> = {};
4057
+ var value_ids<?php echo $form_id ?> = {};
4058
+
4059
+ jQuery.each( jQuery.parseJSON( inputIds<?php echo $form_id ?> ), function( key, values ) {
4060
+ jQuery.each( values, function( index, input_id ) {
4061
+ tagName = jQuery('#form<?php echo $form_id ?> [id^="wdform_'+ input_id +'_elemen"]').prop("tagName");
4062
+ type = jQuery('#form<?php echo $form_id ?> [id^="wdform_'+ input_id +'_elemen"]').prop("type");
4063
+ if ( tagName == 'INPUT' ) {
4064
+ input_value = jQuery('#form<?php echo $form_id ?> [id^="wdform_'+ input_id +'_elemen"]').val();
4065
+ if ( jQuery('#form<?php echo $form_id ?> [id^="wdform_'+ input_id +'_elemen"]').is(':checked') ) {
4066
+ if ( input_value ) {
4067
+ value_ids<?php echo $form_id ?>[key + '|' + input_id] = input_value;
4068
+ }
4069
+ }
4070
+ else if ( type == 'text' ) {
4071
+ if ( input_value ) {
4072
+ value_ids<?php echo $form_id ?>[key + '|' + input_id] = input_value;
4073
+ }
4074
+ }
4075
+ }
4076
+ else if ( tagName == 'SELECT' ) {
4077
+ select_value = jQuery('#form<?php echo $form_id ?> [id^="wdform_'+ input_id +'_elemen"] option:selected').val();
4078
+ if ( select_value ) {
4079
+ value_ids<?php echo $form_id ?>[key + '|' + input_id] = select_value;
4080
+ }
4081
+ }
4082
+ ajaxObj<?php echo $form_id ?>.inputs = value_ids<?php echo $form_id ?>;
4083
+
4084
+ jQuery(document).on('change', '#form<?php echo $form_id ?> [id^="wdform_'+ input_id +'_elemen"]', function() {
4085
+ var id = '';
4086
+ var changing_field_id = '';
4087
+ if( jQuery(this).prop("tagName") == 'INPUT' ) {
4088
+ if( jQuery(this).is(':checked') ) {
4089
+ id = jQuery(this).val();
4090
+ }
4091
+ if( jQuery(this).attr('type') == 'text' ) {
4092
+ id = jQuery(this).val();
4093
+ }
4094
+ }
4095
+ else {
4096
+ id = jQuery(this).val();
4097
+ }
4098
+ value_ids<?php echo $form_id ?>[key + '|' + input_id] = id;
4099
+
4100
+ jQuery.each( value_ids<?php echo $form_id ?>, function( k, v ) {
4101
+ key_arr = k.split('|');
4102
+ if ( input_id == key_arr[2] ) {
4103
+ changing_field_id = key_arr[0];
4104
+ count = Object.keys(value_ids<?php echo $form_id ?>).length;
4105
+ value_ids<?php echo $form_id ?> = unset_fields<?php echo $form_id ?>( value_ids<?php echo $form_id ?>, changing_field_id, count );
4106
+ }
4107
+ });
4108
+
4109
+ ajaxObj<?php echo $form_id ?>.inputs = value_ids<?php echo $form_id ?>;
4110
+ ajax_similarity<?php echo $form_id ?>( ajaxObj<?php echo $form_id ?>, changing_field_id );
4111
+ });
4112
+ });
4113
+ });
4114
+ ajax_similarity<?php echo $form_id ?>( ajaxObj<?php echo $form_id ?>, null );
4115
  });
4116
  <?php
4117
  $js_content = ob_get_clean();
4447
  }
4448
  foreach ( $addons as $addon ) {
4449
  if ( is_plugin_active( $addon ) ) {
4450
+ deactivate_plugins( $addon, false, false );
4451
  }
4452
  }
4453
  }
frontend/controllers/form_maker.php CHANGED
@@ -39,7 +39,12 @@ class FMControllerForm_maker {
39
  * @return string|void
40
  */
41
  public function execute( $id = 0, $type = 'embedded' ) {
42
- return $this->display($id, $type);
 
 
 
 
 
43
  }
44
 
45
  /**
@@ -222,4 +227,66 @@ class FMControllerForm_maker {
222
  }
223
  return true;
224
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
  }
39
  * @return string|void
40
  */
41
  public function execute( $id = 0, $type = 'embedded' ) {
42
+ $action = WDW_FM_Library(self::PLUGIN)->get('action');
43
+ if ( method_exists($this, $action) ) {
44
+ $this->$action();
45
+ } else {
46
+ return $this->display($id, $type);
47
+ }
48
  }
49
 
50
  /**
227
  }
228
  return true;
229
  }
230
+
231
+ public function fm_reload_input() {
232
+ global $wpdb;
233
+ $form_id = WDW_FM_Library::get('form_id');
234
+ $inputs = WDW_FM_Library::get('inputs');
235
+ $json = array();
236
+ if ( !empty($form_id) && !empty($inputs) ) {
237
+ $row = $wpdb->get_row( $wpdb->prepare( 'SELECT * FROM ' . $wpdb->prefix . 'formmaker WHERE id="%d"' . (!WDFMInstance(self::PLUGIN)->is_free ? '' : ' AND id' . (WDFMInstance(self::PLUGIN)->is_free == 1 ? ' NOT ' : ' ') . 'IN (' . (get_option( 'contact_form_forms', '' ) != '' ? get_option( 'contact_form_forms' ) : 0) . ')'), $form_id ) );
238
+ $id1s = array();
239
+ $types = array();
240
+ $labels = array();
241
+ $paramss = array();
242
+ $fields = explode('*:*new_field*:*', $row->form_fields);
243
+ $fields = array_slice($fields, 0, count($fields) - 1);
244
+ foreach ( $fields as $field ) {
245
+ $temp = explode('*:*id*:*', $field);
246
+ array_push($id1s, $temp[0]);
247
+ $temp = explode('*:*type*:*', $temp[1]);
248
+ array_push($types, $temp[0]);
249
+ $temp = explode('*:*w_field_label*:*', $temp[1]);
250
+ array_push($labels, $temp[0]);
251
+ array_push($paramss, $temp[1]);
252
+ }
253
+
254
+ $ids = array();
255
+ $reset_fields = array();
256
+ foreach ( $inputs as $input_key => $input_val ) {
257
+ list( $row_id, $type, $input_id) = explode('|', $input_key);
258
+ $key = $row_id . '|'. $type;
259
+ $ids[$key][] = $input_id.'|'.$input_val;
260
+
261
+ if ( empty($input_val) ) {
262
+ $reset_fields[] = $row_id;
263
+ }
264
+ }
265
+ if ( !empty($ids) ) {
266
+ foreach ( $ids as $row_key => $row_values ) {
267
+ list($row_id, $type) = explode('|', $row_key);
268
+
269
+ $index = array_search($row_id, $id1s);
270
+ $label = $labels[$index];
271
+ $params = $paramss[$index];
272
+ $param = array();
273
+ $param['label'] = $label;
274
+ $param['attributes'] = '';
275
+ $param['reset_fields'] = $reset_fields;
276
+ foreach ( $row_values as $val ) {
277
+ list($input_id, $input_val) = explode('|', $val);
278
+ $str_key = '{'. $input_id .'}';
279
+ if ( strpos($params, $str_key) > -1 ) {
280
+ $params = str_replace( $str_key, $input_val, $params );
281
+ }
282
+ }
283
+ $html = $this->view->$type( $params, $row, $form_id, $row_id, $type, $param );
284
+ $json[$row_id] = array('html' => $html);
285
+ }
286
+ }
287
+ } else {
288
+ $json['error'] = 1;
289
+ }
290
+ echo json_encode($json); exit;
291
+ }
292
  }
frontend/models/form_maker.php CHANGED
@@ -639,6 +639,7 @@ class FMModelForm_maker {
639
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form textarea,
640
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form .ui-spinner-input,
641
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form .file-upload-status,
 
642
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form select {' .
643
  (!empty( $form_theme[ 'IPMargin' ] ) ? 'margin:' . $form_theme[ 'IPMargin' ] . ';' : '') .
644
  (!empty( $form_theme[ 'IPBGColor' ] ) ? 'background-color:' . $form_theme[ 'IPBGColor' ] . ';' : '') .
@@ -648,6 +649,10 @@ class FMModelForm_maker {
648
  ((isset( $form_theme[ 'IPBorderRadius' ] ) && $form_theme[ 'IPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'IPBorderRadius' ] . 'px !important;' : '') .
649
  (!empty( $form_theme[ 'IPBoxShadow' ] ) ? 'box-shadow:' . $form_theme[ 'IPBoxShadow' ] . ';' : '') .
650
  '}';
 
 
 
 
651
  if ( $borders[ 'IP' ] ) {
652
  foreach ( $borders[ 'IP' ] as $border ) {
653
  if ( !empty( $form_theme[ 'IPBorderType' ] ) && ($form_theme[ 'IPBorderType' ] == 'inherit' || $form_theme[ 'IPBorderType' ] == 'initial') ) {
@@ -1258,7 +1263,7 @@ class FMModelForm_maker {
1258
  if ( $db_info ) {
1259
  $temp = explode( '@@@wdfhostwdf@@@', $db_info );
1260
  $host = $temp[ 0 ];
1261
- $temp = explode( '@@@wdfportwdf@@@', $temp[ 1 ] );
1262
  $port = $temp[ 0 ];
1263
  if ($port) {
1264
  $host .= ':' . $port;
@@ -1432,7 +1437,7 @@ class FMModelForm_maker {
1432
  case "type_send_copy":
1433
  case "type_spinner": {
1434
  $value = isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ? trim( esc_html( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ) : "";
1435
- if ( $required && empty( $value ) ) {
1436
  $missing_required_field = TRUE;
1437
  }
1438
  break;
@@ -1545,7 +1550,7 @@ class FMModelForm_maker {
1545
  $upload_dir = wp_upload_dir();
1546
  $files = isset( $_FILES[ 'wdform_' . $i . '_file' . $id ] ) ? $_FILES[ 'wdform_' . $i . '_file' . $id ] : array();
1547
  if ( !empty($files) ) {
1548
- foreach ( $files[ 'name' ] as $file_key => $file_name ) {
1549
  if ( $file_name ) {
1550
  $untilupload = $form->form_fields;
1551
  $untilupload = substr( $untilupload, strpos( $untilupload, $i . '*:*id*:*type_file_upload' ), -1 );
@@ -1877,10 +1882,11 @@ class FMModelForm_maker {
1877
  }
1878
  case "type_paypal_radio": {
1879
  $value = '';
1880
- $element = isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) && $_POST[ 'wdform_' . $i . "_element" . $id ] ? esc_html( $_POST[ 'wdform_' . $i . "_element" . $id ] ) : '';
1881
- if ( $element ) {
1882
  $value = (isset( $_POST[ 'wdform_' . $i . "_element_label" . $id ] ) ? esc_html( $_POST[ 'wdform_' . $i . "_element_label" . $id ] ) : '') . ' : ' . $form_currency . $element;
1883
  }
 
1884
  if ( $required && !isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ) {
1885
  $missing_required_field = TRUE;
1886
  break;
@@ -1912,7 +1918,7 @@ class FMModelForm_maker {
1912
  break;
1913
  }
1914
  case "type_paypal_shipping": {
1915
- $element = isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) && $_POST[ 'wdform_' . $i . "_element" . $id ] ? esc_html( $_POST[ 'wdform_' . $i . "_element" . $id ] ) : '';
1916
  if ( $required && !isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ) {
1917
  $missing_required_field = TRUE;
1918
  break;
@@ -3234,13 +3240,13 @@ class FMModelForm_maker {
3234
  // PDF output for extension.
3235
  $pdf_data = array('attach_to_admin' => 0, 'attach_to_user' => 0, 'pdf_url' => '');
3236
  if ( WDFMInstance(self::PLUGIN)->is_free != 2 ) {
3237
- $pdf_data = apply_filters( 'fm_pdf_data_frontend', $pdf_data, array( 'custom_fields' => $this->custom_fields, 'form_id' => $id ) );
3238
  }
3239
  if ( $pdf_data['attach_to_user'] ) {
3240
  array_push( $attachment_user, $pdf_data['pdf_url'] );
3241
  }
3242
 
3243
- if ( $row->sendemail && $row->send_to || (has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2) ) {
3244
  $body = $new_script;
3245
  $send_tos = explode( '**', $row->send_to );
3246
  $send_copy = isset( $_POST[ "wdform_send_copy_" . $id ] ) ? $_POST[ "wdform_send_copy_" . $id ] : NULL;
@@ -3255,38 +3261,45 @@ class FMModelForm_maker {
3255
  $body = str_replace( '{PDF(link)}', site_url($pdf_data['pdf_url']), $body );
3256
 
3257
  foreach ( $send_tos as $index => $send_to ) {
3258
- $send_to = str_replace( '*', '', $send_to );
3259
- if ( $row->mail_verify && $verification_link !== NULL
3260
- && (strpos( $new_script, "{verificationlink}" ) > -1 || strpos( $new_script, "%Verification link%" ) > -1) ) {
3261
- $ver_link = $row->mail_mode_user ? "<a href =" . add_query_arg( array(
3262
- 'gid' => $_SESSION[ 'gid' ],
3263
- 'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
3264
- ), get_post_permalink( $mail_verification_post_id ) ) . ">" . add_query_arg( array(
3265
- 'gid' => $_SESSION[ 'gid' ],
3266
- 'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
3267
- ), get_post_permalink( $mail_verification_post_id ) ) . "</a><br/>" : add_query_arg( array(
3268
- 'gid' => $_SESSION[ 'gid' ],
3269
- 'h' => $_SESSION[ 'hash' ][ $index ] . '@' . $send_to,
3270
- ), get_post_permalink( $mail_verification_post_id ) );
3271
- $body = str_replace( array( '%Verification link%', '{verificationlink}' ), $ver_link, $new_script );
3272
- }
3273
- $recipient = isset( $_POST[ 'wdform_' . str_replace( '*', '', $send_to ) . "_element" . $id ] ) ? $_POST[ 'wdform_' . $send_to . "_element" . $id ] : NULL;
3274
- if ( $recipient ) {
3275
- if ( $row->mail_attachment_user ) {
3276
- $remove_parrent_array_user = new RecursiveIteratorIterator( new RecursiveArrayIterator( $attachment_user ) );
3277
- $attachment_user = iterator_to_array( $remove_parrent_array_user, FALSE );
3278
- }
3279
- else {
 
 
 
 
 
 
 
 
3280
  $attachment_user = array();
3281
  }
3282
- if ( $row->sendemail && $row->send_to ) {
3283
  WDW_FM_Library(self::PLUGIN)->mail($recipient, $subject, $body, $header_arr, $attachment_user);
3284
  }
3285
  }
3286
  }
3287
  }
3288
  }
3289
-
3290
  // Admin part.
3291
  if ( $row->sendemail || (has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2) ) {
3292
  $recipient = $row->mail ? $row->mail : '';
@@ -3521,7 +3534,7 @@ class FMModelForm_maker {
3521
  $file_name = explode( '/', $attach );
3522
  $file_name = end( $file_name );
3523
  if ( $file_upload_link == 1 ) {
3524
- $new_value .= '<a href="' . site_url() . '/' . $attach . '"/>' . $file_name . '</a><br />';
3525
  } else {
3526
  $invalidFileExts = array(
3527
  'gif',
@@ -3919,7 +3932,7 @@ class FMModelForm_maker {
3919
  */
3920
  public function empty_field( $element = '', $mail_emptyfields = '' ) {
3921
  if ( !$mail_emptyfields ) {
3922
- if ( empty( $element ) ) {
3923
  return 0;
3924
  }
3925
  }
639
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form textarea,
640
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form .ui-spinner-input,
641
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form .file-upload-status,
642
+ .fm-form-container.fm-theme' . $theme_id . ' .fm-form .country-name,
643
  .fm-form-container.fm-theme' . $theme_id . ' .fm-form select {' .
644
  (!empty( $form_theme[ 'IPMargin' ] ) ? 'margin:' . $form_theme[ 'IPMargin' ] . ';' : '') .
645
  (!empty( $form_theme[ 'IPBGColor' ] ) ? 'background-color:' . $form_theme[ 'IPBGColor' ] . ';' : '') .
649
  ((isset( $form_theme[ 'IPBorderRadius' ] ) && $form_theme[ 'IPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'IPBorderRadius' ] . 'px !important;' : '') .
650
  (!empty( $form_theme[ 'IPBoxShadow' ] ) ? 'box-shadow:' . $form_theme[ 'IPBoxShadow' ] . ';' : '') .
651
  '}';
652
+ $css_content .= '.fm-form-container.fm-theme' . $theme_id . ' .fm-form .ui-slider-range {' .
653
+ ((isset( $form_theme[ 'IPBorderRadius' ] ) && $form_theme[ 'IPBorderRadius' ] !== '') ? 'border-radius:' . $form_theme[ 'IPBorderRadius' ] . 'px 0 0 ' . $form_theme[ 'IPBorderRadius' ] . 'px !important;' : '') .
654
+ '}';
655
+
656
  if ( $borders[ 'IP' ] ) {
657
  foreach ( $borders[ 'IP' ] as $border ) {
658
  if ( !empty( $form_theme[ 'IPBorderType' ] ) && ($form_theme[ 'IPBorderType' ] == 'inherit' || $form_theme[ 'IPBorderType' ] == 'initial') ) {
1263
  if ( $db_info ) {
1264
  $temp = explode( '@@@wdfhostwdf@@@', $db_info );
1265
  $host = $temp[ 0 ];
1266
+ $temp = explode( '@@@wdfportwdf@@@', $temp[1] );
1267
  $port = $temp[ 0 ];
1268
  if ($port) {
1269
  $host .= ':' . $port;
1437
  case "type_send_copy":
1438
  case "type_spinner": {
1439
  $value = isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ? trim( esc_html( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ) : "";
1440
+ if ( $required && $value === '' ) {
1441
  $missing_required_field = TRUE;
1442
  }
1443
  break;
1550
  $upload_dir = wp_upload_dir();
1551
  $files = isset( $_FILES[ 'wdform_' . $i . '_file' . $id ] ) ? $_FILES[ 'wdform_' . $i . '_file' . $id ] : array();
1552
  if ( !empty($files) ) {
1553
+ foreach ( $files[ 'name' ] as $file_key => $file_name ) {
1554
  if ( $file_name ) {
1555
  $untilupload = $form->form_fields;
1556
  $untilupload = substr( $untilupload, strpos( $untilupload, $i . '*:*id*:*type_file_upload' ), -1 );
1882
  }
1883
  case "type_paypal_radio": {
1884
  $value = '';
1885
+ $element = isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) && $_POST[ 'wdform_' . $i . "_element" . $id ] !== '' ? esc_html( $_POST[ 'wdform_' . $i . "_element" . $id ] ) : NULL;
1886
+ if ( isset($element) ) {
1887
  $value = (isset( $_POST[ 'wdform_' . $i . "_element_label" . $id ] ) ? esc_html( $_POST[ 'wdform_' . $i . "_element_label" . $id ] ) : '') . ' : ' . $form_currency . $element;
1888
  }
1889
+
1890
  if ( $required && !isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ) {
1891
  $missing_required_field = TRUE;
1892
  break;
1918
  break;
1919
  }
1920
  case "type_paypal_shipping": {
1921
+ $element = isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) && $_POST[ 'wdform_' . $i . "_element" . $id ] !== '' ? esc_html( $_POST[ 'wdform_' . $i . "_element" . $id ] ) : '';
1922
  if ( $required && !isset( $_POST[ 'wdform_' . $i . "_element" . $id ] ) ) {
1923
  $missing_required_field = TRUE;
1924
  break;
3240
  // PDF output for extension.
3241
  $pdf_data = array('attach_to_admin' => 0, 'attach_to_user' => 0, 'pdf_url' => '');
3242
  if ( WDFMInstance(self::PLUGIN)->is_free != 2 ) {
3243
+ $pdf_data = apply_filters( 'fm_pdf_data_frontend', $pdf_data, array( 'attachment' => $attachment_user, 'custom_fields' => $this->custom_fields, 'form_id' => $id ) );
3244
  }
3245
  if ( $pdf_data['attach_to_user'] ) {
3246
  array_push( $attachment_user, $pdf_data['pdf_url'] );
3247
  }
3248
 
3249
+ if ( $row->sendemail && $row->send_to || (has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2) ) {
3250
  $body = $new_script;
3251
  $send_tos = explode( '**', $row->send_to );
3252
  $send_copy = isset( $_POST[ "wdform_send_copy_" . $id ] ) ? $_POST[ "wdform_send_copy_" . $id ] : NULL;
3261
  $body = str_replace( '{PDF(link)}', site_url($pdf_data['pdf_url']), $body );
3262
 
3263
  foreach ( $send_tos as $index => $send_to ) {
3264
+ $send_to = str_replace('*', '', $send_to);
3265
+ $ver_link = $row->mail_mode_user ? "<a href =" . add_query_arg(array(
3266
+ 'gid' => $_SESSION['gid'],
3267
+ 'h' => $_SESSION['hash'][$index] . '@' . $send_to,
3268
+ ),
3269
+ get_post_permalink($mail_verification_post_id)) . ">" . add_query_arg(array(
3270
+ 'gid' => $_SESSION['gid'],
3271
+ 'h' => $_SESSION['hash'][$index] . '@' . $send_to,
3272
+ ),
3273
+ get_post_permalink($mail_verification_post_id)) . "</a><br/>" : add_query_arg(array(
3274
+ 'gid' => $_SESSION['gid'],
3275
+ 'h' => $_SESSION['hash'][$index] . '@' . $send_to,
3276
+ ), get_post_permalink($mail_verification_post_id));
3277
+
3278
+ if ($row->mail_verify && $verification_link !== NULL
3279
+ && (strpos($new_script, "{verificationlink}") === FALSE || strpos($new_script, "%Verification link%") === FALSE)) {
3280
+ $body .= $ver_link;
3281
+ }
3282
+
3283
+ if ($row->mail_verify && $verification_link !== NULL
3284
+ && (strpos($new_script, "{verificationlink}") > -1 || strpos($new_script, "%Verification link%") > -1)) {
3285
+ $body = str_replace(array('%Verification link%', '{verificationlink}'), $ver_link, $new_script);
3286
+ }
3287
+
3288
+ $recipient = isset($_POST['wdform_' . str_replace('*', '', $send_to) . "_element" . $id]) ? $_POST['wdform_' . $send_to . "_element" . $id] : NULL;
3289
+ if ($recipient) {
3290
+ if ($row->mail_attachment_user) {
3291
+ $remove_parrent_array_user = new RecursiveIteratorIterator(new RecursiveArrayIterator($attachment_user));
3292
+ $attachment_user = iterator_to_array($remove_parrent_array_user, FALSE);
3293
+ } else {
3294
  $attachment_user = array();
3295
  }
3296
+ if ($row->sendemail && $row->send_to) {
3297
  WDW_FM_Library(self::PLUGIN)->mail($recipient, $subject, $body, $header_arr, $attachment_user);
3298
  }
3299
  }
3300
  }
3301
  }
3302
  }
 
3303
  // Admin part.
3304
  if ( $row->sendemail || (has_action('fm_set_params_frontend_init') && WDFMInstance(self::PLUGIN)->is_free != 2) ) {
3305
  $recipient = $row->mail ? $row->mail : '';
3534
  $file_name = explode( '/', $attach );
3535
  $file_name = end( $file_name );
3536
  if ( $file_upload_link == 1 ) {
3537
+ $new_value .= '<a href="' . site_url() . '/' . $attach . '">' . $file_name . '</a><br />';
3538
  } else {
3539
  $invalidFileExts = array(
3540
  'gif',
3932
  */
3933
  public function empty_field( $element = '', $mail_emptyfields = '' ) {
3934
  if ( !$mail_emptyfields ) {
3935
+ if ( isset( $element ) && $element === '' ) {
3936
  return 0;
3937
  }
3938
  }
frontend/models/verify_email.php CHANGED
@@ -41,7 +41,7 @@ class FMModelVerify_email {
41
  $date = strtotime($submission->date);
42
  if ( $key === $md5 ) {
43
  $now = time();
44
- $hourInterval = floor(($now - $date) / 3600);
45
  if ( $expHour > 0 && $hourInterval > $expHour ) {
46
  $message = __('Your email verification has timed out.', WDFMInstance(self::PLUGIN)->prefix);
47
  }
41
  $date = strtotime($submission->date);
42
  if ( $key === $md5 ) {
43
  $now = time();
44
+ $hourInterval = ($now - $date) / 3600;
45
  if ( $expHour > 0 && $hourInterval > $expHour ) {
46
  $message = __('Your email verification has timed out.', WDFMInstance(self::PLUGIN)->prefix);
47
  }
frontend/views/form_maker.php CHANGED
@@ -178,7 +178,6 @@ class FMViewForm_maker {
178
  }
179
  }
180
 
181
-
182
  $is_type = array();
183
  $id1s = array();
184
  $types = array();
@@ -1073,7 +1072,7 @@ class FMViewForm_maker {
1073
  break;
1074
  }
1075
  case 'type_radio': {
1076
- $rep = $this->type_radio($params, $row, $form_id, $id1, $type, $param);
1077
  break;
1078
  }
1079
  case 'type_own_select': {
@@ -2113,22 +2112,26 @@ class FMViewForm_maker {
2113
  * @param array $param
2114
  * @return string
2115
  */
2116
- private function type_checkbox( $params = array(), $row = array(), $form_id = 0, $id1 = 0, $type = '', $param = array() ) {
2117
  //ToDo custom_fields add to params array key next version.
2118
- $custom_fields = $this->get_custom_fields();
2119
- $params_names = array(
2120
- 'w_field_label_size',
2121
- 'w_field_label_pos',
2122
- 'w_flow',
2123
- 'w_choices',
2124
- 'w_choices_checked',
2125
- 'w_rowcol',
2126
- 'w_required',
2127
- 'w_randomize',
2128
- 'w_allow_other',
2129
- 'w_allow_other_num',
2130
- 'w_class',
2131
- );
 
 
 
 
2132
  $temp = $params;
2133
  if ( strpos($temp, 'w_field_option_pos') > -1 ) {
2134
  $params_names = array(
@@ -2203,11 +2206,11 @@ class FMViewForm_maker {
2203
  $key1 = $key + $total_queries;
2204
  if ( isset($param['w_choices_params']) && $param['w_choices_params'][$key] ) {
2205
  $w_choices_params = explode('[where_order_by]', $param['w_choices_params'][$key]);
2206
- $where_str = $w_choices_params[0];
2207
- foreach ( $custom_fields as $custom_key => $custom_val ) {
2208
- $key_replace = array( '%' . $custom_key . '%', '{' . $custom_key . '}' );
2209
- $where_str = str_replace( $key_replace, $custom_val, $where_str );
2210
- }
2211
  $where = (str_replace(array( '[', ']' ), '', $w_choices_params[0]) ? ' WHERE ' . str_replace(array('[',']',), '', $where_str) : '');
2212
  $w_choices_params = explode('[db_info]', $w_choices_params[1]);
2213
  $order_by = str_replace(array( '[', ']' ), '', $w_choices_params[0]);
@@ -2215,12 +2218,12 @@ class FMViewForm_maker {
2215
  $label_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $choice));
2216
  $table = $label_table_and_column[0];
2217
  $label_column = $label_table_and_column[1];
2218
- if ( $label_column ) {
2219
  $choices_labels = $this->model->select_data_from_db_for_labels($db_info, $label_column, $table, $where, $order_by);
2220
  }
2221
  $value_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $param['w_choices_value'][$key]));
2222
  $value_column = $value_table_and_column[1];
2223
- if ( $value_column ) {
2224
  $choices_values = $this->model->select_data_from_db_for_values($db_info, $value_column, $table, $where, $order_by);
2225
  }
2226
  $columns_count_checkbox = count($choices_labels) > 0 ? count($choices_labels) : count($choices_values);
@@ -2281,9 +2284,13 @@ class FMViewForm_maker {
2281
  * @param array $param
2282
  * @return string
2283
  */
2284
- private function type_radio( $params = array(), $row = array(), $form_id = 0, $id1 = 0, $type = '', $param = array() ) {
2285
- //ToDo custom_fields add to params array key next version.
2286
- $custom_fields = $this->get_custom_fields();
 
 
 
 
2287
  $params_names = array(
2288
  'w_field_label_size',
2289
  'w_field_label_pos',
@@ -2337,7 +2344,7 @@ class FMViewForm_maker {
2337
  'w_class',
2338
  );
2339
  }
2340
- foreach ( $params_names as $params_name ) {
2341
  $temp = explode('*:*' . $params_name . '*:*', $temp);
2342
  $param[$params_name] = $temp[0];
2343
  $temp = $temp[1];
@@ -2373,11 +2380,11 @@ class FMViewForm_maker {
2373
  $key1 = $key + $total_queries;
2374
  if ( isset($param['w_choices_params']) && $param['w_choices_params'][$key] ) {
2375
  $w_choices_params = explode('[where_order_by]', $param['w_choices_params'][$key]);
2376
- $where_str = $w_choices_params[0];
2377
- foreach ( $custom_fields as $custom_key => $custom_val ) {
2378
- $key_replace = array( '%' . $custom_key . '%', '{' . $custom_key . '}' );
2379
- $where_str = str_replace( $key_replace, $custom_val, $where_str );
2380
- }
2381
  $where = (str_replace(array( '[', ']' ), '', $w_choices_params[0]) ? ' WHERE ' . str_replace(array('[', ']'), '', $where_str) : '');
2382
  $w_choices_params = explode('[db_info]', $w_choices_params[1]);
2383
  $order_by = str_replace(array( '[', ']' ), '', $w_choices_params[0]);
@@ -2385,12 +2392,12 @@ class FMViewForm_maker {
2385
  $label_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $choice));
2386
  $table = $label_table_and_column[0];
2387
  $label_column = $label_table_and_column[1];
2388
- if ( $label_column ) {
2389
  $choices_labels = $this->model->select_data_from_db_for_labels($db_info, $label_column, $table, $where, $order_by);
2390
  }
2391
  $value_table_and_column = explode(':', str_replace(array('[', ']'), '', $param['w_choices_value'][$key]));
2392
  $value_column = $value_table_and_column[1];
2393
- if ( $value_column ) {
2394
  $choices_values = $this->model->select_data_from_db_for_values($db_info, $value_column, $table, $where, $order_by);
2395
  }
2396
  $columns_count_radio = count($choices_labels) > 0 ? count($choices_labels) : count($choices_values);
@@ -2458,19 +2465,23 @@ class FMViewForm_maker {
2458
  * @param array $param
2459
  * @return string
2460
  */
2461
- private function type_own_select( $params = array(), $row = array(), $form_id = 0, $id1 = 0, $type = '', $param = array() ) {
2462
- //ToDo custom_fields add to params array key next version.
2463
- $custom_fields = $this->get_custom_fields();
2464
- $params_names = array(
2465
- 'w_field_label_size',
2466
- 'w_field_label_pos',
2467
- 'w_size',
2468
- 'w_choices',
2469
- 'w_choices_checked',
2470
- 'w_choices_disabled',
2471
- 'w_required',
2472
- 'w_class',
2473
- );
 
 
 
 
2474
  $temp = $params;
2475
  if ( strpos($temp, 'w_choices_value') > -1 ) {
2476
  $params_names = array(
@@ -2532,11 +2543,11 @@ class FMViewForm_maker {
2532
  foreach ( $param['w_choices'] as $key => $choice ) {
2533
  if ( isset($param['w_choices_params']) && $param['w_choices_params'][$key] ) {
2534
  $w_choices_params = explode('[where_order_by]', $param['w_choices_params'][$key]);
2535
- $where_str = $w_choices_params[0];
2536
- foreach ( $custom_fields as $custom_key => $custom_val ) {
2537
- $key_replace = array( '%' . $custom_key . '%', '{' . $custom_key . '}' );
2538
- $where_str = str_replace( $key_replace, $custom_val, $where_str );
2539
- }
2540
  $where = (str_replace(array( '[', ']' ), '', $w_choices_params[0]) ? ' WHERE ' . str_replace(array('[', ']'), '', $where_str) : '');
2541
  $w_choices_params = explode('[db_info]', $w_choices_params[1]);
2542
  $order_by = str_replace(array( '[', ']' ), '', $w_choices_params[0]);
@@ -2544,12 +2555,12 @@ class FMViewForm_maker {
2544
  $label_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $choice));
2545
  $table = $label_table_and_column[0];
2546
  $label_column = $label_table_and_column[1];
2547
- if ( $label_column ) {
2548
  $choices_labels = $this->model->select_data_from_db_for_labels($db_info, $label_column, $table, $where, $order_by);
2549
  }
2550
  $value_table_and_column = explode(':', str_replace(array('[', ']'), '', $param['w_choices_value'][$key]));
2551
  $value_column = $param['w_choices_disabled'][$key] == "true" ? '' : $value_table_and_column[1];
2552
- if ( $value_column ) {
2553
  $choices_values = $this->model->select_data_from_db_for_values($db_info, $value_column, $table, $where, $order_by);
2554
  }
2555
  $columns_count = count($choices_labels) > 0 ? count($choices_labels) : count($choices_values);
178
  }
179
  }
180
 
 
181
  $is_type = array();
182
  $id1s = array();
183
  $types = array();
1072
  break;
1073
  }
1074
  case 'type_radio': {
1075
+ $rep = $this->type_radio($params, $row, $form_id, $id1, $type, $param);
1076
  break;
1077
  }
1078
  case 'type_own_select': {
2112
  * @param array $param
2113
  * @return string
2114
  */
2115
+ function type_checkbox( $params = array(), $row = array(), $form_id = 0, $id1 = 0, $type = '', $param = array() ) {
2116
  //ToDo custom_fields add to params array key next version.
2117
+ $custom_fields = $this->get_custom_fields();
2118
+ $select_data_from_db = TRUE;
2119
+ if ( !empty($param['reset_fields']) && in_array($id1, $param['reset_fields']) ){
2120
+ $select_data_from_db = FALSE;
2121
+ }
2122
+ $params_names = array(
2123
+ 'w_field_label_size',
2124
+ 'w_field_label_pos',
2125
+ 'w_flow',
2126
+ 'w_choices',
2127
+ 'w_choices_checked',
2128
+ 'w_rowcol',
2129
+ 'w_required',
2130
+ 'w_randomize',
2131
+ 'w_allow_other',
2132
+ 'w_allow_other_num',
2133
+ 'w_class',
2134
+ );
2135
  $temp = $params;
2136
  if ( strpos($temp, 'w_field_option_pos') > -1 ) {
2137
  $params_names = array(
2206
  $key1 = $key + $total_queries;
2207
  if ( isset($param['w_choices_params']) && $param['w_choices_params'][$key] ) {
2208
  $w_choices_params = explode('[where_order_by]', $param['w_choices_params'][$key]);
2209
+ $where_str = $w_choices_params[0];
2210
+ foreach ( $custom_fields as $custom_key => $custom_val ) {
2211
+ $key_replace = array( '%' . $custom_key . '%', '{' . $custom_key . '}' );
2212
+ $where_str = str_replace( $key_replace, $custom_val, $where_str );
2213
+ }
2214
  $where = (str_replace(array( '[', ']' ), '', $w_choices_params[0]) ? ' WHERE ' . str_replace(array('[',']',), '', $where_str) : '');
2215
  $w_choices_params = explode('[db_info]', $w_choices_params[1]);
2216
  $order_by = str_replace(array( '[', ']' ), '', $w_choices_params[0]);
2218
  $label_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $choice));
2219
  $table = $label_table_and_column[0];
2220
  $label_column = $label_table_and_column[1];
2221
+ if ( $select_data_from_db && $label_column ) {
2222
  $choices_labels = $this->model->select_data_from_db_for_labels($db_info, $label_column, $table, $where, $order_by);
2223
  }
2224
  $value_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $param['w_choices_value'][$key]));
2225
  $value_column = $value_table_and_column[1];
2226
+ if ( $select_data_from_db && $value_column ) {
2227
  $choices_values = $this->model->select_data_from_db_for_values($db_info, $value_column, $table, $where, $order_by);
2228
  }
2229
  $columns_count_checkbox = count($choices_labels) > 0 ? count($choices_labels) : count($choices_values);
2284
  * @param array $param
2285
  * @return string
2286
  */
2287
+ function type_radio( $params = array(), $row = array(), $form_id = 0, $id1 = 0, $type = '', $param = array() ) {
2288
+ //ToDo custom_fields add to params array key next version.
2289
+ $custom_fields = $this->get_custom_fields();
2290
+ $select_data_from_db = TRUE;
2291
+ if ( !empty($param['reset_fields']) && in_array($id1, $param['reset_fields']) ){
2292
+ $select_data_from_db = FALSE;
2293
+ }
2294
  $params_names = array(
2295
  'w_field_label_size',
2296
  'w_field_label_pos',
2344
  'w_class',
2345
  );
2346
  }
2347
+ foreach ( $params_names as $params_name ) {
2348
  $temp = explode('*:*' . $params_name . '*:*', $temp);
2349
  $param[$params_name] = $temp[0];
2350
  $temp = $temp[1];
2380
  $key1 = $key + $total_queries;
2381
  if ( isset($param['w_choices_params']) && $param['w_choices_params'][$key] ) {
2382
  $w_choices_params = explode('[where_order_by]', $param['w_choices_params'][$key]);
2383
+ $where_str = $w_choices_params[0];
2384
+ foreach ( $custom_fields as $custom_key => $custom_val ) {
2385
+ $key_replace = array( '%' . $custom_key . '%', '{' . $custom_key . '}' );
2386
+ $where_str = str_replace( $key_replace, $custom_val, $where_str );
2387
+ }
2388
  $where = (str_replace(array( '[', ']' ), '', $w_choices_params[0]) ? ' WHERE ' . str_replace(array('[', ']'), '', $where_str) : '');
2389
  $w_choices_params = explode('[db_info]', $w_choices_params[1]);
2390
  $order_by = str_replace(array( '[', ']' ), '', $w_choices_params[0]);
2392
  $label_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $choice));
2393
  $table = $label_table_and_column[0];
2394
  $label_column = $label_table_and_column[1];
2395
+ if ( $select_data_from_db && $label_column ) {
2396
  $choices_labels = $this->model->select_data_from_db_for_labels($db_info, $label_column, $table, $where, $order_by);
2397
  }
2398
  $value_table_and_column = explode(':', str_replace(array('[', ']'), '', $param['w_choices_value'][$key]));
2399
  $value_column = $value_table_and_column[1];
2400
+ if ( $select_data_from_db && $value_column ) {
2401
  $choices_values = $this->model->select_data_from_db_for_values($db_info, $value_column, $table, $where, $order_by);
2402
  }
2403
  $columns_count_radio = count($choices_labels) > 0 ? count($choices_labels) : count($choices_values);
2465
  * @param array $param
2466
  * @return string
2467
  */
2468
+ function type_own_select( $params = array(), $row = array(), $form_id = 0, $id1 = 0, $type = '', $param = array() ) {
2469
+ //ToDo custom_fields add to params array key next version.
2470
+ $custom_fields = $this->get_custom_fields();
2471
+ $select_data_from_db = TRUE;
2472
+ if ( !empty($param['reset_fields']) && in_array($id1, $param['reset_fields']) ){
2473
+ $select_data_from_db = FALSE;
2474
+ }
2475
+ $params_names = array(
2476
+ 'w_field_label_size',
2477
+ 'w_field_label_pos',
2478
+ 'w_size',
2479
+ 'w_choices',
2480
+ 'w_choices_checked',
2481
+ 'w_choices_disabled',
2482
+ 'w_required',
2483
+ 'w_class',
2484
+ );
2485
  $temp = $params;
2486
  if ( strpos($temp, 'w_choices_value') > -1 ) {
2487
  $params_names = array(
2543
  foreach ( $param['w_choices'] as $key => $choice ) {
2544
  if ( isset($param['w_choices_params']) && $param['w_choices_params'][$key] ) {
2545
  $w_choices_params = explode('[where_order_by]', $param['w_choices_params'][$key]);
2546
+ $where_str = $w_choices_params[0];
2547
+ foreach ( $custom_fields as $custom_key => $custom_val ) {
2548
+ $key_replace = array( '%' . $custom_key . '%', '{' . $custom_key . '}' );
2549
+ $where_str = str_replace( $key_replace, $custom_val, $where_str );
2550
+ }
2551
  $where = (str_replace(array( '[', ']' ), '', $w_choices_params[0]) ? ' WHERE ' . str_replace(array('[', ']'), '', $where_str) : '');
2552
  $w_choices_params = explode('[db_info]', $w_choices_params[1]);
2553
  $order_by = str_replace(array( '[', ']' ), '', $w_choices_params[0]);
2555
  $label_table_and_column = explode(':', str_replace(array( '[', ']' ), '', $choice));
2556
  $table = $label_table_and_column[0];
2557
  $label_column = $label_table_and_column[1];
2558
+ if ( $select_data_from_db && $label_column ) {
2559
  $choices_labels = $this->model->select_data_from_db_for_labels($db_info, $label_column, $table, $where, $order_by);
2560
  }
2561
  $value_table_and_column = explode(':', str_replace(array('[', ']'), '', $param['w_choices_value'][$key]));
2562
  $value_column = $param['w_choices_disabled'][$key] == "true" ? '' : $value_table_and_column[1];
2563
+ if ( $select_data_from_db && $value_column ) {
2564
  $choices_values = $this->model->select_data_from_db_for_values($db_info, $value_column, $table, $where, $order_by);
2565
  }
2566
  $columns_count = count($choices_labels) > 0 ? count($choices_labels) : count($choices_values);
js/add_field.js CHANGED
@@ -14349,7 +14349,7 @@ function type_matrix(i, w_field_label, w_field_label_size, w_field_label_pos, w_
14349
  refresh_matrix(i);
14350
  }
14351
 
14352
- function create_pagination_type(i, w_type) {
14353
  var label = jQuery('<label class="fm-field-label">Pagination Options</label>');
14354
  var input1 = jQuery('<input type="radio" id="el_pagination_steps" name="el_pagination" onclick="pagination_type(\'steps\')"' + (w_type == 'steps' ? ' checked="checked"' : '') + ' />');
14355
  var label1 = jQuery('<label for="el_pagination_steps">Steps</label>');
@@ -14463,7 +14463,7 @@ function make_page_steps(w_pages) {
14463
  }
14464
  }
14465
 
14466
- function create_pagination_title(i, w_show_title) {
14467
  var label = jQuery('<label class="fm-field-label" for="el_show_title_input">Show Page Titles in Progress Bar</label>');
14468
  var input = jQuery('<input type="checkbox" id="el_show_title_input" onClick="show_title_pagebreak()"' + (w_show_title ? ' checked="checked"' : '') + ' />');
14469
  return create_option_container(label, input);
@@ -14479,7 +14479,7 @@ function show_title_pagebreak() {
14479
  }
14480
  }
14481
 
14482
- function create_pagination_numbers(i, w_show_numbers) {
14483
  var label = jQuery('<label class="fm-field-label" for="el_show_numbers_input">Show Page Numbers in Footer</label>');
14484
  var input = jQuery('<input type="checkbox" id="el_show_numbers_input" onClick="show_numbers_pagebreak()"' + (w_show_numbers ? ' checked="checked"' : '') + ' />');
14485
  return create_option_container(label, input);
@@ -14504,7 +14504,7 @@ function show_numbers_pagebreak() {
14504
  }
14505
  }
14506
 
14507
- function create_page_titles(i) {
14508
  var label = jQuery('<label class="fm-field-label">Pages Titles</label>');
14509
  var pages = jQuery('<div id="items" class="fm-width-100"></div>');
14510
  k = 0;
@@ -14562,10 +14562,10 @@ function type_page_navigation(w_type, w_show_title, w_show_numbers, w_attr_name,
14562
  var edit_main_table = jQuery('<div id="edit_main_table"></div>');
14563
  edit_div.append(edit_main_table);
14564
  edit_main_table.append(create_field_type('type_page_navigation'));
14565
- edit_main_table.append(create_pagination_type(i, w_type));
14566
- edit_main_table.append(create_pagination_title(i, w_show_title));
14567
- edit_main_table.append(create_pagination_numbers(i, w_show_numbers));
14568
- edit_main_table.append(create_page_titles(i));
14569
 
14570
  // Preview.
14571
  w_pages = [];
14349
  refresh_matrix(i);
14350
  }
14351
 
14352
+ function create_pagination_type(w_type) {
14353
  var label = jQuery('<label class="fm-field-label">Pagination Options</label>');
14354
  var input1 = jQuery('<input type="radio" id="el_pagination_steps" name="el_pagination" onclick="pagination_type(\'steps\')"' + (w_type == 'steps' ? ' checked="checked"' : '') + ' />');
14355
  var label1 = jQuery('<label for="el_pagination_steps">Steps</label>');
14463
  }
14464
  }
14465
 
14466
+ function create_pagination_title(w_show_title) {
14467
  var label = jQuery('<label class="fm-field-label" for="el_show_title_input">Show Page Titles in Progress Bar</label>');
14468
  var input = jQuery('<input type="checkbox" id="el_show_title_input" onClick="show_title_pagebreak()"' + (w_show_title ? ' checked="checked"' : '') + ' />');
14469
  return create_option_container(label, input);
14479
  }
14480
  }
14481
 
14482
+ function create_pagination_numbers(w_show_numbers) {
14483
  var label = jQuery('<label class="fm-field-label" for="el_show_numbers_input">Show Page Numbers in Footer</label>');
14484
  var input = jQuery('<input type="checkbox" id="el_show_numbers_input" onClick="show_numbers_pagebreak()"' + (w_show_numbers ? ' checked="checked"' : '') + ' />');
14485
  return create_option_container(label, input);
14504
  }
14505
  }
14506
 
14507
+ function create_page_titles() {
14508
  var label = jQuery('<label class="fm-field-label">Pages Titles</label>');
14509
  var pages = jQuery('<div id="items" class="fm-width-100"></div>');
14510
  k = 0;
14562
  var edit_main_table = jQuery('<div id="edit_main_table"></div>');
14563
  edit_div.append(edit_main_table);
14564
  edit_main_table.append(create_field_type('type_page_navigation'));
14565
+ edit_main_table.append(create_pagination_type(w_type));
14566
+ edit_main_table.append(create_pagination_title(w_show_title));
14567
+ edit_main_table.append(create_pagination_numbers(w_show_numbers));
14568
+ edit_main_table.append(create_page_titles());
14569
 
14570
  // Preview.
14571
  w_pages = [];
js/form_maker_form_advanced_layout.js CHANGED
@@ -26,15 +26,16 @@ jQuery(document).on('fm_tab_layout_loaded', function () {
26
  autoFormat();
27
  });
28
 
29
- function fm_apply_advanced_layout(task) {
30
- if (jQuery('#autogen_layout').is(':checked')) {
31
- jQuery('#custom_front').val(custom_front.replace(/\s+/g, ' ').replace(/> </g, '><'));
32
- }
33
- else {
34
- jQuery('#custom_front').val(editor.getValue().replace(/\s+/g, ' ').replace(/> </g, '><'));
 
 
35
  }
36
- fm_set_input_value('task', task);
37
- document.getElementById('fm_ApplyLayoutForm').submit();
38
  }
39
 
40
  function insertAtCursor_form(myId, myLabel) {
26
  autoFormat();
27
  });
28
 
29
+ function fm_apply_advanced_layout() {
30
+ var tabs_loaded = JSON.parse(jQuery('#fm_tabs_loaded').val());
31
+ if ( inArray('form_layout_tab', tabs_loaded) ) {
32
+ if (jQuery('#autogen_layout').is(':checked')) {
33
+ jQuery('#custom_front').val(custom_front.replace(/\s+/g, ' ').replace(/> </g, '><'));
34
+ } else {
35
+ jQuery('#custom_front').val(editor.getValue().replace(/\s+/g, ' ').replace(/> </g, '><'));
36
+ }
37
  }
38
+ return true;
 
39
  }
40
 
41
  function insertAtCursor_form(myId, myLabel) {
js/form_maker_manage.js CHANGED
@@ -20,7 +20,7 @@ function fm_row_handle(section) {
20
  var row_handle = jQuery('<div class="wdform_row_handle">' +
21
  '<span class="fm-ico-draggable"></span>' +
22
  '<span title="Remove the column" class="page_toolbar fm-ico-delete" onclick="fm_remove_row_popup(this);"></span>' +
23
- '<span class="add-new-field" onclick="jQuery(\'.wdform_section\').removeAttr(\'cur_column\');jQuery(this).parent().parent().attr(\'id\', \'cur_column\').val(1);popup_ready(); Enable(); return false;">' + form_maker_manage.add_new_field + '</span>' +
24
  '<div class="fm-divider"></div>' +
25
  '</div>');
26
  fm_section.prepend(row_handle);
@@ -70,6 +70,7 @@ function sortable_columns() {
70
  start: function(e, ui) {
71
  jQuery(".add-new-button").off("click");
72
  jQuery(".wdform_column").removeClass("fm-hidden");
 
73
  },
74
  stop: function(event, ui) {
75
  // Prevent dropping on "New Field" conatiner.
@@ -541,6 +542,7 @@ function add_condition_fields(num, ids1, labels1, types1, params1) {
541
 
542
  switch(types[index_of_field]) {
543
  case "type_text":
 
544
  case "type_password":
545
  case "type_textarea":
546
  case "type_name":
20
  var row_handle = jQuery('<div class="wdform_row_handle">' +
21
  '<span class="fm-ico-draggable"></span>' +
22
  '<span title="Remove the column" class="page_toolbar fm-ico-delete" onclick="fm_remove_row_popup(this);"></span>' +
23
+ '<span class="add-new-field" onclick="jQuery(\'#cur_column\').removeAttr(\'id\');jQuery(this).parent().parent().attr(\'id\', \'cur_column\').val(1);popup_ready(); Enable(); return false;">' + form_maker_manage.add_new_field + '</span>' +
24
  '<div class="fm-divider"></div>' +
25
  '</div>');
26
  fm_section.prepend(row_handle);
70
  start: function(e, ui) {
71
  jQuery(".add-new-button").off("click");
72
  jQuery(".wdform_column").removeClass("fm-hidden");
73
+ jQuery("#cur_column").removeAttr("id");
74
  },
75
  stop: function(event, ui) {
76
  // Prevent dropping on "New Field" conatiner.
542
 
543
  switch(types[index_of_field]) {
544
  case "type_text":
545
+ case "type_star_rating":
546
  case "type_password":
547
  case "type_textarea":
548
  case "type_name":
js/form_maker_manage_edit.js CHANGED
@@ -170,7 +170,7 @@ function FormManageSubmitButton(check_for_changes) {
170
  continue;
171
  }
172
  wdid = wdform_row.getAttribute("wdid");
173
- if (!wdid) {
174
  continue;
175
  }
176
  l_id = wdid;
@@ -808,14 +808,14 @@ function formOnload(rows) {
808
 
809
  jQuery( '.wdform-page-and-images' ).each(function() {
810
  var index = jQuery(this).find('.wdform_page').attr('id').split("form_id_tempform_view");
811
- i = index[1];
812
  form_view_max = i > form_view_max ? i : form_view_max;
813
  page_toolbar_wrap = document.createElement('div');
814
  page_toolbar_wrap.setAttribute('id', 'form_id_tempform_view_img' + i);
815
  page_toolbar_wrap.setAttribute('class', 'form_id_tempform_view_img');
816
 
817
  page_title = document.createElement('div');
818
- page_title.setAttribute('class', 'wdform_page_title');
819
  page_title.innerHTML = '<span class="fm-ico-draggable"></span>' + document.getElementById('form_id_tempform_view' + i).getAttribute('page_title');
820
  page_toolbar_wrap.appendChild(page_title);
821
 
170
  continue;
171
  }
172
  wdid = wdform_row.getAttribute("wdid");
173
+ if (!wdid || !jQuery('#' + wdid + '_element_labelform_id_temp').length) {
174
  continue;
175
  }
176
  l_id = wdid;
808
 
809
  jQuery( '.wdform-page-and-images' ).each(function() {
810
  var index = jQuery(this).find('.wdform_page').attr('id').split("form_id_tempform_view");
811
+ var i = parseInt(index[1]);
812
  form_view_max = i > form_view_max ? i : form_view_max;
813
  page_toolbar_wrap = document.createElement('div');
814
  page_toolbar_wrap.setAttribute('id', 'form_id_tempform_view_img' + i);
815
  page_toolbar_wrap.setAttribute('class', 'form_id_tempform_view_img');
816
 
817
  page_title = document.createElement('div');
818
+ page_title.setAttribute('class', 'wdform_page_title');
819
  page_title.innerHTML = '<span class="fm-ico-draggable"></span>' + document.getElementById('form_id_tempform_view' + i).getAttribute('page_title');
820
  page_toolbar_wrap.appendChild(page_title);
821
 
js/main_div_front_end.js CHANGED
@@ -183,6 +183,8 @@ function select_star_rating(id,el_id,form_id, color,star_amount) {
183
  document.getElementById(el_id+'_star_'+k+'_'+form_id).src=fm_objectL10n.plugin_url+"/images/star.png";
184
  }
185
  document.getElementById(el_id+'_selected_star_amount'+form_id).value=id+1;
 
 
186
  }
187
 
188
  function show_other_input(num, form_id) {
@@ -1098,11 +1100,13 @@ function scroll_on_element(form_id) {
1098
  fm_go_to_page(page_with_error, form_id, pagebreak_count, maxid[1]);
1099
  }
1100
  var body_hight = document.body.clientHeight;
 
1101
  var element_offset = jQuery("#form" + form_id + " .fm-not-filled").offset().top;
1102
 
1103
  var scrollChecker = function() {
1104
  if(document.body.clientHeight !== body_hight ) {
1105
  body_hight = document.body.clientHeight;
 
1106
  element_offset = jQuery("#form" + form_id + " .fm-not-filled").offset().top;
1107
  jQuery('html').stop();
1108
  animateBodyToError();
@@ -1111,9 +1115,9 @@ function scroll_on_element(form_id) {
1111
  jQuery(window).on("scroll",scrollChecker);
1112
  function animateBodyToError() {
1113
  jQuery('html').animate({
1114
- scrollTop: element_offset - 150
1115
  }, 500, function() {
1116
- document.scrollingElement.scrollTop = element_offset - 150; /* For Safari.*/
1117
  jQuery(window).off("scroll", scrollChecker);
1118
  old_bg=jQuery(parent_div).css("background-color");
1119
  jQuery(parent_div).effect( "shake", {}, 500 ).css("background-color","#FF8F8B").animate({backgroundColor: old_bg}, {duration: 500, queue: false });
@@ -1499,19 +1503,20 @@ function wd_is_filled(form_id, field_id, all_pages) {
1499
  case 'type_matrix': {
1500
  if ( jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'radio'
1501
  || jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'checkbox' ) {
 
1502
  if(all_pages || x.find(jQuery("div[wdid='"+wdid+"']")).closest(".wdform-page-and-images").css('display') != "none") {
1503
- if(x.find(jQuery("div[wdid='"+ wdid +"'] input:checked")).length == 0){
1504
- not_filled[wdid] = true;
1505
- }
1506
- }
1507
 
1508
- if ( jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'radio' ) {
1509
- jQuery.each(jQuery("#form" + form_id + " div[class^='wdform-matrix-row']"), function( i, rows ) {
1510
- if ( jQuery(rows).find('input[type="radio"]:checked').length == 0 ) {
1511
- not_filled[wdid] = true;
1512
- }
1513
- });
1514
- }
 
1515
 
1516
  if ( jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'checkbox' ) {
1517
  if ( !field_id && !window['check_submit'+form_id] ) {
183
  document.getElementById(el_id+'_star_'+k+'_'+form_id).src=fm_objectL10n.plugin_url+"/images/star.png";
184
  }
185
  document.getElementById(el_id+'_selected_star_amount'+form_id).value=id+1;
186
+ /* Trigger change event after rating change to make work condition.*/
187
+ jQuery("#" + el_id+'_selected_star_amount'+form_id).trigger("change");
188
  }
189
 
190
  function show_other_input(num, form_id) {
1100
  fm_go_to_page(page_with_error, form_id, pagebreak_count, maxid[1]);
1101
  }
1102
  var body_hight = document.body.clientHeight;
1103
+ var element_height = jQuery("#form" + form_id + " .fm-not-filled").closest("div[wdid]").height();
1104
  var element_offset = jQuery("#form" + form_id + " .fm-not-filled").offset().top;
1105
 
1106
  var scrollChecker = function() {
1107
  if(document.body.clientHeight !== body_hight ) {
1108
  body_hight = document.body.clientHeight;
1109
+ element_height = jQuery("#form" + form_id + " .fm-not-filled").closest("div[wdid]").height();
1110
  element_offset = jQuery("#form" + form_id + " .fm-not-filled").offset().top;
1111
  jQuery('html').stop();
1112
  animateBodyToError();
1115
  jQuery(window).on("scroll",scrollChecker);
1116
  function animateBodyToError() {
1117
  jQuery('html').animate({
1118
+ scrollTop: element_offset - (element_height + 40)
1119
  }, 500, function() {
1120
+ document.scrollingElement.scrollTop = element_offset - (element_height + 40); /* For Safari.*/
1121
  jQuery(window).off("scroll", scrollChecker);
1122
  old_bg=jQuery(parent_div).css("background-color");
1123
  jQuery(parent_div).effect( "shake", {}, 500 ).css("background-color","#FF8F8B").animate({backgroundColor: old_bg}, {duration: 500, queue: false });
1503
  case 'type_matrix': {
1504
  if ( jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'radio'
1505
  || jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'checkbox' ) {
1506
+
1507
  if(all_pages || x.find(jQuery("div[wdid='"+wdid+"']")).closest(".wdform-page-and-images").css('display') != "none") {
1508
+ if(x.find(jQuery("div[wdid='"+ wdid +"'] input:checked")).length == 0){
1509
+ not_filled[wdid] = true;
1510
+ }
 
1511
 
1512
+ if ( jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'radio' ) {
1513
+ jQuery.each(jQuery("#form" + form_id + " div[class^='wdform-matrix-row']"), function( i, rows ) {
1514
+ if ( jQuery(rows).find('input[type="radio"]:checked').length == 0 ) {
1515
+ not_filled[wdid] = true;
1516
+ }
1517
+ });
1518
+ }
1519
+ }
1520
 
1521
  if ( jQuery("#form" + form_id + " div[wdid='"+ wdid +"'] input").attr('type') == 'checkbox' ) {
1522
  if ( !field_id && !window['check_submit'+form_id] ) {
js/tw-gb/block.js CHANGED
@@ -1,12 +1,18 @@
1
  /**
2
  * 10Web plugins Gutenberg integration
3
- * version 2.0.0
4
  */
5
  ( function ( blocks, element ) {
6
  registerAllPluginBlocks();
7
 
8
  function registerAllPluginBlocks() {
9
- var twPluginsData = window['tw_gb'];
 
 
 
 
 
 
10
  if ( !twPluginsData ) {
11
  return;
12
  }
@@ -82,7 +88,7 @@
82
 
83
  function showPopup( shortcode, shortcode_id ) {
84
  var shortcodeCbName = generateUniqueCbName( pluginId );
85
- // Store shortcode attribute into a global variable to get it from an iframe.
86
  window[shortcodeCbName + '_shortcode'] = shortcode ? shortcode : '';
87
  window[shortcodeCbName] = function ( shortcode, shortcode_id ) {
88
  delete window[shortcodeCbName];
@@ -92,6 +98,15 @@
92
  }
93
  };
94
  props.setAttributes( { popupOpened: true } );
 
 
 
 
 
 
 
 
 
95
  var elem = el( 'form', { className: 'tw-container' }, el( 'div', { className: 'tw-container-wrap' + (pluginData.containerClass ? ' ' + pluginData.containerClass : '') }, el( 'span', {
96
  className: "media-modal-close",
97
  onClick: close
@@ -105,7 +120,7 @@
105
  var shortcodeList = JSON.parse( pluginData.data );
106
  shortcodeList.inputs.forEach( function ( inputItem ) {
107
  if ( inputItem.type === 'select' ) {
108
- children.push( el( 'option', { value: '', dataId: 0 }, tw_obj.empty_item ) );
109
  if ( inputItem.options.length ) {
110
  inputItem.options.forEach( function ( optionItem ) {
111
  var shortcode = '[' + shortcodeList.shortcode_prefix + ' ' + inputItem.shortcode_attibute_name + '="' + optionItem.id + '"]';
@@ -142,7 +157,7 @@
142
  onClick: function () {
143
  props.setAttributes( { popupOpened: true } );
144
  }.bind( this )
145
- }, tw_obj.nothing_selected );
146
  }
147
 
148
  function showShortcode() {
1
  /**
2
  * 10Web plugins Gutenberg integration
3
+ * version 2.0.3
4
  */
5
  ( function ( blocks, element ) {
6
  registerAllPluginBlocks();
7
 
8
  function registerAllPluginBlocks() {
9
+ var twPluginsData = JSON.parse(tw_obj_translate.blocks);
10
+ for ( var pluginId in window['tw_gb'] ) {
11
+ if ( !window['tw_gb'].hasOwnProperty( pluginId ) ) {
12
+ continue;
13
+ }
14
+ twPluginsData[pluginId] = window['tw_gb'][pluginId];
15
+ }
16
  if ( !twPluginsData ) {
17
  return;
18
  }
88
 
89
  function showPopup( shortcode, shortcode_id ) {
90
  var shortcodeCbName = generateUniqueCbName( pluginId );
91
+ /* Store shortcode attribute into a global variable to get it from an iframe. */
92
  window[shortcodeCbName + '_shortcode'] = shortcode ? shortcode : '';
93
  window[shortcodeCbName] = function ( shortcode, shortcode_id ) {
94
  delete window[shortcodeCbName];
98
  }
99
  };
100
  props.setAttributes( { popupOpened: true } );
101
+ if (!shortcode_id && undefined != shortcode) {
102
+ var shortcode_extract = shortcode.split(' ');
103
+ for (i = 0; i < shortcode_extract.length; i++) {
104
+ var attributes = shortcode_extract[i].split('=');
105
+ if ('id'== attributes[0]) {
106
+ shortcode_id = attributes[1].replace(/"/g, "");
107
+ }
108
+ }
109
+ }
110
  var elem = el( 'form', { className: 'tw-container' }, el( 'div', { className: 'tw-container-wrap' + (pluginData.containerClass ? ' ' + pluginData.containerClass : '') }, el( 'span', {
111
  className: "media-modal-close",
112
  onClick: close
120
  var shortcodeList = JSON.parse( pluginData.data );
121
  shortcodeList.inputs.forEach( function ( inputItem ) {
122
  if ( inputItem.type === 'select' ) {
123
+ children.push( el( 'option', { value: '', dataId: 0 }, tw_obj_translate.empty_item ) );
124
  if ( inputItem.options.length ) {
125
  inputItem.options.forEach( function ( optionItem ) {
126
  var shortcode = '[' + shortcodeList.shortcode_prefix + ' ' + inputItem.shortcode_attibute_name + '="' + optionItem.id + '"]';
157
  onClick: function () {
158
  props.setAttributes( { popupOpened: true } );
159
  }.bind( this )
160
+ }, tw_obj_translate.nothing_selected );
161
  }
162
 
163
  function showShortcode() {
languages/form_maker-af.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "waarde moet tussen "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-ar.po CHANGED
@@ -1729,8 +1729,8 @@ msgstr "يجب أن تكون قيمة بين"
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1733
- "Dorado support team at support@web-dorado.com. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1733
+ "support team at support@10web.io. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
languages/form_maker-be_BY.po CHANGED
@@ -1735,8 +1735,8 @@ msgstr "значэнне павінна быць паміж "
1735
  #: form-maker.php:819
1736
  msgid ""
1737
  "Oops! Seems like you installed the update over a quite old version of Form "
1738
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1739
- "Dorado support team at support@web-dorado.com. We will take care of this "
1740
  "issue as soon as possible."
1741
  msgstr ""
1742
 
1735
  #: form-maker.php:819
1736
  msgid ""
1737
  "Oops! Seems like you installed the update over a quite old version of Form "
1738
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1739
+ "support team at support@10web.io. We will take care of this "
1740
  "issue as soon as possible."
1741
  msgstr ""
1742
 
languages/form_maker-bg_BG.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "стойност трябва да бъде между "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-ca.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "valor ha d'estar entre "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-cs_CZ.po CHANGED
@@ -1749,8 +1749,8 @@ msgstr " hodnota musí být mezi "
1749
  #: form-maker.php:819
1750
  msgid ""
1751
  "Oops! Seems like you installed the update over a quite old version of Form "
1752
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1753
- "Dorado support team at support@web-dorado.com. We will take care of this "
1754
  "issue as soon as possible."
1755
  msgstr ""
1756
 
1749
  #: form-maker.php:819
1750
  msgid ""
1751
  "Oops! Seems like you installed the update over a quite old version of Form "
1752
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1753
+ "support team at support@10web.io. We will take care of this "
1754
  "issue as soon as possible."
1755
  msgstr ""
1756
 
languages/form_maker-da_DK.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "værdi skal være mellem "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-de_DE.po CHANGED
@@ -1731,8 +1731,8 @@ msgstr "Wert muss zwischen sein"
1731
  #: form-maker.php:819
1732
  msgid ""
1733
  "Oops! Seems like you installed the update over a quite old version of Form "
1734
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1735
- "Dorado support team at support@web-dorado.com. We will take care of this "
1736
  "issue as soon as possible."
1737
  msgstr ""
1738
 
1731
  #: form-maker.php:819
1732
  msgid ""
1733
  "Oops! Seems like you installed the update over a quite old version of Form "
1734
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1735
+ "support team at support@10web.io. We will take care of this "
1736
  "issue as soon as possible."
1737
  msgstr ""
1738
 
languages/form_maker-el.po CHANGED
@@ -1735,8 +1735,8 @@ msgstr "τιμή πρέπει να είναι μεταξύ "
1735
  #: form-maker.php:819
1736
  msgid ""
1737
  "Oops! Seems like you installed the update over a quite old version of Form "
1738
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1739
- "Dorado support team at support@web-dorado.com. We will take care of this "
1740
  "issue as soon as possible."
1741
  msgstr ""
1742
 
1735
  #: form-maker.php:819
1736
  msgid ""
1737
  "Oops! Seems like you installed the update over a quite old version of Form "
1738
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1739
+ "support team at support@10web.io. We will take care of this "
1740
  "issue as soon as possible."
1741
  msgstr ""
1742
 
languages/form_maker-en_US.po CHANGED
@@ -1733,8 +1733,8 @@ msgstr "value must be between"
1733
  #: form-maker.php:819
1734
  msgid ""
1735
  "Oops! Seems like you installed the update over a quite old version of Form "
1736
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1737
- "Dorado support team at support@web-dorado.com. We will take care of this "
1738
  "issue as soon as possible."
1739
  msgstr ""
1740
 
1733
  #: form-maker.php:819
1734
  msgid ""
1735
  "Oops! Seems like you installed the update over a quite old version of Form "
1736
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1737
+ "support team at support@10web.io. We will take care of this "
1738
  "issue as soon as possible."
1739
  msgstr ""
1740
 
languages/form_maker-eo_EO.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "valoro devas esti inter "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-es_ES.po CHANGED
@@ -1731,8 +1731,8 @@ msgstr "El valor debe estar entre"
1731
  #: form-maker.php:819
1732
  msgid ""
1733
  "Oops! Seems like you installed the update over a quite old version of Form "
1734
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1735
- "Dorado support team at support@web-dorado.com. We will take care of this "
1736
  "issue as soon as possible."
1737
  msgstr ""
1738
 
1731
  #: form-maker.php:819
1732
  msgid ""
1733
  "Oops! Seems like you installed the update over a quite old version of Form "
1734
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1735
+ "support team at support@10web.io. We will take care of this "
1736
  "issue as soon as possible."
1737
  msgstr ""
1738
 
languages/form_maker-et.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "väärtus peab olema vahemikus "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-fa_IR.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "ارزش باید بین است "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-fi.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "arvon on oltava välillä "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-fr_FR.po CHANGED
@@ -1730,8 +1730,8 @@ msgstr "La valeur doit être comprise entre"
1730
  #: form-maker.php:819
1731
  msgid ""
1732
  "Oops! Seems like you installed the update over a quite old version of Form "
1733
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1734
- "Dorado support team at support@web-dorado.com. We will take care of this "
1735
  "issue as soon as possible."
1736
  msgstr ""
1737
 
1730
  #: form-maker.php:819
1731
  msgid ""
1732
  "Oops! Seems like you installed the update over a quite old version of Form "
1733
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1734
+ "support team at support@10web.io. We will take care of this "
1735
  "issue as soon as possible."
1736
  msgstr ""
1737
 
languages/form_maker-gl_ES.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "valor debe estar entre "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-he_IL.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "ערך חייב להיות בין"
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-hi_IN.po CHANGED
@@ -1692,8 +1692,8 @@ msgstr "  मूल्य के बीच होना चाहिए"
1692
  #: form-maker.php:819
1693
  msgid ""
1694
  "Oops! Seems like you installed the update over a quite old version of Form Maker. "
1695
- "Unfortunately, this version is deprecated.<br />Please contact Web-Dorado support team at "
1696
- "support@web-dorado.com. We will take care of this issue as soon as possible."
1697
  msgstr ""
1698
 
1699
  #: form-maker.php:882
1692
  #: form-maker.php:819
1693
  msgid ""
1694
  "Oops! Seems like you installed the update over a quite old version of Form Maker. "
1695
+ "Unfortunately, this version is deprecated.<br />Please contact 10Web support team at "
1696
+ "support@10web.io. We will take care of this issue as soon as possible."
1697
  msgstr ""
1698
 
1699
  #: form-maker.php:882
languages/form_maker-hr.po CHANGED
@@ -3220,8 +3220,8 @@ msgstr "vrijednost mora biti između "
3220
  #: form-maker.php:819
3221
  msgid ""
3222
  "Oops! Seems like you installed the update over a quite old version of Form "
3223
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
3224
- "Dorado support team at support@web-dorado.com. We will take care of this "
3225
  "issue as soon as possible."
3226
  msgstr ""
3227
 
3220
  #: form-maker.php:819
3221
  msgid ""
3222
  "Oops! Seems like you installed the update over a quite old version of Form "
3223
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
3224
+ "support team at support@10web.io. We will take care of this "
3225
  "issue as soon as possible."
3226
  msgstr ""
3227
 
languages/form_maker-hu_HU.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "érték között kell lennie "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-hy.po CHANGED
@@ -3219,8 +3219,8 @@ msgstr "արժեքը պետք է լինի "
3219
  #: form-maker.php:819
3220
  msgid ""
3221
  "Oops! Seems like you installed the update over a quite old version of Form "
3222
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
3223
- "Dorado support team at support@web-dorado.com. We will take care of this "
3224
  "issue as soon as possible."
3225
  msgstr ""
3226
 
3219
  #: form-maker.php:819
3220
  msgid ""
3221
  "Oops! Seems like you installed the update over a quite old version of Form "
3222
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
3223
+ "support team at support@10web.io. We will take care of this "
3224
  "issue as soon as possible."
3225
  msgstr ""
3226
 
languages/form_maker-id_ID.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "Nilai harus antara "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-it_IT.po CHANGED
@@ -1751,14 +1751,14 @@ msgstr "L'anno deve essere compreso tra %s e %s"
1751
  #: form-maker.php:819
1752
  msgid ""
1753
  "Oops! Seems like you installed the update over a quite old version of Form "
1754
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1755
- "Dorado support team at support@web-dorado.com. We will take care of this "
1756
  "issue as soon as possible."
1757
  msgstr ""
1758
  "Oops! Sembra che tu abbia installato l'aggiornamento su una versione "
1759
  "piuttosto vecchia di Form Maker. Purtroppo, questa versione è obsoleta. <br /"
1760
- "> Si prega di contattare il team di supporto di Web-Dorado all'indirizzo "
1761
- "support@web-dorado.com. Ci faremo carico di questo problema il prima "
1762
  "possibile."
1763
 
1764
  #: form-maker.php:882
1751
  #: form-maker.php:819
1752
  msgid ""
1753
  "Oops! Seems like you installed the update over a quite old version of Form "
1754
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1755
+ "support team at support@10web.io. We will take care of this "
1756
  "issue as soon as possible."
1757
  msgstr ""
1758
  "Oops! Sembra che tu abbia installato l'aggiornamento su una versione "
1759
  "piuttosto vecchia di Form Maker. Purtroppo, questa versione è obsoleta. <br /"
1760
+ "> Si prega di contattare il team di supporto di 10Web all'indirizzo "
1761
+ "support@10web.io. Ci faremo carico di questo problema il prima "
1762
  "possibile."
1763
 
1764
  #: form-maker.php:882
languages/form_maker-ja.po CHANGED
@@ -1735,8 +1735,8 @@ msgstr "値はの間でなければなりません "
1735
  #: form-maker.php:819
1736
  msgid ""
1737
  "Oops! Seems like you installed the update over a quite old version of Form "
1738
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1739
- "Dorado support team at support@web-dorado.com. We will take care of this "
1740
  "issue as soon as possible."
1741
  msgstr ""
1742
 
1735
  #: form-maker.php:819
1736
  msgid ""
1737
  "Oops! Seems like you installed the update over a quite old version of Form "
1738
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1739
+ "support team at support@10web.io. We will take care of this "
1740
  "issue as soon as possible."
1741
  msgstr ""
1742
 
languages/form_maker-ka_GE.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "ღირებულება უნდა იყოს"
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-ko_KR.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "값 사이에 있어야합니다 "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-lt_LT.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "vertė turi būti tarp "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-lv.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "vērtība ir starp "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-mk_MK.po CHANGED
@@ -1734,8 +1734,8 @@ msgstr "вредност мора да биде помеѓу "
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1738
- "Dorado support team at support@web-dorado.com. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
1734
  #: form-maker.php:819
1735
  msgid ""
1736
  "Oops! Seems like you installed the update over a quite old version of Form "
1737
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1738
+ "support team at support@10web.io. We will take care of this "
1739
  "issue as soon as possible."
1740
  msgstr ""
1741
 
languages/form_maker-ms_MY.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "nilai mesti di antara"
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-mt_MT.po CHANGED
@@ -1725,8 +1725,8 @@ msgstr "valur għandha tkun bejn"
1725
  #: form-maker.php:819
1726
  msgid ""
1727
  "Oops! Seems like you installed the update over a quite old version of Form "
1728
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1729
- "Dorado support team at support@web-dorado.com. We will take care of this "
1730
  "issue as soon as possible."
1731
  msgstr ""
1732
 
1725
  #: form-maker.php:819
1726
  msgid ""
1727
  "Oops! Seems like you installed the update over a quite old version of Form "
1728
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1729
+ "support team at support@10web.io. We will take care of this "
1730
  "issue as soon as possible."
1731
  msgstr ""
1732
 
languages/form_maker-nb_NO.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "Verdien må være mellom "
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-nl_NL.po CHANGED
@@ -1729,8 +1729,8 @@ msgstr "  waarde moet liggen tussen"
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1733
- "Dorado support team at support@web-dorado.com. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1733
+ "support team at support@10web.io. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
languages/form_maker-pl_PL.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "Wartość musi być między"
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-pt_PT.po CHANGED
@@ -1726,8 +1726,8 @@ msgstr "valor deve estar entre"
1726
  #: form-maker.php:819
1727
  msgid ""
1728
  "Oops! Seems like you installed the update over a quite old version of Form "
1729
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1730
- "Dorado support team at support@web-dorado.com. We will take care of this "
1731
  "issue as soon as possible."
1732
  msgstr ""
1733
 
1726
  #: form-maker.php:819
1727
  msgid ""
1728
  "Oops! Seems like you installed the update over a quite old version of Form "
1729
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1730
+ "support team at support@10web.io. We will take care of this "
1731
  "issue as soon as possible."
1732
  msgstr ""
1733
 
languages/form_maker-ro_RO.po CHANGED
@@ -1726,8 +1726,8 @@ msgstr "Valoarea trebuie să fie între "
1726
  #: form-maker.php:819
1727
  msgid ""
1728
  "Oops! Seems like you installed the update over a quite old version of Form "
1729
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1730
- "Dorado support team at support@web-dorado.com. We will take care of this "
1731
  "issue as soon as possible."
1732
  msgstr ""
1733
 
1726
  #: form-maker.php:819
1727
  msgid ""
1728
  "Oops! Seems like you installed the update over a quite old version of Form "
1729
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1730
+ "support team at support@10web.io. We will take care of this "
1731
  "issue as soon as possible."
1732
  msgstr ""
1733
 
languages/form_maker-ru_RU.po CHANGED
@@ -1731,8 +1731,8 @@ msgstr " Значение должно быть между"
1731
  #: form-maker.php:819
1732
  msgid ""
1733
  "Oops! Seems like you installed the update over a quite old version of Form "
1734
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1735
- "Dorado support team at support@web-dorado.com. We will take care of this "
1736
  "issue as soon as possible."
1737
  msgstr ""
1738
 
1731
  #: form-maker.php:819
1732
  msgid ""
1733
  "Oops! Seems like you installed the update over a quite old version of Form "
1734
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1735
+ "support team at support@10web.io. We will take care of this "
1736
  "issue as soon as possible."
1737
  msgstr ""
1738
 
languages/form_maker-sk_SK.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "hodnota musí byť medzi "
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-sq.po CHANGED
@@ -1725,8 +1725,8 @@ msgstr "Vlera duhet të jetë në mes të "
1725
  #: form-maker.php:819
1726
  msgid ""
1727
  "Oops! Seems like you installed the update over a quite old version of Form "
1728
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1729
- "Dorado support team at support@web-dorado.com. We will take care of this "
1730
  "issue as soon as possible."
1731
  msgstr ""
1732
 
1725
  #: form-maker.php:819
1726
  msgid ""
1727
  "Oops! Seems like you installed the update over a quite old version of Form "
1728
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1729
+ "support team at support@10web.io. We will take care of this "
1730
  "issue as soon as possible."
1731
  msgstr ""
1732
 
languages/form_maker-sr_RS.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "Вредност мора бити између "
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-sv_SE.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "Värdet måste vara mellan "
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-ta.po CHANGED
@@ -1704,8 +1704,8 @@ msgstr "மதிப்பு இடையே இருக்க வேண்ட
1704
  #: form-maker.php:819
1705
  msgid ""
1706
  "Oops! Seems like you installed the update over a quite old version of Form Maker. "
1707
- "Unfortunately, this version is deprecated.<br />Please contact Web-Dorado support team "
1708
- "at support@web-dorado.com. We will take care of this issue as soon as possible."
1709
  msgstr ""
1710
 
1711
  #: form-maker.php:882
1704
  #: form-maker.php:819
1705
  msgid ""
1706
  "Oops! Seems like you installed the update over a quite old version of Form Maker. "
1707
+ "Unfortunately, this version is deprecated.<br />Please contact 10Web support team "
1708
+ "at support@10web.io. We will take care of this issue as soon as possible."
1709
  msgstr ""
1710
 
1711
  #: form-maker.php:882
languages/form_maker-th.po CHANGED
@@ -1712,8 +1712,8 @@ msgstr "จะต้องมีค่าระหว่าง "
1712
  #: form-maker.php:819
1713
  msgid ""
1714
  "Oops! Seems like you installed the update over a quite old version of Form Maker. "
1715
- "Unfortunately, this version is deprecated.<br />Please contact Web-Dorado support "
1716
- "team at support@web-dorado.com. We will take care of this issue as soon as possible."
1717
  msgstr ""
1718
 
1719
  #: form-maker.php:882
1712
  #: form-maker.php:819
1713
  msgid ""
1714
  "Oops! Seems like you installed the update over a quite old version of Form Maker. "
1715
+ "Unfortunately, this version is deprecated.<br />Please contact 10Web support "
1716
+ "team at support@10web.io. We will take care of this issue as soon as possible."
1717
  msgstr ""
1718
 
1719
  #: form-maker.php:882
languages/form_maker-tr_TR.po CHANGED
@@ -1729,8 +1729,8 @@ msgstr "Değer arasında olmalı"
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1733
- "Dorado support team at support@web-dorado.com. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1733
+ "support team at support@10web.io. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
languages/form_maker-uk_UA.po CHANGED
@@ -1724,8 +1724,8 @@ msgstr "Значення має бути між "
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1728
- "Dorado support team at support@web-dorado.com. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
1724
  #: form-maker.php:819
1725
  msgid ""
1726
  "Oops! Seems like you installed the update over a quite old version of Form "
1727
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1728
+ "support team at support@10web.io. We will take care of this "
1729
  "issue as soon as possible."
1730
  msgstr ""
1731
 
languages/form_maker-vi.po CHANGED
@@ -1725,8 +1725,8 @@ msgstr "giá trị phải là giữa "
1725
  #: form-maker.php:819
1726
  msgid ""
1727
  "Oops! Seems like you installed the update over a quite old version of Form "
1728
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1729
- "Dorado support team at support@web-dorado.com. We will take care of this "
1730
  "issue as soon as possible."
1731
  msgstr ""
1732
 
1725
  #: form-maker.php:819
1726
  msgid ""
1727
  "Oops! Seems like you installed the update over a quite old version of Form "
1728
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1729
+ "support team at support@10web.io. We will take care of this "
1730
  "issue as soon as possible."
1731
  msgstr ""
1732
 
languages/form_maker-zh_CN.po CHANGED
@@ -1729,8 +1729,8 @@ msgstr " 值必须在之间"
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
- "Maker. Unfortunately, this version is deprecated.<br />Please contact Web-"
1733
- "Dorado support team at support@web-dorado.com. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
1729
  #: form-maker.php:819
1730
  msgid ""
1731
  "Oops! Seems like you installed the update over a quite old version of Form "
1732
+ "Maker. Unfortunately, this version is deprecated.<br />Please contact 10Web "
1733
+ "support team at support@10web.io. We will take care of this "
1734
  "issue as soon as possible."
1735
  msgstr ""
1736
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: webdorado,10web,wdsupport,formmakersupport
3
  Tags: form, forms, form builder, contact form, feedback, custom form, contact, web contact form, captcha, email, form manager, survey
4
  Requires at least: 4.6
5
  Tested up to: 5.1
6
- Stable tag: 1.13.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -522,6 +522,21 @@ Where **{{field_id}}** is the ID of the field you wish to prefill. Also, **{{par
522
 
523
  == Changelog ==
524
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
525
  = 1.13.2 =
526
  * Changed: Links to 10Web.io.
527
 
3
  Tags: form, forms, form builder, contact form, feedback, custom form, contact, web contact form, captcha, email, form manager, survey
4
  Requires at least: 4.6
5
  Tested up to: 5.1
6
+ Stable tag: 1.13.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
522
 
523
  == Changelog ==
524
 
525
+ = 1.13.3 =
526
+ * Added: Functionality to add placeholders in "Select options from database" Where selector.
527
+ * Added: Functionality to use "Star rating" as a condition.
528
+ * Fixed: Security issue.
529
+ * Fixed: Link for attachment in email.
530
+ * Fixed: Allow "0" value for required fields.
531
+ * Fixed: Don't use the same title for the duplicated form.
532
+ * Fixed: Adding field to incorrect position.
533
+ * Fixed: Scroll to required address field.
534
+ * Fixed: Broken multiple pages.
535
+ * Fixed: MySQL mapping edit functionality.
536
+ * Fixed: Multisite support for add-ons.
537
+ * Fixed: Saving advanced layout.
538
+ * Fixed: 0 value is not saved in submissions for Payment single choice and Shipping fields.
539
+
540
  = 1.13.2 =
541
  * Changed: Links to 10Web.io.
542
 
wd/assets/img/plugins/business_elite.png DELETED
Binary file
wd/assets/img/plugins/business_world.png DELETED
Binary file
wd/assets/img/plugins/event-calendar-wd.png DELETED
Binary file
wd/assets/img/plugins/form-maker.png DELETED
Binary file
wd/assets/img/plugins/photo-gallery.png DELETED
Binary file
wd/assets/img/plugins/portfolio_gallery.png DELETED
Binary file
wd/assets/img/plugins/sauron.png DELETED
Binary file
wd/assets/img/plugins/slider-wd.png DELETED
Binary file
wd/assets/img/plugins/spider-event-calendar.png DELETED
Binary file
wd/assets/img/plugins/wd-google-maps.png DELETED
Binary file
wd/assets/img/plugins/wd-instagram-feed.png DELETED
Binary file
wd/assets/img/sub_1.png DELETED
Binary file
wd/assets/img/sub_2.png DELETED
Binary file
wd/assets/img/sub_4.png DELETED
Binary file
wd/templates/display_overview_deals.php DELETED
@@ -1,81 +0,0 @@
1
- <div id="deals">
2
-
3
- <div id="plugins">
4
- <div class="deals_header deals_header_plugins">
5
- <a href="https://web-dorado.com/wordpress-plugins-bundle.html" target="_blank">
6
- <div class="wd-table">
7
- <div class="wd-cell wd-text-right wd-valign-middle">
8
- <img src="<?php echo $wd_options->wd_url_img . '/' . $wd_options->prefix . '_main_plugin.png'; ?>" width="100px">
9
- </div>
10
- <div class="wd-cell wd-valign-middle">
11
- <div class="titles_wrap">
12
- <div class="deals_main_title"><?php echo sprintf( __( "Get %s", $wd_options->prefix ), $wd_options->plugin_title ); ?></div>
13
- <div class="deals_main_title"><span class="higlight">+27 </span><?php echo __( "plugins", $wd_options->prefix ); ?></div>
14
- <div class="deals_secondary_title"><?php echo __( "for", $wd_options->prefix ); ?><span class="higlight"> $99 </span><?php echo __( "only", $wd_options->prefix ); ?></div>
15
- </div>
16
- <div class="deals_save"><?php echo __( "Save 80%", $wd_options->prefix ); ?></div>
17
- </div>
18
- </div>
19
- </a>
20
- </div>
21
- <div class="deals_content">
22
- <?php foreach( $plugins as $wp_slug => &$plugin ){ ?>
23
-
24
- <div class="deal_block">
25
- <div class="deal_title">
26
- <a href="<?php echo $plugin["href"]; ?>" target="_blank" >
27
- <img src = "<?php echo $wd_options->wd_url_img . '/plugins/' . $wp_slug . '.png'; ?>">
28
- <h2><?php echo $plugin["title"]; ?></h2>
29
- </a>
30
- </div>
31
- <div class="deal_desc">
32
- <p><?php echo $plugin["content"]; ?></p>
33
- <div class="deal_desc_footer">
34
- <div class="download_btn">
35
- <a href="<?php echo $plugin["href"]; ?>" target="_blank" ><?php _e( "Download", $wd_options->prefix ); ?></a>
36
- </div>
37
- </div>
38
- </div>
39
-
40
- </div>
41
- <?php } ?>
42
- </div>
43
- <div class="get_all_deals">
44
- <a href="https://web-dorado.com/wordpress-plugins-bundle.html" target="_blank" >
45
- <?php _e( "Get all plugins", $wd_options->prefix ); ?>
46
- </a>
47
- </div>
48
- </div>
49
- <div id="themes">
50
- <div class="deals_header deals_header_themes">
51
- <a href="https://web-dorado.com/wordpress-themes-bundle.html" target="_blank">
52
- <div class="wd-table">
53
- <div class="wd-cell wd-text-right wd-valign-middle">
54
- </div>
55
- <div class="wd-cell wd-valign-middle">
56
- <div class="titles_wrap">
57
- <div class="deals_main_title"><?php echo __( "Get all 11 themes", $wd_options->prefix ); ?></div>
58
- <div class="deals_main_title"><?php echo __( "for", $wd_options->prefix ); ?><span class="higlight"> $40 </span><?php echo __( "only", $wd_options->prefix ); ?></div>
59
- </div>
60
- <div class="deals_save"><?php echo __( "Save 70%", $wd_options->prefix ); ?></div>
61
- </div>
62
- </div>
63
- </a>
64
- </div>
65
- <div class="deals_content">
66
- <?php foreach( $themes as $slug => $theme ){ ?>
67
- <div class="theme_block">
68
- <a href="<?php echo $theme["href"]; ?>" target="_blank" >
69
- <img src = "<?php echo $wd_options->wd_url_img . '/plugins/' . $slug . '.png'; ?>" width="100%;">
70
- <div><?php echo $theme["title"]; ?></div>
71
- </a>
72
- </div>
73
- <?php } ?>
74
- </div>
75
- <div class="get_all_deals">
76
- <a href="https://web-dorado.com/wordpress-themes-bundle.html" target="_blank" >
77
- <?php _e( "Find out more", $wd_options->prefix ); ?>
78
- </a>
79
- </div>
80
- </div>
81
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wd/templates/display_overview_support.php DELETED
@@ -1,59 +0,0 @@
1
- <div id="support">
2
- <p class="wd-support-main">
3
- <?php echo sprintf( __("You may contact us by filling in this form or by email %s any time you need professional support or have any questions. You can also fill in the form to leave your comments or feedback.", $wd_options->prefix), "<span class='support_email'>(support@web-dorado.com)</span>") ;?>
4
- </p>
5
- <div class="wd-overview-site-deatils">
6
- <h2><?php _e( "Site Details", $wd_options->prefix ); ?></h2>
7
- <p>
8
- <?php _e( "When contacting support, consider copying and pasting this information in your support request.", $wd_options->prefix ); ?>
9
- <br>
10
- <?php _e( "It helps us troubleshoot more quickly.", $wd_options->prefix ); ?>
11
- </p>
12
- <?php
13
- if ( function_exists('current_user_can' ) ) {
14
- if ( current_user_can('manage_options') ) {
15
- ?>
16
- <div class="wd-site-deatils wd-table">
17
- <button id="wd-copy"><?php _e( "Copy to Clipboard", $wd_options->prefix ); ?></button>
18
- <div id="wd-site-deatils">
19
- <textarea rows="10" id="wd-site-deatils-textarea"><?php
20
- _e( "Server Settings", $wd_options->prefix );
21
- echo '&#13;&#10;&#13;&#10;';
22
- foreach( $server_info as $key => $val ){
23
- echo $key . ": " . $val . '&#13;&#10;';
24
- }
25
- echo '&#13;&#10;';
26
- _e( "Graphic Library", $wd_options->prefix );
27
- echo '&#13;&#10;&#13;&#10;';
28
- foreach( $gd_info as $key => $val ){
29
- echo $key . ": " . $val . '&#13;&#10;';
30
- }
31
- echo '&#13;&#10;';
32
- _e("Active Plugins", $wd_options->prefix);
33
- echo '&#13;&#10;';
34
- $activepl = get_option('active_plugins');
35
- $plugins = get_plugins();
36
- $activated_plugins = array();
37
- foreach ( $activepl as $p ) {
38
- if ( isset($plugins[$p]) ) {
39
- array_push($activated_plugins, $plugins[$p]);
40
- echo '&#13;&#10;' . $plugins[$p]['Name'];
41
- }
42
- }
43
- echo '&#13;&#10;&#13;&#10;';
44
- _e("Active theme", $wd_options->prefix);
45
- echo '&#13;&#10;&#13;&#10;';
46
- echo wp_get_theme();
47
- ?></textarea>
48
- </div>
49
- </div>
50
- <?php
51
- }
52
- }
53
- ?>
54
-
55
- </div>
56
- <div class="contact_us_wrap">
57
- <a href="https://web-dorado.com/support/contact-us.html" target="_blank" class="contact_us"><?php _e("Contact us", $wd_options->prefix); ?></a>
58
- </div>
59
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wd/templates/display_overview_user_guide.php DELETED
@@ -1,46 +0,0 @@
1
- <div id="user_guide">
2
- <div class="wd-table">
3
- <div class="wd-cell">
4
- <?php for( $i = 0; $i < ceil( count($user_guide) / 2 ); $i++) { ?>
5
- <div class="user_guide_item">
6
- <a href="<?php echo $user_guide[$i]["url"]; ?>" class="user_guide_title" target="_blank"><?php echo $user_guide[$i]["main_title"]; ?></a>
7
- <?php foreach( $user_guide[$i]["titles"] as $title ) { ?>
8
- <div><a href="<?php echo $title["url"]; ?>" target="_blank" class="user_guide_titles"><?php echo $title["title"]; ?></a></div>
9
- <?php } ?>
10
- </div>
11
- <?php } ?>
12
- </div>
13
- <div class="wd-cell">
14
- <?php for( $i = $i; $i < count($user_guide); $i++) { ?>
15
- <div class="user_guide_item">
16
- <a href="<?php echo $user_guide[$i]["url"]; ?>" class="user_guide_title" target="_blank"><?php echo $user_guide[$i]["main_title"]; ?></a>
17
- <?php foreach( $user_guide[$i]["titles"] as $title ) { ?>
18
- <div><a href="<?php echo $title["url"]; ?>" target="_blank" class="user_guide_titles"><?php echo $title["title"]; ?></a></div>
19
- <?php } ?>
20
- </div>
21
- <?php } ?>
22
- </div>
23
- <div class="wd-cell">
24
- <?php if($wd_options->plugin_wd_demo_link) { ?>
25
- <a href="<?php echo $wd_options->plugin_wd_demo_link; ?>" class="user_guide_demo" target="_blank">
26
- <?php _e( "Demo", $wd_options->prefix ); ?>
27
- </a>
28
- <?php } ?>
29
- <a href="<?php echo $wd_options->plugin_wd_url; ?>" class="user_guide_plugin" target="_blank">
30
- <?php echo $wd_options->plugin_title; ?>
31
- </a>
32
- <a href="https://wordpress.org/support/plugin/<?php echo $wd_options->plugin_wordpress_slug; ?>" class="user_guide_support_forum" target="_blank">
33
- <?php _e( "Support Forum", $wd_options->prefix ); ?>
34
- </a>
35
- <a href="https://web-dorado.com/support/faq.html" class="user_guide_faq" target="_blank">
36
- <?php _e( "FAQ", $wd_options->prefix ); ?>
37
- </a>
38
- <?php if($wd_options->plugin_wd_addons_link) { ?>
39
- <a href="<?php echo $wd_options->plugin_wd_addons_link; ?>" class="user_guide_addons" target="_blank">
40
- <?php _e( "Addons", $wd_options->prefix ); ?>
41
- </a>
42
- <?php } ?>
43
- </div>
44
- </div>
45
- </div>
46
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wd/templates/display_overview_welcome.php DELETED
@@ -1,31 +0,0 @@
1
- <div id="welcome">
2
- <!-- display plugin video -->
3
- <?php if( $wd_options->video_youtube_id ){ ?>
4
- <div class="wd-video_container">
5
- <iframe width="100%" height="400" src="//www.youtube.com/embed/<?php echo $wd_options->video_youtube_id; ?>?rel=0" frameborder="0" allowfullscreen></iframe>
6
- </div>
7
- <?php }
8
- else if( $wd_options->overview_welcome_image ) { ?>
9
- <img src="<?php echo $wd_options->overview_welcome_image; ?>" width="100%" />
10
-
11
- <?php } ?>
12
-
13
- <!-- display plugin features -->
14
- <div class="plugin_features">
15
- <!-- if your plugin has a wizard-->
16
- <?php if( $wd_options->plugin_wizard_link ) { ?>
17
- <div class="wd-tour">
18
- <a class="wd-tour-btn" href="<?php echo $wd_options->plugin_wizard_link;?>"><?php _e( "Run Install Wizard ",$wd_options->prefix); ?></a>
19
- </div>
20
- <?php } ?>
21
- <?php foreach( $wd_options->plugin_features as $feature ){ ?>
22
- <h2 class="plugin_feature_title"><?php echo $feature["title"]; ?></h2>
23
- <div class="plugin_feature_description"><?php echo $feature["description"]; ?></div>
24
- <?php } ?>
25
- <div class="more_features_wrap">
26
- <a href="<?php echo $wd_options->plugin_wd_url; ?>" class="more_features" target="_blank"><?php _e( "More features", $wd_options->prefix ); ?></a>
27
- </div>
28
- </div>
29
-
30
- </div>
31
-