Contact Form by WPForms – Drag & Drop Form Builder for WordPress - Version 1.2.5

Version Description

  • Added: Setting for Email template background color
  • Added: Form setting for form wrapper CSS class
  • Changed: Multiple Payment field stores Choice label text
  • Changed: reCAPTCHA tweaks and added filter
  • Changed: Improved IP detection
  • Fixed: Mapped select fields in builder triggered JS error
Download this release

Release Info

Developer jaredatch
Plugin Icon 128x128 Contact Form by WPForms – Drag & Drop Form Builder for WordPress
Version 1.2.5
Comparing to
See all releases

Code changes from version 1.2.4.1 to 1.2.5

assets/css/admin-builder-fields.css CHANGED
@@ -358,25 +358,29 @@
358
  border-bottom: 0;
359
  }
360
 
361
- /* Dropdown Choices / Multiple choice */
362
 
363
- #wpforms-panel-fields .wpforms-field-option-row-choices li {
 
364
  border-bottom:1px solid #ddd;
365
  overflow: hidden;
366
  padding: 5px 0;
367
  margin: 0
368
  }
369
 
370
- #wpforms-panel-fields .wpforms-field-option-row-choices li:first-of-type {
 
371
  padding-top:0;
372
  }
373
 
374
- #wpforms-panel-fields .wpforms-field-option-row-choices li:last-of-type {
 
375
  padding-bottom:0;
376
  border: 0;
377
  }
378
 
379
- #wpforms-panel-fields .wpforms-field-option-row-choices li i {
 
380
  font-size:18px;
381
  display: inline-block;
382
  margin: 0 5px;
@@ -390,7 +394,8 @@
390
  margin: 0 10px 0 5px;
391
  }
392
 
393
- #wpforms-panel-fields .wpforms-field-option-row-choices li .add i {
 
394
  margin-left:10px;
395
  }
396
 
@@ -404,6 +409,16 @@
404
  display: none;
405
  }
406
 
 
 
 
 
 
 
 
 
 
 
407
  #wpforms-panel-fields .wpforms-field-option-row-choices .show-values li input[type=text].value {
408
  display:block;
409
  }
@@ -1071,6 +1086,23 @@
1071
  padding-top: 8px;
1072
  }
1073
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1074
  /* Choice input layouts */
1075
  #wpforms-panel-fields ul.primary-input {
1076
  margin-bottom: 0;
358
  border-bottom: 0;
359
  }
360
 
361
+ /* Dropdown Choices / Multiple choice / Captcha questions */
362
 
363
+ #wpforms-panel-fields .wpforms-field-option-row-choices li,
364
+ #wpforms-panel-fields .wpforms-field-option-row-questions li {
365
  border-bottom:1px solid #ddd;
366
  overflow: hidden;
367
  padding: 5px 0;
368
  margin: 0
369
  }
370
 
371
+ #wpforms-panel-fields .wpforms-field-option-row-choices li:first-of-type ,
372
+ #wpforms-panel-fields .wpforms-field-option-row-questions li:first-of-type {
373
  padding-top:0;
374
  }
375
 
376
+ #wpforms-panel-fields .wpforms-field-option-row-choices li:last-of-type,
377
+ #wpforms-panel-fields .wpforms-field-option-row-questions li:last-of-type {
378
  padding-bottom:0;
379
  border: 0;
380
  }
381
 
382
+ #wpforms-panel-fields .wpforms-field-option-row-choices li i,
383
+ #wpforms-panel-fields .wpforms-field-option-row-questions li i {
384
  font-size:18px;
385
  display: inline-block;
386
  margin: 0 5px;
394
  margin: 0 10px 0 5px;
395
  }
396
 
397
+ #wpforms-panel-fields .wpforms-field-option-row-choices li .add i,
398
+ #wpforms-panel-fields .wpforms-field-option-row-questions li .add i {
399
  margin-left:10px;
400
  }
401
 
409
  display: none;
410
  }
411
 
412
+ #wpforms-panel-fields .wpforms-field-option-row-questions li input[type=text] {
413
+ display: inline-block;
414
+ width:82%;
415
+ margin: 0 0 10px 0;
416
+ }
417
+
418
+ #wpforms-panel-fields .wpforms-field-option-row-questions li input[type=text]:last-of-type {
419
+ margin: 0;
420
+ }
421
+
422
  #wpforms-panel-fields .wpforms-field-option-row-choices .show-values li input[type=text].value {
423
  display:block;
424
  }
1086
  padding-top: 8px;
1087
  }
1088
 
1089
+ /* Custom captcha */
1090
+
1091
+ #wpforms-panel-fields .wpforms-field-captcha .format-selected-math {
1092
+ font-size: 16px;
1093
+ }
1094
+
1095
+ #wpforms-panel-fields .wpforms-field-captcha .format-selected-math input {
1096
+ display: inline-block;
1097
+ width: 70px;
1098
+ }
1099
+
1100
+ #wpforms-panel-fields .wpforms-field-captcha .format-selected-math .wpforms-question,
1101
+ #wpforms-panel-fields .wpforms-field-captcha .format-selected-qa .wpforms-equation {
1102
+ display: none;
1103
+ }
1104
+
1105
+
1106
  /* Choice input layouts */
1107
  #wpforms-panel-fields ul.primary-input {
1108
  margin-bottom: 0;
assets/css/admin-settings.css CHANGED
@@ -14,10 +14,10 @@
14
  }
15
 
16
  #wpforms-settings .wpforms-circle-loader {
17
- margin: 50px auto;
18
- width: 60px;
19
- height: 60px;
20
- position: relative;
21
  }
22
 
23
  #wpforms-settings .wpforms-circle-loader .wpforms-circle {
@@ -204,6 +204,16 @@
204
  vertical-align: baseline;
205
  }
206
 
 
 
 
 
 
 
 
 
 
 
207
  #wpforms-settings .wpforms-provider-account {
208
  margin-bottom: 20px;
209
  line-height: 1.8;
@@ -329,7 +339,8 @@
329
  display: none;
330
  }
331
 
332
- .wpforms-settings-provider-accounts-connect p {
 
333
  margin: 0 0 15px 0;
334
  }
335
 
14
  }
15
 
16
  #wpforms-settings .wpforms-circle-loader {
17
+ margin: 50px auto;
18
+ width: 60px;
19
+ height: 60px;
20
+ position: relative;
21
  }
22
 
23
  #wpforms-settings .wpforms-circle-loader .wpforms-circle {
204
  vertical-align: baseline;
205
  }
206
 
207
+ #wpforms-settings .wpforms-color-picker {
208
+ height: auto;
209
+ padding-left: 30px !important;
210
+ overflow: visible;
211
+ }
212
+
213
+ #wpforms-settings .wpforms-color-picker .minicolors-theme-default .minicolors-swatch {
214
+ height: 24px
215
+ }
216
+
217
  #wpforms-settings .wpforms-provider-account {
218
  margin-bottom: 20px;
219
  line-height: 1.8;
339
  display: none;
340
  }
341
 
342
+ .wpforms-settings-provider-accounts-connect p,
343
+ .wpforms-settings-provider-accounts p {
344
  margin: 0 0 15px 0;
345
  }
346
 
assets/css/wpforms-full.css CHANGED
@@ -497,6 +497,10 @@ div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container {
497
  clear: both;
498
  }
499
 
 
 
 
 
500
 
501
  /* Form Header area
502
  ----------------------------------------------------------------------------- */
@@ -554,7 +558,6 @@ div.wpforms-container-full .wpforms-form .wpforms-pagebreak-split .wpforms-page-
554
  }
555
 
556
 
557
-
558
  /* Credit Card field
559
  ----------------------------------------------------------------------------- */
560
 
@@ -593,6 +596,23 @@ div.wpforms-container-full .wpforms-form .wpforms-field-credit-card-expiration s
593
  line-height: 38px;
594
  }
595
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
596
 
597
  /* Page Indicator themes
598
  ----------------------------------------------------------------------------- */
@@ -715,11 +735,6 @@ div.wpforms-container-full .wpforms-form .wpforms-field-hidden {
715
  display: none;
716
  }
717
 
718
- /* ReCAPTCHA */
719
- div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container iframe {
720
- width: inherit;
721
- }
722
-
723
 
724
  /* Media Queries
725
  ----------------------------------------------------------------------------- */
497
  clear: both;
498
  }
499
 
500
+ div.wpforms-container-full .wpforms-form .wpforms-recaptcha-container iframe {
501
+ width: 100%;
502
+ }
503
+
504
 
505
  /* Form Header area
506
  ----------------------------------------------------------------------------- */
558
  }
559
 
560
 
 
561
  /* Credit Card field
562
  ----------------------------------------------------------------------------- */
563
 
596
  line-height: 38px;
597
  }
598
 
599
+ /* Custom Captcha field
600
+ ----------------------------------------------------------------------------- */
601
+
602
+ div.wpforms-container-full .wpforms-form .wpforms-captcha-math input {
603
+ display: inline-block;
604
+ width: 70px;
605
+ vertical-align: inherit;
606
+ margin: 0 0 0 5px;
607
+ }
608
+
609
+ div.wpforms-container-full .wpforms-form .wpforms-captcha-equation {
610
+ font-size: 16px;
611
+ }
612
+
613
+ div.wpforms-container-full .wpforms-form .wpforms-captcha-question {
614
+ margin: 0 0 4px 0;
615
+ }
616
 
617
  /* Page Indicator themes
618
  ----------------------------------------------------------------------------- */
735
  display: none;
736
  }
737
 
 
 
 
 
 
738
 
739
  /* Media Queries
740
  ----------------------------------------------------------------------------- */
assets/js/admin-builder.js CHANGED
@@ -1799,7 +1799,7 @@
1799
  for(var key in fields) {
1800
 
1801
  // Compile the label
1802
- if (fields[key].label.length) {
1803
  var label = wpf.sanitizeString(fields[key].label);
1804
  } else {
1805
  var label = wpforms_builder.field + ' #' + fields[key].val;
1799
  for(var key in fields) {
1800
 
1801
  // Compile the label
1802
+ if ( undefined !== fields[key].label && fields[key].label.length) {
1803
  var label = wpf.sanitizeString(fields[key].label);
1804
  } else {
1805
  var label = wpforms_builder.field + ' #' + fields[key].val;
assets/js/admin-settings.js CHANGED
@@ -48,6 +48,9 @@
48
  $('#wpforms-tabs').fadeIn('fast');
49
  $('.wpforms-circle-loader').remove();
50
  });
 
 
 
51
  },
52
 
53
  /**
48
  $('#wpforms-tabs').fadeIn('fast');
49
  $('.wpforms-circle-loader').remove();
50
  });
51
+
52
+ // Load color pickers
53
+ $('.wpforms-color-picker').minicolors();
54
  },
55
 
56
  /**
includes/admin/builder/panels/class-settings.php CHANGED
@@ -108,6 +108,14 @@ class WPForms_Builder_Panel_Settings extends WPForms_Builder_Panel {
108
  $this->form_data,
109
  __( 'Hide form title and description area', 'wpforms' )
110
  );
 
 
 
 
 
 
 
 
111
  wpforms_panel_field(
112
  'text',
113
  'settings',
@@ -122,7 +130,7 @@ class WPForms_Builder_Panel_Settings extends WPForms_Builder_Panel {
122
  'submit_class',
123
  $this->form_data,
124
  __( 'Submit Button CSS Class', 'wpforms' ),
125
- array( 'tooltip' => __( 'Enter CSS class names for the form submit button. Class names should be seperated with spaces.', 'wpforms' ) )
126
  );
127
  wpforms_panel_field(
128
  'checkbox',
108
  $this->form_data,
109
  __( 'Hide form title and description area', 'wpforms' )
110
  );
111
+ wpforms_panel_field(
112
+ 'text',
113
+ 'settings',
114
+ 'form_class',
115
+ $this->form_data,
116
+ __( 'Form CSS Class', 'wpforms' ),
117
+ array( 'tooltip' => __( 'Enter CSS class names for the form wrapper. Multiple class names should be seperated with spaces.', 'wpforms' ) )
118
+ );
119
  wpforms_panel_field(
120
  'text',
121
  'settings',
130
  'submit_class',
131
  $this->form_data,
132
  __( 'Submit Button CSS Class', 'wpforms' ),
133
+ array( 'tooltip' => __( 'Enter CSS class names for the form submit button. Multiple names should be seperated with spaces.', 'wpforms' ) )
134
  );
135
  wpforms_panel_field(
136
  'checkbox',
includes/class-frontend.php CHANGED
@@ -57,15 +57,14 @@ class WPForms_Frontend {
57
  $form = wpforms()->form->get( (int) $id );
58
  if ( ! $form )
59
  return;
60
-
61
- // Fetch basic information
62
- $form_data = wpforms_decode( $form->post_content, true );
63
- $form_id = absint( $form->ID );
64
- $settings = $form_data['settings'];
65
- $action = esc_url_raw( remove_query_arg( 'wpforms' ) );
66
- $class[] = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-container-full' : '';
67
- $errors = empty( wpforms()->process->errors[$form->ID] ) ? array() : wpforms()->process->errors[$form->ID];
68
- $success = false;
69
 
70
  // If the form does not contain any fields do not proceed
71
  if ( empty( $form_data['fields'] ) ) {
@@ -108,6 +107,10 @@ class WPForms_Frontend {
108
 
109
  // Allow form container classes to be filtered
110
  $class = array_map( 'sanitize_html_class', apply_filters( 'wpforms_frontend_container_class', $class, $form_data ) );
 
 
 
 
111
 
112
  // Begin to build the output
113
  echo '<div class="wpforms-container ' . implode( ' ', $class ) . '" id="wpforms-' . $form_id . '">';
@@ -144,8 +147,10 @@ class WPForms_Frontend {
144
  // Load confirmatiom specific asssets
145
  $this->assets_confirmation();
146
 
147
- $message = apply_filters( 'wpforms_process_smart_tags', $form_data['settings']['confirmation_message'], $form_data, $_POST['wpforms']['complete'], $_POST['wpforms']['entry_id'] );
148
- $message = apply_filters( 'wpforms_frontend_confirmation_message', $message, $form_data );
 
 
149
 
150
  $class = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container';
151
 
@@ -451,7 +456,7 @@ class WPForms_Frontend {
451
 
452
  echo '<div class="' . implode( ' ', $field_atts['description_class'] ) . '" id="' . implode( ' ', $field_atts['description_id'] ) . '">';
453
 
454
- echo $field['description'];
455
 
456
  echo '</div>';
457
  }
@@ -537,9 +542,16 @@ class WPForms_Frontend {
537
  if ( !isset( $form_data['settings']['recaptcha'] ) || '1' != $form_data['settings']['recaptcha'] )
538
  return;
539
 
 
 
 
540
  echo '<div class="wpforms-recaptcha-container">';
541
 
542
- echo '<div class="g-recaptcha" data-sitekey="' . esc_attr( wpforms_setting( 'recaptcha-site-key', '' ) ) . '"></div>';
 
 
 
 
543
 
544
  if ( !empty( wpforms()->process->errors[$form_data['id']]['recaptcha'] ) ) {
545
  echo '<label id="wpforms-field_recaptcah-error" class="wpforms-error">' . esc_html( wpforms()->process->errors[$form_data['id']]['recaptcha'] ) . '</label>';
@@ -763,9 +775,9 @@ class WPForms_Frontend {
763
 
764
 
765
  // Load reCAPTCHA support if form supports it
766
- $site_key = wpforms_setting( 'recaptcha-site-key', '' );
767
- $secret_key = wpforms_setting( 'recaptcha-secret-key', '' );
768
- if ( !empty( $site_key ) && !empty( $secret_key ) ) {
769
  wp_enqueue_script(
770
  'wpforms-recaptcha',
771
  'https://www.google.com/recaptcha/api.js',
57
  $form = wpforms()->form->get( (int) $id );
58
  if ( ! $form )
59
  return;
60
+ // Basic information
61
+ $form_data = wpforms_decode( $form->post_content, true );
62
+ $form_id = absint( $form->ID );
63
+ $settings = $form_data['settings'];
64
+ $action = esc_url_raw( remove_query_arg( 'wpforms' ) );
65
+ $class[] = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-container-full' : '';
66
+ $errors = empty( wpforms()->process->errors[$form->ID] ) ? array() : wpforms()->process->errors[$form->ID];
67
+ $success = false;
 
68
 
69
  // If the form does not contain any fields do not proceed
70
  if ( empty( $form_data['fields'] ) ) {
107
 
108
  // Allow form container classes to be filtered
109
  $class = array_map( 'sanitize_html_class', apply_filters( 'wpforms_frontend_container_class', $class, $form_data ) );
110
+
111
+ if ( !empty( $form_data['settings']['form_class'] ) ) {
112
+ $class = array_merge( $class, array_map('sanitize_html_class', explode( ' ', $form_data['settings']['form_class'] ) ) );
113
+ }
114
 
115
  // Begin to build the output
116
  echo '<div class="wpforms-container ' . implode( ' ', $class ) . '" id="wpforms-' . $form_id . '">';
147
  // Load confirmatiom specific asssets
148
  $this->assets_confirmation();
149
 
150
+ $complete = !empty( $_POST['wpforms']['complete'] ) ? $_POST['wpforms']['complete'] : array();
151
+ $entry_id = !empty( $_POST['wpforms']['entry_id'] ) ? $_POST['wpforms']['entry_id'] : 0;
152
+ $message = apply_filters( 'wpforms_process_smart_tags', $form_data['settings']['confirmation_message'], $form_data, $complete, $entry_id );
153
+ $message = apply_filters( 'wpforms_frontend_confirmation_message', $message, $form_data );
154
 
155
  $class = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container';
156
 
456
 
457
  echo '<div class="' . implode( ' ', $field_atts['description_class'] ) . '" id="' . implode( ' ', $field_atts['description_id'] ) . '">';
458
 
459
+ echo apply_filters( 'wpforms_process_smart_tags', $field['description'], $form_data );
460
 
461
  echo '</div>';
462
  }
542
  if ( !isset( $form_data['settings']['recaptcha'] ) || '1' != $form_data['settings']['recaptcha'] )
543
  return;
544
 
545
+ $d = '';
546
+ $datas = apply_filters( 'wpforms_frontend_recaptcha', array( 'sitekey' => $site_key ), $form_data );
547
+
548
  echo '<div class="wpforms-recaptcha-container">';
549
 
550
+ foreach( $datas as $key => $data ) {
551
+ $d .= 'data-' . $key . '="' . esc_attr( $data ) . '" ';
552
+ }
553
+
554
+ echo '<div class="g-recaptcha" ' . $d . '></div>';
555
 
556
  if ( !empty( wpforms()->process->errors[$form_data['id']]['recaptcha'] ) ) {
557
  echo '<label id="wpforms-field_recaptcah-error" class="wpforms-error">' . esc_html( wpforms()->process->errors[$form_data['id']]['recaptcha'] ) . '</label>';
775
 
776
 
777
  // Load reCAPTCHA support if form supports it
778
+ $site_key = wpforms_setting( 'recaptcha-site-key' );
779
+ $secret_key = wpforms_setting( 'recaptcha-secret-key' );
780
+ if ( !empty( $site_key ) && !empty( $secret_key ) ) {
781
  wp_enqueue_script(
782
  'wpforms-recaptcha',
783
  'https://www.google.com/recaptcha/api.js',
includes/class-process.php CHANGED
@@ -200,7 +200,6 @@ class WPForms_Process {
200
  array( $honeypot, $entry ),
201
  array(
202
  'type' => array( 'spam' ),
203
- 'parent' => $entry_id,
204
  'form_id' => $form_data['id'],
205
  )
206
  );
200
  array( $honeypot, $entry ),
201
  array(
202
  'type' => array( 'spam' ),
 
203
  'form_id' => $form_data['id'],
204
  )
205
  );
includes/emails/templates/footer-default.php CHANGED
@@ -11,6 +11,8 @@
11
 
12
  // Exit if accessed directly
13
  if ( ! defined( 'ABSPATH' ) ) exit;
 
 
14
  ?>
15
  </td>
16
  </tr>
@@ -23,7 +25,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
23
  </td>
24
  </tr>
25
  <tr>
26
- <td valign="top" id="templateFooter" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #e9eaec;border-top: 0;border-bottom: 0;padding-top: 12px;padding-bottom: 12px;">
27
  <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
28
  <tbody class="mcnTextBlockOuter">
29
  <tr>
@@ -35,8 +37,8 @@ if ( ! defined( 'ABSPATH' ) ) exit;
35
 
36
  <!-- Footer content -->
37
  <?php
38
- $footer = __( 'Sent from ', 'wpforms' ) . '<a href="' . home_url() . '" style="color:#bbbbbb;">' . wp_specialchars_decode( get_bloginfo( 'name' ) ) . '</a>';
39
- echo $footer;
40
  ?>
41
 
42
  </td>
11
 
12
  // Exit if accessed directly
13
  if ( ! defined( 'ABSPATH' ) ) exit;
14
+
15
+ $background_color = wpforms_setting( 'email-background-color', '#e9eaec' );
16
  ?>
17
  </td>
18
  </tr>
25
  </td>
26
  </tr>
27
  <tr>
28
+ <td valign="top" id="templateFooter" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: <?php echo $background_color; ?>;border-top: 0;border-bottom: 0;padding-top: 12px;padding-bottom: 12px;">
29
  <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
30
  <tbody class="mcnTextBlockOuter">
31
  <tr>
37
 
38
  <!-- Footer content -->
39
  <?php
40
+ $footer = sprintf( __( 'Sent from <a href="%s" style="color:#bbbbbb;">%s</a>', 'wpforms' ), esc_url( home_url() ), wp_specialchars_decode( get_bloginfo( 'name' ) ) );
41
+ echo apply_filters( 'wpforms_email_footer_text', $footer );
42
  ?>
43
 
44
  </td>
includes/emails/templates/header-default.php CHANGED
@@ -12,7 +12,8 @@
12
  // Exit if accessed directly
13
  if ( ! defined( 'ABSPATH' ) ) exit;
14
 
15
- $header_image = wpforms_setting( 'email-header-image', false );
 
16
  ?>
17
  <!doctype html>
18
  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
@@ -115,7 +116,7 @@ $header_image = wpforms_setting( 'email-header-image', false );
115
  /***** Make theme edits below if needed *****/
116
  /* Page - Background Style */
117
  body,#bodyTable{
118
- background-color:#e9eaec;
119
  }
120
  /* Page - Heading 1 */
121
  h1{
@@ -195,7 +196,7 @@ $header_image = wpforms_setting( 'email-header-image', false );
195
  }
196
  /* Footer - Footer Style */
197
  #templateFooter{
198
- background-color:#e9eaec;
199
  border-top:0;
200
  border-bottom:0;
201
  padding-top:12px;
@@ -246,10 +247,10 @@ $header_image = wpforms_setting( 'email-header-image', false );
246
  }
247
  </style>
248
  </head>
249
- <body style="height: 100%;margin: 0;padding: 0;width: 100%;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #e9eaec;">
250
  <!-- Don't forget to run final template through http://templates.mailchimp.com/resources/inline-css/ -->
251
  <center>
252
- <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;height: 100%;margin: 0;padding: 0;width: 100%;background-color: #e9eaec;">
253
  <tr>
254
  <td align="center" valign="top" id="bodyCell" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;height: 100%;margin: 0;padding: 50px 50px;width: 100%;">
255
  <!-- BEGIN TEMPLATE // -->
12
  // Exit if accessed directly
13
  if ( ! defined( 'ABSPATH' ) ) exit;
14
 
15
+ $header_image = wpforms_setting( 'email-header-image', false );
16
+ $background_color = wpforms_setting( 'email-background-color', '#e9eaec' );
17
  ?>
18
  <!doctype html>
19
  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
116
  /***** Make theme edits below if needed *****/
117
  /* Page - Background Style */
118
  body,#bodyTable{
119
+ background-color:<?php echo $background_color; ?>;
120
  }
121
  /* Page - Heading 1 */
122
  h1{
196
  }
197
  /* Footer - Footer Style */
198
  #templateFooter{
199
+ background-color:<?php echo $background_color; ?>;
200
  border-top:0;
201
  border-bottom:0;
202
  padding-top:12px;
247
  }
248
  </style>
249
  </head>
250
+ <body style="height: 100%;margin: 0;padding: 0;width: 100%;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: <?php echo $background_color; ?>;">
251
  <!-- Don't forget to run final template through http://templates.mailchimp.com/resources/inline-css/ -->
252
  <center>
253
+ <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;height: 100%;margin: 0;padding: 0;width: 100%;background-color: <?php echo $background_color; ?>;">
254
  <tr>
255
  <td align="center" valign="top" id="bodyCell" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;height: 100%;margin: 0;padding: 50px 50px;width: 100%;">
256
  <!-- BEGIN TEMPLATE // -->
includes/functions.php CHANGED
@@ -713,6 +713,31 @@ function wpforms_countries() {
713
  return apply_filters( 'wpforms_countries', $countries );
714
  }
715
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
716
  /**
717
  * Sanitizes hex color.
718
  *
@@ -731,6 +756,30 @@ function wpforms_sanitize_hex_color( $color ) {
731
  }
732
  }
733
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
734
  /**
735
  * Debug mode bool.
736
  *
713
  return apply_filters( 'wpforms_countries', $countries );
714
  }
715
 
716
+ /**
717
+ * Lookup user IP.
718
+ *
719
+ * There are many ways to do this, but we prefer the way EDD does it.
720
+ * https://github.com/easydigitaldownloads/easy-digital-downloads/blob/master/includes/misc-functions.php#L163
721
+ *
722
+ * @since 1.2.5
723
+ * @return string
724
+ */
725
+ function wpforms_get_ip() {
726
+
727
+ $ip = '127.0.0.1';
728
+
729
+ if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
730
+ $ip = $_SERVER['HTTP_CLIENT_IP'];
731
+ } elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
732
+ $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
733
+ } elseif( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
734
+ $ip = $_SERVER['REMOTE_ADDR'];
735
+ }
736
+ // Fix potential CSV returned from $_SERVER variables
737
+ $ip_array = array_map( 'trim', explode( ',', $ip ) );
738
+ return $ip_array[0];
739
+ }
740
+
741
  /**
742
  * Sanitizes hex color.
743
  *
756
  }
757
  }
758
 
759
+
760
+ /**
761
+ * Detect if we should use a light or dark color based on the color given.
762
+ *
763
+ * @since 1.2.5
764
+ * @link https://docs.woocommerce.com/wc-apidocs/source-function-wc_light_or_dark.html#608-627
765
+ * @param mixed $color
766
+ * @param string $dark (default: '#000000')
767
+ * @param string $light (default: '#FFFFFF')
768
+ * @return string
769
+ */
770
+ function wpforms_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) {
771
+
772
+ $hex = str_replace( '#', '', $color );
773
+
774
+ $c_r = hexdec( substr( $hex, 0, 2 ) );
775
+ $c_g = hexdec( substr( $hex, 2, 2 ) );
776
+ $c_b = hexdec( substr( $hex, 4, 2 ) );
777
+
778
+ $brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000;
779
+
780
+ return $brightness > 155 ? $dark : $light;
781
+ }
782
+
783
  /**
784
  * Debug mode bool.
785
  *
languages/wpforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WPForms 1.2.4\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
- "POT-Creation-Date: 2016-07-07 20:06:51+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -112,8 +112,8 @@ msgid ""
112
  msgstr ""
113
 
114
  #: includes/admin/builder/class-builder.php:277
115
- #: lite/includes/admin/class-settings.php:116
116
- #: pro/includes/admin/class-settings.php:120
117
  msgid "Saving ..."
118
  msgstr ""
119
 
@@ -189,7 +189,7 @@ msgid "Other"
189
  msgstr ""
190
 
191
  #: includes/admin/builder/class-builder.php:299
192
- #: includes/class-frontend.php:477
193
  #: pro/includes/fields/class-page-break.php:144
194
  msgid "Previous"
195
  msgstr ""
@@ -239,7 +239,7 @@ msgid "Save Form"
239
  msgstr ""
240
 
241
  #: includes/admin/builder/class-builder.php:386
242
- #: pro/includes/admin/class-settings.php:410
243
  msgid "Save"
244
  msgstr ""
245
 
@@ -266,7 +266,7 @@ msgid ""
266
  msgstr ""
267
 
268
  #: includes/admin/builder/panels/class-fields.php:123
269
- #: includes/admin/builder/panels/class-settings.php:117
270
  msgid "Submit"
271
  msgstr ""
272
 
@@ -301,15 +301,15 @@ msgid "Click to edit. Drag to reorder."
301
  msgstr ""
302
 
303
  #: includes/admin/builder/panels/class-settings.php:21
304
- #: includes/admin/class-menu.php:84 lite/includes/admin/class-settings.php:349
305
- #: pro/includes/admin/class-settings.php:667
306
  msgid "Settings"
307
  msgstr ""
308
 
309
  #: includes/admin/builder/panels/class-settings.php:57
310
  #: includes/admin/builder/panels/class-settings.php:87
311
- #: lite/includes/admin/class-settings.php:137
312
- #: pro/includes/admin/class-settings.php:141
313
  msgid "General"
314
  msgstr ""
315
 
@@ -320,7 +320,7 @@ msgid "Notifications"
320
  msgstr ""
321
 
322
  #: includes/admin/builder/panels/class-settings.php:59
323
- #: includes/admin/builder/panels/class-settings.php:247
324
  msgid "Confirmation"
325
  msgstr ""
326
 
@@ -343,62 +343,72 @@ msgid "Hide form title and description area"
343
  msgstr ""
344
 
345
  #: includes/admin/builder/panels/class-settings.php:116
346
- msgid "Submit Button Text"
 
 
 
 
 
 
347
  msgstr ""
348
 
349
  #: includes/admin/builder/panels/class-settings.php:124
 
 
 
 
350
  msgid "Submit Button CSS Class"
351
  msgstr ""
352
 
353
- #: includes/admin/builder/panels/class-settings.php:125
354
  msgid ""
355
- "Enter CSS class names for the form submit button. Class names should be "
356
  "seperated with spaces."
357
  msgstr ""
358
 
359
- #: includes/admin/builder/panels/class-settings.php:132
360
  msgid "Enable anti-spam honeypot"
361
  msgstr ""
362
 
363
- #: includes/admin/builder/panels/class-settings.php:142
364
  msgid "Enable reCAPTCHA"
365
  msgstr ""
366
 
367
- #: includes/admin/builder/panels/class-settings.php:254
368
  msgid "Confirmation Type"
369
  msgstr ""
370
 
371
- #: includes/admin/builder/panels/class-settings.php:258
372
  #: includes/templates/class-suggestion.php:74 lite/wpforms-lite.php:172
373
  #: pro/wpforms-pro.php:360
374
  msgid "Message"
375
  msgstr ""
376
 
377
- #: includes/admin/builder/panels/class-settings.php:259
378
  msgid "Show Page"
379
  msgstr ""
380
 
381
- #: includes/admin/builder/panels/class-settings.php:260
382
  msgid "Go to URL (Redirect)"
383
  msgstr ""
384
 
385
- #: includes/admin/builder/panels/class-settings.php:269
386
  msgid "Confirmation Message"
387
  msgstr ""
388
 
389
- #: includes/admin/builder/panels/class-settings.php:271
390
  msgid "Thanks for contacting us! We will be in touch with you shortly."
391
  msgstr ""
392
 
393
- #: includes/admin/builder/panels/class-settings.php:282
394
  msgid "Automatically scroll to the confirmation message"
395
  msgstr ""
396
 
397
- #: includes/admin/builder/panels/class-settings.php:295
398
  msgid "Confirmation Page"
399
  msgstr ""
400
 
401
- #: includes/admin/builder/panels/class-settings.php:303
402
  msgid "Confirmation Redirect URL"
403
  msgstr ""
404
 
@@ -467,9 +477,9 @@ msgid ""
467
  "a>?"
468
  msgstr ""
469
 
470
- #. #-#-#-#-# wpforms.pot (WPForms 1.2.4) #-#-#-#-#
471
  #. Plugin Name of the plugin/theme
472
- #. #-#-#-#-# wpforms.pot (WPForms 1.2.4) #-#-#-#-#
473
  #. Author of the plugin/theme
474
  #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
475
  #: includes/admin/class-menu.php:51
@@ -486,7 +496,7 @@ msgstr ""
486
 
487
  #: includes/admin/class-menu.php:62
488
  #: includes/admin/overview/class-overview.php:148
489
- #: pro/includes/class-provider.php:1050
490
  msgid "Add New"
491
  msgstr ""
492
 
@@ -668,11 +678,11 @@ msgstr ""
668
  msgid "Forms Overview"
669
  msgstr ""
670
 
671
- #: includes/class-frontend.php:282
672
  msgid "Step"
673
  msgstr ""
674
 
675
- #: includes/class-frontend.php:283
676
  msgid "of"
677
  msgstr ""
678
 
@@ -747,7 +757,7 @@ msgstr ""
747
  msgid "WPForms honeypot field triggered."
748
  msgstr ""
749
 
750
- #: includes/class-process.php:340 lite/wpforms-lite.php:52
751
  #: pro/wpforms-pro.php:236
752
  msgid "New %s Entry"
753
  msgstr ""
@@ -826,7 +836,7 @@ msgstr ""
826
  msgid "Lost Password URL"
827
  msgstr ""
828
 
829
- #: includes/class-widget.php:127 pro/includes/admin/class-settings.php:493
830
  msgid "No forms"
831
  msgstr ""
832
 
@@ -848,8 +858,8 @@ msgstr ""
848
  msgid "Field ID #"
849
  msgstr ""
850
 
851
- #: includes/emails/templates/footer-default.php:38
852
- msgid "Sent from "
853
  msgstr ""
854
 
855
  #: includes/fields/class-base.php:290
@@ -1040,8 +1050,8 @@ msgid "Show Values"
1040
  msgstr ""
1041
 
1042
  #: includes/fields/class-email.php:21
1043
- #: lite/includes/admin/class-settings.php:211
1044
- #: pro/includes/admin/class-settings.php:284
1045
  #: pro/includes/templates/class-donation.php:42
1046
  #: pro/includes/templates/class-order.php:42
1047
  #: pro/includes/templates/class-request-quote.php:46
@@ -1227,122 +1237,132 @@ msgstr ""
1227
  msgid "Subject"
1228
  msgstr ""
1229
 
1230
- #: lite/includes/admin/class-settings.php:117
1231
- #: pro/includes/admin/class-settings.php:121
1232
  msgid "Are you sure you want to disconnect this account?"
1233
  msgstr ""
1234
 
1235
- #: lite/includes/admin/class-settings.php:118
1236
- #: pro/includes/admin/class-settings.php:122
1237
  msgid "Upload or Choose Your Image"
1238
  msgstr ""
1239
 
1240
- #: lite/includes/admin/class-settings.php:119
1241
- #: pro/includes/admin/class-settings.php:123
1242
  msgid "Use Image"
1243
  msgstr ""
1244
 
1245
- #: lite/includes/admin/class-settings.php:138
1246
  msgid "System Information"
1247
  msgstr ""
1248
 
1249
- #: lite/includes/admin/class-settings.php:161
1250
- #: pro/includes/admin/class-settings.php:168
1251
- #: pro/includes/admin/class-settings.php:368
1252
  msgid "Settings check failed."
1253
  msgstr ""
1254
 
1255
- #: lite/includes/admin/class-settings.php:180
1256
- #: pro/includes/admin/class-settings.php:187
1257
  msgid "General settings updated."
1258
  msgstr ""
1259
 
1260
- #: lite/includes/admin/class-settings.php:197
1261
- #: pro/includes/admin/class-settings.php:261
1262
  msgid "Include Form Styling"
1263
  msgstr ""
1264
 
1265
- #: lite/includes/admin/class-settings.php:201
1266
- #: pro/includes/admin/class-settings.php:265
1267
  msgid "Base and form theme styling"
1268
  msgstr ""
1269
 
1270
- #: lite/includes/admin/class-settings.php:202
1271
- #: pro/includes/admin/class-settings.php:266
1272
  msgid "Base styling only"
1273
  msgstr ""
1274
 
1275
- #: lite/includes/admin/class-settings.php:203
1276
- #: pro/includes/admin/class-settings.php:267
1277
  #: pro/includes/fields/class-page-break.php:58
1278
  msgid "None"
1279
  msgstr ""
1280
 
1281
- #: lite/includes/admin/class-settings.php:205
1282
- #: pro/includes/admin/class-settings.php:269
1283
  msgid "Determines which CSS files to load for the site."
1284
  msgstr ""
1285
 
1286
- #: lite/includes/admin/class-settings.php:216
1287
- #: pro/includes/admin/class-settings.php:289
1288
- msgid "Email Template"
1289
  msgstr ""
1290
 
1291
- #: lite/includes/admin/class-settings.php:220
1292
- #: pro/includes/admin/class-settings.php:293
1293
- msgid "Default HTML template"
 
 
1294
  msgstr ""
1295
 
1296
- #: lite/includes/admin/class-settings.php:221
1297
- #: pro/includes/admin/class-settings.php:294
1298
- msgid "Plain Text"
1299
  msgstr ""
1300
 
1301
- #: lite/includes/admin/class-settings.php:223
1302
- #: pro/includes/admin/class-settings.php:296
1303
- msgid "Determines how email notifications will be formatted."
1304
  msgstr ""
1305
 
1306
- #: lite/includes/admin/class-settings.php:228
1307
- #: pro/includes/admin/class-settings.php:274
1308
- msgid "Load Assets Globally"
1309
  msgstr ""
1310
 
1311
- #: lite/includes/admin/class-settings.php:232
1312
- #: pro/includes/admin/class-settings.php:278
1313
- msgid ""
1314
- "Check this if you would like to load WPForms assets site-wide. Only check if "
1315
- "your site is having compatibility issues or instructed to by support."
1316
  msgstr ""
1317
 
1318
- #: lite/includes/admin/class-settings.php:237
1319
- #: pro/includes/admin/class-settings.php:301
1320
  msgid "Email Header Image "
1321
  msgstr ""
1322
 
1323
- #: lite/includes/admin/class-settings.php:249
1324
- #: pro/includes/admin/class-settings.php:313
1325
  msgid "Upload Image"
1326
  msgstr ""
1327
 
1328
- #: lite/includes/admin/class-settings.php:251
1329
- #: pro/includes/admin/class-settings.php:315
1330
  msgid ""
1331
  "Upload or choose a logo to be displayed at the top of email notifications."
1332
  msgstr ""
1333
 
1334
- #: lite/includes/admin/class-settings.php:252
1335
- #: pro/includes/admin/class-settings.php:316
1336
  msgid "Recommended size is 300x100 or smaller for best support on all devices."
1337
  msgstr ""
1338
 
1339
- #: lite/includes/admin/class-settings.php:259
1340
- #: pro/includes/admin/class-settings.php:323
 
 
 
 
 
 
 
 
 
 
1341
  msgid "reCAPTCHA"
1342
  msgstr ""
1343
 
1344
- #: lite/includes/admin/class-settings.php:260
1345
- #: pro/includes/admin/class-settings.php:324
1346
  msgid ""
1347
  "reCAPTCHA is a free anti-spam service from Google. Its helps protect your "
1348
  "website from spam and abuse while letting real people pass through with "
@@ -1352,18 +1372,18 @@ msgid ""
1352
  "\"_blank\">read our walk through</a> for step-by-step directions."
1353
  msgstr ""
1354
 
1355
- #: lite/includes/admin/class-settings.php:265
1356
- #: pro/includes/admin/class-settings.php:329
1357
  msgid "reCAPTCHA Site key"
1358
  msgstr ""
1359
 
1360
- #: lite/includes/admin/class-settings.php:273
1361
- #: pro/includes/admin/class-settings.php:337
1362
  msgid "reCAPTCHA Secret key"
1363
  msgstr ""
1364
 
1365
- #: lite/includes/admin/class-settings.php:282
1366
- #: pro/includes/admin/class-settings.php:346
1367
  msgid "Save General Settings"
1368
  msgstr ""
1369
 
@@ -1450,7 +1470,7 @@ msgid "Addon installed."
1450
  msgstr ""
1451
 
1452
  #: pro/includes/admin/builder/panels/class-payments.php:21
1453
- #: pro/includes/admin/class-settings.php:142
1454
  msgid "Payments"
1455
  msgstr ""
1456
 
@@ -1650,117 +1670,117 @@ msgid ""
1650
  "continue receiving automatic updates."
1651
  msgstr ""
1652
 
1653
- #: pro/includes/admin/class-settings.php:143
1654
  msgid "Integrations"
1655
  msgstr ""
1656
 
1657
- #: pro/includes/admin/class-settings.php:144
1658
  msgid "Import/Export"
1659
  msgstr ""
1660
 
1661
- #: pro/includes/admin/class-settings.php:145
1662
  msgid "System Info"
1663
  msgstr ""
1664
 
1665
- #: pro/includes/admin/class-settings.php:194
1666
  msgid "Please enter a license key to verify."
1667
  msgstr ""
1668
 
1669
- #: pro/includes/admin/class-settings.php:224
1670
  msgid "License"
1671
  msgstr ""
1672
 
1673
- #: pro/includes/admin/class-settings.php:225
1674
  msgid "Your license key provides access to updates and Add-ons. "
1675
  msgstr ""
1676
 
1677
- #: pro/includes/admin/class-settings.php:230
1678
  msgid "License Key"
1679
  msgstr ""
1680
 
1681
- #: pro/includes/admin/class-settings.php:234
1682
  msgid "Verify Key"
1683
  msgstr ""
1684
 
1685
- #: pro/includes/admin/class-settings.php:236
1686
  msgid "Deactivate Key"
1687
  msgstr ""
1688
 
1689
- #: pro/includes/admin/class-settings.php:244
1690
  msgid "License Key Type"
1691
  msgstr ""
1692
 
1693
- #: pro/includes/admin/class-settings.php:247
1694
  msgid "Your license key type for this site is <strong>%s.</strong>"
1695
  msgstr ""
1696
 
1697
- #: pro/includes/admin/class-settings.php:248
1698
  msgid "Refresh Key"
1699
  msgstr ""
1700
 
1701
- #: pro/includes/admin/class-settings.php:249
1702
  msgid ""
1703
  "If your license has been upgraded or is incorrect, you may force a refresh."
1704
  msgstr ""
1705
 
1706
- #: pro/includes/admin/class-settings.php:379
1707
  msgid "Settings updated."
1708
  msgstr ""
1709
 
1710
- #: pro/includes/admin/class-settings.php:393
1711
  msgid "Currency"
1712
  msgstr ""
1713
 
1714
- #: pro/includes/admin/class-settings.php:397
1715
  msgid "US Dollars (USD)"
1716
  msgstr ""
1717
 
1718
- #: pro/includes/admin/class-settings.php:399
1719
  msgid "Determines which currency to use for payments."
1720
  msgstr ""
1721
 
1722
- #: pro/includes/admin/class-settings.php:430
1723
  msgid ""
1724
  "You do not have any marketing add-ons activated. You can head over to the <a "
1725
  "href=\"%s\">Add-Ons page</a> to install and activate the add-on for your "
1726
  "provider."
1727
  msgstr ""
1728
 
1729
- #: pro/includes/admin/class-settings.php:451
1730
  msgid "Form(s) imported"
1731
  msgstr ""
1732
 
1733
- #: pro/includes/admin/class-settings.php:460
1734
  msgid "Form Import"
1735
  msgstr ""
1736
 
1737
- #: pro/includes/admin/class-settings.php:465
1738
  msgid "Select an export file."
1739
  msgstr ""
1740
 
1741
- #: pro/includes/admin/class-settings.php:471
1742
  msgid "Import"
1743
  msgstr ""
1744
 
1745
- #: pro/includes/admin/class-settings.php:478
1746
  msgid "Form Export"
1747
  msgstr ""
1748
 
1749
- #: pro/includes/admin/class-settings.php:483
1750
  msgid ""
1751
  "Select form(s) to download an export file. This can be imported into another "
1752
  "site."
1753
  msgstr ""
1754
 
1755
- #: pro/includes/admin/class-settings.php:499
1756
  msgid "Export"
1757
  msgstr ""
1758
 
1759
- #: pro/includes/admin/class-settings.php:561
1760
  msgid "Please upload a valid .json form export file."
1761
  msgstr ""
1762
 
1763
- #: pro/includes/admin/class-settings.php:561
1764
  #: pro/includes/admin/entries/class-entries-export.php:293
1765
  msgid "Error"
1766
  msgstr ""
@@ -2056,8 +2076,8 @@ msgstr ""
2056
  msgid "Connection"
2057
  msgstr ""
2058
 
2059
- #: pro/includes/class-provider.php:149 pro/includes/class-provider.php:1095
2060
- #: pro/includes/class-provider.php:1130
2061
  msgid "You do not have permission"
2062
  msgstr ""
2063
 
@@ -2069,7 +2089,7 @@ msgstr ""
2069
  msgid "Select Account"
2070
  msgstr ""
2071
 
2072
- #: pro/includes/class-provider.php:638 pro/includes/class-provider.php:1209
2073
  msgid "Add New Account"
2074
  msgstr ""
2075
 
@@ -2127,36 +2147,36 @@ msgstr ""
2127
  msgid "Add rule group"
2128
  msgstr ""
2129
 
2130
- #: pro/includes/class-provider.php:1099 pro/includes/class-provider.php:1134
2131
  msgid "Missing data"
2132
  msgstr ""
2133
 
2134
- #: pro/includes/class-provider.php:1111
2135
  msgid "Connection missing"
2136
  msgstr ""
2137
 
2138
- #: pro/includes/class-provider.php:1148 pro/includes/class-provider.php:1199
2139
  msgid "Connected on: "
2140
  msgstr ""
2141
 
2142
- #: pro/includes/class-provider.php:1149 pro/includes/class-provider.php:1200
2143
  msgid "Disconnect "
2144
  msgstr ""
2145
 
2146
- #: pro/includes/class-provider.php:1184
2147
  msgid "Integrate %s with WPForms"
2148
  msgstr ""
2149
 
2150
- #: pro/includes/class-provider.php:1185
2151
  msgid "Connected"
2152
  msgstr ""
2153
 
2154
- #: pro/includes/class-provider.php:1215
2155
  msgid ""
2156
  "Please fill out all of the fields below to add your new provider account."
2157
  msgstr ""
2158
 
2159
- #: pro/includes/class-provider.php:1221
2160
  msgid "Connect to"
2161
  msgstr ""
2162
 
@@ -2819,9 +2839,9 @@ msgstr ""
2819
  msgid "Please deactivate WPForms Lite before activating WPForms"
2820
  msgstr ""
2821
 
2822
- #. #-#-#-#-# wpforms.pot (WPForms 1.2.4) #-#-#-#-#
2823
  #. Plugin URI of the plugin/theme
2824
- #. #-#-#-#-# wpforms.pot (WPForms 1.2.4) #-#-#-#-#
2825
  #. Author URI of the plugin/theme
2826
  msgid "https://wpforms.com"
2827
  msgstr ""
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WPForms 1.2.5\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
+ "POT-Creation-Date: 2016-08-03 14:56:24+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
112
  msgstr ""
113
 
114
  #: includes/admin/builder/class-builder.php:277
115
+ #: lite/includes/admin/class-settings.php:131
116
+ #: pro/includes/admin/class-settings.php:135
117
  msgid "Saving ..."
118
  msgstr ""
119
 
189
  msgstr ""
190
 
191
  #: includes/admin/builder/class-builder.php:299
192
+ #: includes/class-frontend.php:482
193
  #: pro/includes/fields/class-page-break.php:144
194
  msgid "Previous"
195
  msgstr ""
239
  msgstr ""
240
 
241
  #: includes/admin/builder/class-builder.php:386
242
+ #: pro/includes/admin/class-settings.php:435
243
  msgid "Save"
244
  msgstr ""
245
 
266
  msgstr ""
267
 
268
  #: includes/admin/builder/panels/class-fields.php:123
269
+ #: includes/admin/builder/panels/class-settings.php:125
270
  msgid "Submit"
271
  msgstr ""
272
 
301
  msgstr ""
302
 
303
  #: includes/admin/builder/panels/class-settings.php:21
304
+ #: includes/admin/class-menu.php:84 lite/includes/admin/class-settings.php:390
305
+ #: pro/includes/admin/class-settings.php:690
306
  msgid "Settings"
307
  msgstr ""
308
 
309
  #: includes/admin/builder/panels/class-settings.php:57
310
  #: includes/admin/builder/panels/class-settings.php:87
311
+ #: lite/includes/admin/class-settings.php:152
312
+ #: pro/includes/admin/class-settings.php:156
313
  msgid "General"
314
  msgstr ""
315
 
320
  msgstr ""
321
 
322
  #: includes/admin/builder/panels/class-settings.php:59
323
+ #: includes/admin/builder/panels/class-settings.php:255
324
  msgid "Confirmation"
325
  msgstr ""
326
 
343
  msgstr ""
344
 
345
  #: includes/admin/builder/panels/class-settings.php:116
346
+ msgid "Form CSS Class"
347
+ msgstr ""
348
+
349
+ #: includes/admin/builder/panels/class-settings.php:117
350
+ msgid ""
351
+ "Enter CSS class names for the form wrapper. Multiple class names should be "
352
+ "seperated with spaces."
353
  msgstr ""
354
 
355
  #: includes/admin/builder/panels/class-settings.php:124
356
+ msgid "Submit Button Text"
357
+ msgstr ""
358
+
359
+ #: includes/admin/builder/panels/class-settings.php:132
360
  msgid "Submit Button CSS Class"
361
  msgstr ""
362
 
363
+ #: includes/admin/builder/panels/class-settings.php:133
364
  msgid ""
365
+ "Enter CSS class names for the form submit button. Multiple names should be "
366
  "seperated with spaces."
367
  msgstr ""
368
 
369
+ #: includes/admin/builder/panels/class-settings.php:140
370
  msgid "Enable anti-spam honeypot"
371
  msgstr ""
372
 
373
+ #: includes/admin/builder/panels/class-settings.php:150
374
  msgid "Enable reCAPTCHA"
375
  msgstr ""
376
 
377
+ #: includes/admin/builder/panels/class-settings.php:262
378
  msgid "Confirmation Type"
379
  msgstr ""
380
 
381
+ #: includes/admin/builder/panels/class-settings.php:266
382
  #: includes/templates/class-suggestion.php:74 lite/wpforms-lite.php:172
383
  #: pro/wpforms-pro.php:360
384
  msgid "Message"
385
  msgstr ""
386
 
387
+ #: includes/admin/builder/panels/class-settings.php:267
388
  msgid "Show Page"
389
  msgstr ""
390
 
391
+ #: includes/admin/builder/panels/class-settings.php:268
392
  msgid "Go to URL (Redirect)"
393
  msgstr ""
394
 
395
+ #: includes/admin/builder/panels/class-settings.php:277
396
  msgid "Confirmation Message"
397
  msgstr ""
398
 
399
+ #: includes/admin/builder/panels/class-settings.php:279
400
  msgid "Thanks for contacting us! We will be in touch with you shortly."
401
  msgstr ""
402
 
403
+ #: includes/admin/builder/panels/class-settings.php:290
404
  msgid "Automatically scroll to the confirmation message"
405
  msgstr ""
406
 
407
+ #: includes/admin/builder/panels/class-settings.php:303
408
  msgid "Confirmation Page"
409
  msgstr ""
410
 
411
+ #: includes/admin/builder/panels/class-settings.php:311
412
  msgid "Confirmation Redirect URL"
413
  msgstr ""
414
 
477
  "a>?"
478
  msgstr ""
479
 
480
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.5) #-#-#-#-#
481
  #. Plugin Name of the plugin/theme
482
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.5) #-#-#-#-#
483
  #. Author of the plugin/theme
484
  #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
485
  #: includes/admin/class-menu.php:51
496
 
497
  #: includes/admin/class-menu.php:62
498
  #: includes/admin/overview/class-overview.php:148
499
+ #: pro/includes/class-provider.php:1051
500
  msgid "Add New"
501
  msgstr ""
502
 
678
  msgid "Forms Overview"
679
  msgstr ""
680
 
681
+ #: includes/class-frontend.php:287
682
  msgid "Step"
683
  msgstr ""
684
 
685
+ #: includes/class-frontend.php:288
686
  msgid "of"
687
  msgstr ""
688
 
757
  msgid "WPForms honeypot field triggered."
758
  msgstr ""
759
 
760
+ #: includes/class-process.php:339 lite/wpforms-lite.php:52
761
  #: pro/wpforms-pro.php:236
762
  msgid "New %s Entry"
763
  msgstr ""
836
  msgid "Lost Password URL"
837
  msgstr ""
838
 
839
+ #: includes/class-widget.php:127 pro/includes/admin/class-settings.php:518
840
  msgid "No forms"
841
  msgstr ""
842
 
858
  msgid "Field ID #"
859
  msgstr ""
860
 
861
+ #: includes/emails/templates/footer-default.php:40
862
+ msgid "Sent from <a href=\"%s\" style=\"color:#bbbbbb;\">%s</a>"
863
  msgstr ""
864
 
865
  #: includes/fields/class-base.php:290
1050
  msgstr ""
1051
 
1052
  #: includes/fields/class-email.php:21
1053
+ #: lite/includes/admin/class-settings.php:235
1054
+ #: pro/includes/admin/class-settings.php:300
1055
  #: pro/includes/templates/class-donation.php:42
1056
  #: pro/includes/templates/class-order.php:42
1057
  #: pro/includes/templates/class-request-quote.php:46
1237
  msgid "Subject"
1238
  msgstr ""
1239
 
1240
+ #: lite/includes/admin/class-settings.php:132
1241
+ #: pro/includes/admin/class-settings.php:136
1242
  msgid "Are you sure you want to disconnect this account?"
1243
  msgstr ""
1244
 
1245
+ #: lite/includes/admin/class-settings.php:133
1246
+ #: pro/includes/admin/class-settings.php:137
1247
  msgid "Upload or Choose Your Image"
1248
  msgstr ""
1249
 
1250
+ #: lite/includes/admin/class-settings.php:134
1251
+ #: pro/includes/admin/class-settings.php:138
1252
  msgid "Use Image"
1253
  msgstr ""
1254
 
1255
+ #: lite/includes/admin/class-settings.php:153
1256
  msgid "System Information"
1257
  msgstr ""
1258
 
1259
+ #: lite/includes/admin/class-settings.php:176
1260
+ #: pro/includes/admin/class-settings.php:183
1261
+ #: pro/includes/admin/class-settings.php:393
1262
  msgid "Settings check failed."
1263
  msgstr ""
1264
 
1265
+ #: lite/includes/admin/class-settings.php:196
1266
+ #: pro/includes/admin/class-settings.php:203
1267
  msgid "General settings updated."
1268
  msgstr ""
1269
 
1270
+ #: lite/includes/admin/class-settings.php:212
1271
+ #: pro/includes/admin/class-settings.php:277
1272
  msgid "Include Form Styling"
1273
  msgstr ""
1274
 
1275
+ #: lite/includes/admin/class-settings.php:216
1276
+ #: pro/includes/admin/class-settings.php:281
1277
  msgid "Base and form theme styling"
1278
  msgstr ""
1279
 
1280
+ #: lite/includes/admin/class-settings.php:217
1281
+ #: pro/includes/admin/class-settings.php:282
1282
  msgid "Base styling only"
1283
  msgstr ""
1284
 
1285
+ #: lite/includes/admin/class-settings.php:218
1286
+ #: pro/includes/admin/class-settings.php:283
1287
  #: pro/includes/fields/class-page-break.php:58
1288
  msgid "None"
1289
  msgstr ""
1290
 
1291
+ #: lite/includes/admin/class-settings.php:220
1292
+ #: pro/includes/admin/class-settings.php:285
1293
  msgid "Determines which CSS files to load for the site."
1294
  msgstr ""
1295
 
1296
+ #: lite/includes/admin/class-settings.php:225
1297
+ #: pro/includes/admin/class-settings.php:290
1298
+ msgid "Load Assets Globally"
1299
  msgstr ""
1300
 
1301
+ #: lite/includes/admin/class-settings.php:229
1302
+ #: pro/includes/admin/class-settings.php:294
1303
+ msgid ""
1304
+ "Check this if you would like to load WPForms assets site-wide. Only check if "
1305
+ "your site is having compatibility issues or instructed to by support."
1306
  msgstr ""
1307
 
1308
+ #: lite/includes/admin/class-settings.php:240
1309
+ #: pro/includes/admin/class-settings.php:305
1310
+ msgid "Email Template"
1311
  msgstr ""
1312
 
1313
+ #: lite/includes/admin/class-settings.php:244
1314
+ #: pro/includes/admin/class-settings.php:309
1315
+ msgid "Default HTML template"
1316
  msgstr ""
1317
 
1318
+ #: lite/includes/admin/class-settings.php:245
1319
+ #: pro/includes/admin/class-settings.php:310
1320
+ msgid "Plain Text"
1321
  msgstr ""
1322
 
1323
+ #: lite/includes/admin/class-settings.php:247
1324
+ #: pro/includes/admin/class-settings.php:312
1325
+ msgid "Determines how email notifications will be formatted."
 
 
1326
  msgstr ""
1327
 
1328
+ #: lite/includes/admin/class-settings.php:252
1329
+ #: pro/includes/admin/class-settings.php:317
1330
  msgid "Email Header Image "
1331
  msgstr ""
1332
 
1333
+ #: lite/includes/admin/class-settings.php:264
1334
+ #: pro/includes/admin/class-settings.php:329
1335
  msgid "Upload Image"
1336
  msgstr ""
1337
 
1338
+ #: lite/includes/admin/class-settings.php:266
1339
+ #: pro/includes/admin/class-settings.php:331
1340
  msgid ""
1341
  "Upload or choose a logo to be displayed at the top of email notifications."
1342
  msgstr ""
1343
 
1344
+ #: lite/includes/admin/class-settings.php:267
1345
+ #: pro/includes/admin/class-settings.php:332
1346
  msgid "Recommended size is 300x100 or smaller for best support on all devices."
1347
  msgstr ""
1348
 
1349
+ #: lite/includes/admin/class-settings.php:273
1350
+ #: pro/includes/admin/class-settings.php:338
1351
+ msgid "Email Background Color"
1352
+ msgstr ""
1353
+
1354
+ #: lite/includes/admin/class-settings.php:277
1355
+ #: pro/includes/admin/class-settings.php:342
1356
+ msgid "Customize the background color of the HTML email template."
1357
+ msgstr ""
1358
+
1359
+ #: lite/includes/admin/class-settings.php:283
1360
+ #: pro/includes/admin/class-settings.php:348
1361
  msgid "reCAPTCHA"
1362
  msgstr ""
1363
 
1364
+ #: lite/includes/admin/class-settings.php:284
1365
+ #: pro/includes/admin/class-settings.php:349
1366
  msgid ""
1367
  "reCAPTCHA is a free anti-spam service from Google. Its helps protect your "
1368
  "website from spam and abuse while letting real people pass through with "
1372
  "\"_blank\">read our walk through</a> for step-by-step directions."
1373
  msgstr ""
1374
 
1375
+ #: lite/includes/admin/class-settings.php:289
1376
+ #: pro/includes/admin/class-settings.php:354
1377
  msgid "reCAPTCHA Site key"
1378
  msgstr ""
1379
 
1380
+ #: lite/includes/admin/class-settings.php:297
1381
+ #: pro/includes/admin/class-settings.php:362
1382
  msgid "reCAPTCHA Secret key"
1383
  msgstr ""
1384
 
1385
+ #: lite/includes/admin/class-settings.php:306
1386
+ #: pro/includes/admin/class-settings.php:371
1387
  msgid "Save General Settings"
1388
  msgstr ""
1389
 
1470
  msgstr ""
1471
 
1472
  #: pro/includes/admin/builder/panels/class-payments.php:21
1473
+ #: pro/includes/admin/class-settings.php:157
1474
  msgid "Payments"
1475
  msgstr ""
1476
 
1670
  "continue receiving automatic updates."
1671
  msgstr ""
1672
 
1673
+ #: pro/includes/admin/class-settings.php:158
1674
  msgid "Integrations"
1675
  msgstr ""
1676
 
1677
+ #: pro/includes/admin/class-settings.php:159
1678
  msgid "Import/Export"
1679
  msgstr ""
1680
 
1681
+ #: pro/includes/admin/class-settings.php:160
1682
  msgid "System Info"
1683
  msgstr ""
1684
 
1685
+ #: pro/includes/admin/class-settings.php:210
1686
  msgid "Please enter a license key to verify."
1687
  msgstr ""
1688
 
1689
+ #: pro/includes/admin/class-settings.php:240
1690
  msgid "License"
1691
  msgstr ""
1692
 
1693
+ #: pro/includes/admin/class-settings.php:241
1694
  msgid "Your license key provides access to updates and Add-ons. "
1695
  msgstr ""
1696
 
1697
+ #: pro/includes/admin/class-settings.php:246
1698
  msgid "License Key"
1699
  msgstr ""
1700
 
1701
+ #: pro/includes/admin/class-settings.php:250
1702
  msgid "Verify Key"
1703
  msgstr ""
1704
 
1705
+ #: pro/includes/admin/class-settings.php:252
1706
  msgid "Deactivate Key"
1707
  msgstr ""
1708
 
1709
+ #: pro/includes/admin/class-settings.php:260
1710
  msgid "License Key Type"
1711
  msgstr ""
1712
 
1713
+ #: pro/includes/admin/class-settings.php:263
1714
  msgid "Your license key type for this site is <strong>%s.</strong>"
1715
  msgstr ""
1716
 
1717
+ #: pro/includes/admin/class-settings.php:264
1718
  msgid "Refresh Key"
1719
  msgstr ""
1720
 
1721
+ #: pro/includes/admin/class-settings.php:265
1722
  msgid ""
1723
  "If your license has been upgraded or is incorrect, you may force a refresh."
1724
  msgstr ""
1725
 
1726
+ #: pro/includes/admin/class-settings.php:404
1727
  msgid "Settings updated."
1728
  msgstr ""
1729
 
1730
+ #: pro/includes/admin/class-settings.php:418
1731
  msgid "Currency"
1732
  msgstr ""
1733
 
1734
+ #: pro/includes/admin/class-settings.php:422
1735
  msgid "US Dollars (USD)"
1736
  msgstr ""
1737
 
1738
+ #: pro/includes/admin/class-settings.php:424
1739
  msgid "Determines which currency to use for payments."
1740
  msgstr ""
1741
 
1742
+ #: pro/includes/admin/class-settings.php:455
1743
  msgid ""
1744
  "You do not have any marketing add-ons activated. You can head over to the <a "
1745
  "href=\"%s\">Add-Ons page</a> to install and activate the add-on for your "
1746
  "provider."
1747
  msgstr ""
1748
 
1749
+ #: pro/includes/admin/class-settings.php:476
1750
  msgid "Form(s) imported"
1751
  msgstr ""
1752
 
1753
+ #: pro/includes/admin/class-settings.php:485
1754
  msgid "Form Import"
1755
  msgstr ""
1756
 
1757
+ #: pro/includes/admin/class-settings.php:490
1758
  msgid "Select an export file."
1759
  msgstr ""
1760
 
1761
+ #: pro/includes/admin/class-settings.php:496
1762
  msgid "Import"
1763
  msgstr ""
1764
 
1765
+ #: pro/includes/admin/class-settings.php:503
1766
  msgid "Form Export"
1767
  msgstr ""
1768
 
1769
+ #: pro/includes/admin/class-settings.php:508
1770
  msgid ""
1771
  "Select form(s) to download an export file. This can be imported into another "
1772
  "site."
1773
  msgstr ""
1774
 
1775
+ #: pro/includes/admin/class-settings.php:524
1776
  msgid "Export"
1777
  msgstr ""
1778
 
1779
+ #: pro/includes/admin/class-settings.php:584
1780
  msgid "Please upload a valid .json form export file."
1781
  msgstr ""
1782
 
1783
+ #: pro/includes/admin/class-settings.php:584
1784
  #: pro/includes/admin/entries/class-entries-export.php:293
1785
  msgid "Error"
1786
  msgstr ""
2076
  msgid "Connection"
2077
  msgstr ""
2078
 
2079
+ #: pro/includes/class-provider.php:149 pro/includes/class-provider.php:1096
2080
+ #: pro/includes/class-provider.php:1131
2081
  msgid "You do not have permission"
2082
  msgstr ""
2083
 
2089
  msgid "Select Account"
2090
  msgstr ""
2091
 
2092
+ #: pro/includes/class-provider.php:638 pro/includes/class-provider.php:1210
2093
  msgid "Add New Account"
2094
  msgstr ""
2095
 
2147
  msgid "Add rule group"
2148
  msgstr ""
2149
 
2150
+ #: pro/includes/class-provider.php:1100 pro/includes/class-provider.php:1135
2151
  msgid "Missing data"
2152
  msgstr ""
2153
 
2154
+ #: pro/includes/class-provider.php:1112
2155
  msgid "Connection missing"
2156
  msgstr ""
2157
 
2158
+ #: pro/includes/class-provider.php:1149 pro/includes/class-provider.php:1200
2159
  msgid "Connected on: "
2160
  msgstr ""
2161
 
2162
+ #: pro/includes/class-provider.php:1150 pro/includes/class-provider.php:1201
2163
  msgid "Disconnect "
2164
  msgstr ""
2165
 
2166
+ #: pro/includes/class-provider.php:1185
2167
  msgid "Integrate %s with WPForms"
2168
  msgstr ""
2169
 
2170
+ #: pro/includes/class-provider.php:1186
2171
  msgid "Connected"
2172
  msgstr ""
2173
 
2174
+ #: pro/includes/class-provider.php:1216
2175
  msgid ""
2176
  "Please fill out all of the fields below to add your new provider account."
2177
  msgstr ""
2178
 
2179
+ #: pro/includes/class-provider.php:1222
2180
  msgid "Connect to"
2181
  msgstr ""
2182
 
2839
  msgid "Please deactivate WPForms Lite before activating WPForms"
2840
  msgstr ""
2841
 
2842
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.5) #-#-#-#-#
2843
  #. Plugin URI of the plugin/theme
2844
+ #. #-#-#-#-# wpforms.pot (WPForms 1.2.5) #-#-#-#-#
2845
  #. Author URI of the plugin/theme
2846
  msgid "https://wpforms.com"
2847
  msgstr ""
lite/includes/admin/class-settings.php CHANGED
@@ -99,7 +99,22 @@ class WPForms_Settings {
99
  WPFORMS_VERSION
100
  );
101
 
 
 
 
 
 
 
 
102
  // JS
 
 
 
 
 
 
 
 
103
  wp_enqueue_script(
104
  'wpforms-settings',
105
  WPFORMS_PLUGIN_URL . 'assets/js/admin-settings.js',
@@ -166,19 +181,19 @@ class WPForms_Settings {
166
  if ( isset( $_POST['submit-general'] ) ) {
167
 
168
  // Prep and sanatize settings for save
169
- $this->options['email-template'] = !empty( $_POST['email-template'] ) ? esc_attr( $_POST['email-template'] ) : 'default';
170
- $this->options['email-header-image'] = !empty( $_POST['email-header-image'] ) ? esc_url_raw( $_POST['email-header-image'] ) : '';
171
- $this->options['disable-css'] = !empty( $_POST['disable-css'] ) ? intval( $_POST['disable-css'] ) : '1';
172
- $this->options['global-assets'] = !empty( $_POST['global-assets'] ) ? '1' : false;
173
- $this->options['recaptcha-site-key'] = !empty( $_POST['recaptcha-site-key'] ) ? esc_html( $_POST['recaptcha-site-key'] ) : '';
174
- $this->options['recaptcha-secret-key'] = !empty( $_POST['recaptcha-secret-key'] ) ? esc_html( $_POST['recaptcha-secret-key'] ) : '';
 
175
  $this->options = apply_filters( 'wpforms_settings_save', $this->options, $_POST, 'general' );
176
 
177
  // Update settings in DB
178
  update_option( 'wpforms_settings' , $this->options );
179
 
180
  printf( '<div class="updated below-h2"><p>%s</p></div>', __( 'General settings updated.', 'wpforms' ) );
181
-
182
  }
183
  }
184
  }
@@ -205,6 +220,15 @@ class WPForms_Settings {
205
  <p class="description"><?php _e( 'Determines which CSS files to load for the site.', 'wpforms' ); ?></p>
206
  </td>
207
  </tr>
 
 
 
 
 
 
 
 
 
208
  <tr>
209
  <td class="section" colspan="2">
210
  <hr>
@@ -213,10 +237,10 @@ class WPForms_Settings {
213
  </tr>
214
  <tr>
215
  <th scope="row">
216
- <label for="wpforms-settings-email-template"><?php _e( 'Email Template', 'wpforms' ); ?></label>
217
  </th>
218
  <td>
219
- <select name="email-template" id="wpforms-settings-email-template">
220
  <option value="default" <?php selected( 'default', $this->get( 'email-template' ) ); ?>><?php _e( 'Default HTML template', 'wpforms' ); ?></option>
221
  <option value="none" <?php selected( 'none', $this->get( 'email-template' ) ); ?>><?php _e( 'Plain Text', 'wpforms' ); ?></option>
222
  </select>
@@ -225,19 +249,10 @@ class WPForms_Settings {
225
  </tr>
226
  <tr>
227
  <th scope="row">
228
- <label for="wpforms-settings-general-global-assets"><?php _e( 'Load Assets Globally', 'wpforms' ); ?></label>
229
- </th>
230
- <td>
231
- <input type="checkbox" name="global-assets" id="wpforms-settings-general-global-assets" value="1" <?php checked( '1', $this->get( 'global-assets' ) ); ?>>
232
- <label for="wpforms-settings-general-global-assets"><?php _e( 'Check this if you would like to load WPForms assets site-wide. Only check if your site is having compatibility issues or instructed to by support.', 'wpforms_paypals' ); ?></label>
233
- </td>
234
- </tr>
235
- <tr>
236
- <th scope="row">
237
- <label for="wpforms-settings-email-header-image"><?php _e( 'Email Header Image ', 'wpforms' ); ?></label>
238
  </th>
239
  <td>
240
- <label for="wpforms-settings-email-header-image" class="wpforms-settings-upload-image-display">
241
  <?php
242
  $email_header = $this->get( 'email-header-image' );
243
  if ( $email_header ) {
@@ -253,6 +268,15 @@ class WPForms_Settings {
253
  </p>
254
  </td>
255
  </tr>
 
 
 
 
 
 
 
 
 
256
  <tr>
257
  <td class="section" colspan="2">
258
  <hr>
@@ -516,7 +540,7 @@ class WPForms_Settings {
516
 
517
  // PHP configs... now we're getting to the important stuff
518
  $return .= "\n" . '-- PHP Configuration' . "\n\n";
519
- $return .= 'Safe Mode: ' . ( ini_get( 'safe_mode' ) ? 'Enabled' : 'Disabled' . "\n" );
520
  $return .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
521
  $return .= 'Upload Max Size: ' . ini_get( 'upload_max_filesize' ) . "\n";
522
  $return .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
99
  WPFORMS_VERSION
100
  );
101
 
102
+ wp_enqueue_style(
103
+ 'minicolors',
104
+ WPFORMS_PLUGIN_URL . 'assets/css/jquery.minicolors.css',
105
+ null,
106
+ '2.2.3'
107
+ );
108
+
109
  // JS
110
+ wp_enqueue_script(
111
+ 'minicolors',
112
+ WPFORMS_PLUGIN_URL . 'assets/js/jquery.minicolors.min.js',
113
+ array( 'jquery' ),
114
+ '2.2.3',
115
+ false
116
+ );
117
+
118
  wp_enqueue_script(
119
  'wpforms-settings',
120
  WPFORMS_PLUGIN_URL . 'assets/js/admin-settings.js',
181
  if ( isset( $_POST['submit-general'] ) ) {
182
 
183
  // Prep and sanatize settings for save
184
+ $this->options['email-template'] = !empty( $_POST['email-template'] ) ? esc_attr( $_POST['email-template'] ) : 'default';
185
+ $this->options['email-header-image'] = !empty( $_POST['email-header-image'] ) ? esc_url_raw( $_POST['email-header-image'] ) : '';
186
+ $this->options['email-background-color'] = !empty( $_POST['email-background-color'] ) ? wpforms_sanitize_hex_color( $_POST['email-background-color'] ) : '#e9eaec';
187
+ $this->options['disable-css'] = !empty( $_POST['disable-css'] ) ? intval( $_POST['disable-css'] ) : '1';
188
+ $this->options['global-assets'] = !empty( $_POST['global-assets'] ) ? '1' : false;
189
+ $this->options['recaptcha-site-key'] = !empty( $_POST['recaptcha-site-key'] ) ? esc_html( $_POST['recaptcha-site-key'] ) : '';
190
+ $this->options['recaptcha-secret-key'] = !empty( $_POST['recaptcha-secret-key'] ) ? esc_html( $_POST['recaptcha-secret-key'] ) : '';
191
  $this->options = apply_filters( 'wpforms_settings_save', $this->options, $_POST, 'general' );
192
 
193
  // Update settings in DB
194
  update_option( 'wpforms_settings' , $this->options );
195
 
196
  printf( '<div class="updated below-h2"><p>%s</p></div>', __( 'General settings updated.', 'wpforms' ) );
 
197
  }
198
  }
199
  }
220
  <p class="description"><?php _e( 'Determines which CSS files to load for the site.', 'wpforms' ); ?></p>
221
  </td>
222
  </tr>
223
+ <tr>
224
+ <th scope="row">
225
+ <label for="wpforms-settings-general-global-assets"><?php _e( 'Load Assets Globally', 'wpforms' ); ?></label>
226
+ </th>
227
+ <td>
228
+ <input type="checkbox" name="global-assets" id="wpforms-settings-general-global-assets" value="1" <?php checked( '1', $this->get( 'global-assets' ) ); ?>>
229
+ <label for="wpforms-settings-general-global-assets"><?php _e( 'Check this if you would like to load WPForms assets site-wide. Only check if your site is having compatibility issues or instructed to by support.', 'wpforms_paypals' ); ?></label>
230
+ </td>
231
+ </tr>
232
  <tr>
233
  <td class="section" colspan="2">
234
  <hr>
237
  </tr>
238
  <tr>
239
  <th scope="row">
240
+ <label for="wpforms-settings-general-email-template"><?php _e( 'Email Template', 'wpforms' ); ?></label>
241
  </th>
242
  <td>
243
+ <select name="email-template" id="wpforms-settings-general-email-template">
244
  <option value="default" <?php selected( 'default', $this->get( 'email-template' ) ); ?>><?php _e( 'Default HTML template', 'wpforms' ); ?></option>
245
  <option value="none" <?php selected( 'none', $this->get( 'email-template' ) ); ?>><?php _e( 'Plain Text', 'wpforms' ); ?></option>
246
  </select>
249
  </tr>
250
  <tr>
251
  <th scope="row">
252
+ <label for="wpforms-settings-general-email-header-image"><?php _e( 'Email Header Image ', 'wpforms' ); ?></label>
 
 
 
 
 
 
 
 
 
253
  </th>
254
  <td>
255
+ <label for="wpforms-settings-general-email-header-image" class="wpforms-settings-upload-image-display">
256
  <?php
257
  $email_header = $this->get( 'email-header-image' );
258
  if ( $email_header ) {
268
  </p>
269
  </td>
270
  </tr>
271
+ <tr>
272
+ <th scope="row">
273
+ <label for="wpforms-settings-general-email-background-color"><?php _e( 'Email Background Color', 'wpforms' ); ?></label>
274
+ </th>
275
+ <td>
276
+ <input type="text" name="email-background-color" value="<?php echo esc_attr( $this->get( 'email-background-color', '#e9eaec' ) ); ?>" id="wpforms-settings-general-email-background-color" class="wpforms-color-picker">
277
+ <p class="description"><?php _e( 'Customize the background color of the HTML email template.', 'wpforms' ); ?></p>
278
+ </td>
279
+ </tr>
280
  <tr>
281
  <td class="section" colspan="2">
282
  <hr>
540
 
541
  // PHP configs... now we're getting to the important stuff
542
  $return .= "\n" . '-- PHP Configuration' . "\n\n";
543
+ //$return .= 'Safe Mode: ' . ( ini_get( 'safe_mode' ) ? 'Enabled' : 'Disabled' . "\n" );
544
  $return .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
545
  $return .= 'Upload Max Size: ' . ini_get( 'upload_max_filesize' ) . "\n";
546
  $return .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
lite/wpforms-lite.php CHANGED
@@ -10,7 +10,7 @@ class WPForms_Lite {
10
  /**
11
  * Primary class constructor.
12
  *
13
- * @since 1.2.0
14
  */
15
  public function __construct() {
16
 
@@ -49,7 +49,7 @@ class WPForms_Lite {
49
  // Fetch next ID and handle backwards compatibility
50
  if ( empty( $settings->form_data['settings']['notifications'] ) ) {
51
  $settings->form_data['settings']['notifications'][1]['email'] = !empty( $settings->form_data['settings']['notification_email'] ) ? $settings->form_data['settings']['notification_email'] : '{admin_email}';
52
- $settings->form_data['settings']['notifications'][1]['subject'] = !empty( $settings->form_data['settings']['notification_subject'] ) ? $settings->form_data['settings']['notification_subject'] : sprintf( __( 'New %s Entry', 'wpforms ' ), $settings->form_data['settings']['form_title'] );
53
  $settings->form_data['settings']['notifications'][1]['sender_name'] = !empty( $settings->form_data['settings']['notification_fromname'] ) ? $settings->form_data['settings']['notification_fromname'] : get_bloginfo( 'name' );
54
  $settings->form_data['settings']['notifications'][1]['sender_address'] = !empty( $settings->form_data['settings']['notification_fromaddress'] ) ? $settings->form_data['settings']['notification_fromaddress'] : '{admin_email}';
55
  $settings->form_data['settings']['notifications'][1]['replyto'] = !empty( $settings->form_data['settings']['notification_replyto'] ) ? $settings->form_data['settings']['notification_replyto'] : '';
@@ -551,11 +551,27 @@ class WPForms_Lite {
551
  <div class="wpforms-addon-item wpforms-addon-status-upgrade wpforms-second">
552
  <div class="wpforms-addon-image"><img src="https://wpforms.com/images/addon-icon-user-registration.png"></div>
553
  <div class="wpforms-addon-text">
554
- <h4>User Registration</h4>
555
  <p class="desc">WPForms user registration addon allows you to create custom WordPress user registration forms for your website.</p>
556
  </div>
557
  <div class="wpforms-addon-action"><a href="<?php echo $upgrade; ?>" target="_blank">Upgrade Now</a></div>
558
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
559
  <div style="clear:both"></div>
560
  </div>
561
  <?php
10
  /**
11
  * Primary class constructor.
12
  *
13
+ * @since 1.2.x
14
  */
15
  public function __construct() {
16
 
49
  // Fetch next ID and handle backwards compatibility
50
  if ( empty( $settings->form_data['settings']['notifications'] ) ) {
51
  $settings->form_data['settings']['notifications'][1]['email'] = !empty( $settings->form_data['settings']['notification_email'] ) ? $settings->form_data['settings']['notification_email'] : '{admin_email}';
52
+ $settings->form_data['settings']['notifications'][1]['subject'] = !empty( $settings->form_data['settings']['notification_subject'] ) ? $settings->form_data['settings']['notification_subject'] : sprintf( __( 'New %s Entry', 'wpforms ' ), $settings->form->post_title );
53
  $settings->form_data['settings']['notifications'][1]['sender_name'] = !empty( $settings->form_data['settings']['notification_fromname'] ) ? $settings->form_data['settings']['notification_fromname'] : get_bloginfo( 'name' );
54
  $settings->form_data['settings']['notifications'][1]['sender_address'] = !empty( $settings->form_data['settings']['notification_fromaddress'] ) ? $settings->form_data['settings']['notification_fromaddress'] : '{admin_email}';
55
  $settings->form_data['settings']['notifications'][1]['replyto'] = !empty( $settings->form_data['settings']['notification_replyto'] ) ? $settings->form_data['settings']['notification_replyto'] : '';
551
  <div class="wpforms-addon-item wpforms-addon-status-upgrade wpforms-second">
552
  <div class="wpforms-addon-image"><img src="https://wpforms.com/images/addon-icon-user-registration.png"></div>
553
  <div class="wpforms-addon-text">
554
+ <h4>User Registration Addon</h4>
555
  <p class="desc">WPForms user registration addon allows you to create custom WordPress user registration forms for your website.</p>
556
  </div>
557
  <div class="wpforms-addon-action"><a href="<?php echo $upgrade; ?>" target="_blank">Upgrade Now</a></div>
558
  </div>
559
+ <div class="wpforms-addon-item wpforms-addon-status-upgrade wpforms-first">
560
+ <div class="wpforms-addon-image"><img src="https://wpforms.com/images/addon-icon-captcha.png"></div>
561
+ <div class="wpforms-addon-text">
562
+ <h4>Custom Captcha Addon</h4>
563
+ <p class="desc">WPForms custom captcha addon allows you to define custom questions or use random math questions as captcha to combat spam form submissions.</p>
564
+ </div>
565
+ <div class="wpforms-addon-action"><a href="<?php echo $upgrade; ?>" target="_blank">Upgrade Now</a></div>
566
+ </div>
567
+ <div class="wpforms-addon-item wpforms-addon-status-upgrade wpforms-second">
568
+ <div class="wpforms-addon-image"><img src="https://wpforms.com/images/addon-icon-geolocation.png"></div>
569
+ <div class="wpforms-addon-text">
570
+ <h4>Geolocation Addon</h4>
571
+ <p class="desc">WPForms geolocation addon allows you to collect and store your website visitors geolocation data along with their form submission.</p>
572
+ </div>
573
+ <div class="wpforms-addon-action"><a href="<?php echo $upgrade; ?>" target="_blank">Upgrade Now</a></div>
574
+ </div>
575
  <div style="clear:both"></div>
576
  </div>
577
  <?php
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: wpforms, jaredatch, smub
3
  Tags: contact form, contact form plugin, contact button, contact me, custom form, custom contact form, form builder, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, feedback form, payment form, survey form, donation form, email submit form, message form, mailchimp, mailchimp form, aweber, aweber form, paypal, paypal form, stripe, stripe form, getresponse, getresponse form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form
4
  Requires at least: 4.4
5
- Tested up to: 4.5.2
6
  Stable tag: trunk
7
  License: GNU General Public License v2.0 or later
8
 
@@ -85,11 +85,14 @@ We also knew that our developer friends may want to extend it further. That's wh
85
  * <a href="https://wpforms.com/features/multi-page-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Multi-Page Forms</a> - Split long forms into multiple pages to improve user experience.
86
  * <a href="https://wpforms.com/addons/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">MailChimp Forms</a> - Create MailChimp newsletter signup forms in WordPress to grow your email list.
87
  * <a href="https://wpforms.com/addons/aweber-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">AWeber Forms</a> - Create AWeber newsletter signup forms in WordPress to grow your email list.
 
88
  * <a href="https://wpforms.com/addons/getresponse-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">GetResponse Forms</a> - Create GetResponse newsletter signup forms in WordPress to grow your email list.
89
  * <a href="https://wpforms.com/addons/paypal-standard-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">PayPal Payment Forms</a> - Create PayPal forms to easily collect payments, donations, and online orders.
90
  * <a href="https://wpforms.com/addons/stripe-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Stripe Forms</a> - Easily collect payments, donations, and online orders with our Stripe addon.
91
  * <a href="https://wpforms.com/addons/user-registration-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">User Registration Forms</a> - Create custom WordPress user registration form.
92
  * <a href="https://wpforms.com/addons/conditional-logic-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Smart Conditional Logic</a> - Show or hide fields and form sections based on user behavior.
 
 
93
  * Want us to add something else? Suggest a feature and we'll get it added!
94
 
95
  After reading this feature list, you can probably imagine why WPForms is the best WordPress forms plugin in the market.
@@ -160,6 +163,14 @@ Syed Balkhi
160
 
161
  == Changelog ==
162
 
 
 
 
 
 
 
 
 
163
  = 1.2.4.1 =
164
  - Fixed: Plugin settings page not correctly showing
165
 
2
  Contributors: wpforms, jaredatch, smub
3
  Tags: contact form, contact form plugin, contact button, contact me, custom form, custom contact form, form builder, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, feedback form, payment form, survey form, donation form, email submit form, message form, mailchimp, mailchimp form, aweber, aweber form, paypal, paypal form, stripe, stripe form, getresponse, getresponse form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form
4
  Requires at least: 4.4
5
+ Tested up to: 4.6
6
  Stable tag: trunk
7
  License: GNU General Public License v2.0 or later
8
 
85
  * <a href="https://wpforms.com/features/multi-page-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Multi-Page Forms</a> - Split long forms into multiple pages to improve user experience.
86
  * <a href="https://wpforms.com/addons/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">MailChimp Forms</a> - Create MailChimp newsletter signup forms in WordPress to grow your email list.
87
  * <a href="https://wpforms.com/addons/aweber-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">AWeber Forms</a> - Create AWeber newsletter signup forms in WordPress to grow your email list.
88
+ * <a href="https://wpforms.com/addons/campaign-monitor-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Campaign Monitor Forms</a> - Create Campaign Monitor newsletter signup forms in WordPress to grow your email list.
89
  * <a href="https://wpforms.com/addons/getresponse-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">GetResponse Forms</a> - Create GetResponse newsletter signup forms in WordPress to grow your email list.
90
  * <a href="https://wpforms.com/addons/paypal-standard-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">PayPal Payment Forms</a> - Create PayPal forms to easily collect payments, donations, and online orders.
91
  * <a href="https://wpforms.com/addons/stripe-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Stripe Forms</a> - Easily collect payments, donations, and online orders with our Stripe addon.
92
  * <a href="https://wpforms.com/addons/user-registration-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">User Registration Forms</a> - Create custom WordPress user registration form.
93
  * <a href="https://wpforms.com/addons/conditional-logic-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Smart Conditional Logic</a> - Show or hide fields and form sections based on user behavior.
94
+ * <a href="https://wpforms.com/addons/geolocation-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Geolocation</a> - Display location information about your users.
95
+ * <a href="https://wpforms.com/addons/custom-catpcha-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Custom Captchas</a> - Create custom captchas for your forms.
96
  * Want us to add something else? Suggest a feature and we'll get it added!
97
 
98
  After reading this feature list, you can probably imagine why WPForms is the best WordPress forms plugin in the market.
163
 
164
  == Changelog ==
165
 
166
+ = 1.2.5 =
167
+ - Added: Setting for Email template background color
168
+ - Added: Form setting for form wrapper CSS class
169
+ - Changed: Multiple Payment field stores Choice label text
170
+ - Changed: reCAPTCHA tweaks and added filter
171
+ - Changed: Improved IP detection
172
+ - Fixed: Mapped select fields in builder triggered JS error
173
+
174
  = 1.2.4.1 =
175
  - Fixed: Plugin settings page not correctly showing
176
 
wpforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
- * Version: 1.2.4.1
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
@@ -81,7 +81,7 @@ final class WPForms {
81
  * @since 1.0.0
82
  * @var sting
83
  */
84
- public $version = '1.2.4.1';
85
 
86
  /**
87
  * The form data handler instance.
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
+ * Version: 1.2.5
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
81
  * @since 1.0.0
82
  * @var sting
83
  */
84
+ public $version = '1.2.5';
85
 
86
  /**
87
  * The form data handler instance.