Contact Form Email - Version 1.2.49

Version Description

  • Email reply-to header fix
Download this release

Release Info

Developer codepeople
Plugin Icon 128x128 Contact Form Email
Version 1.2.49
Comparing to
See all releases

Code changes from version 1.2.48 to 1.2.49

README.txt CHANGED
@@ -55,7 +55,7 @@ There are also commercial versions of the Contact Form to Email with other featu
55
 
56
  Commercial version can be converted in a payment form / booking form with integration with mulitple payment gateways: PayPal Standard, PayPal Pro, Stripe, Authorize.net, Skrill, Mollie / iDeal, TargetPay / iDeal, SagePay, RedSys TPV and Sage Payments.
57
 
58
- Commercial version also features a ultra-powerful visual form builder, file upload fields, conditional logic, multi-page forms, WooCommerce integration, Mailchimp integration, Clickatell and Twilio SMS integration, iCal attachments, etc...
59
 
60
  = Contact Form to Email Messages List =
61
 
@@ -454,6 +454,9 @@ When you click a field already added into the contact form builder area, you can
454
 
455
  == Changelog ==
456
 
 
 
 
457
  = 1.2.48 =
458
  * SMTP compatibility issue
459
 
@@ -905,5 +908,5 @@ When you click a field already added into the contact form builder area, you can
905
 
906
  == Upgrade Notice ==
907
 
908
- = 1.2.48 =
909
- * SMTP compatibility issue
55
 
56
  Commercial version can be converted in a payment form / booking form with integration with mulitple payment gateways: PayPal Standard, PayPal Pro, Stripe, Authorize.net, Skrill, Mollie / iDeal, TargetPay / iDeal, SagePay, RedSys TPV and Sage Payments.
57
 
58
+ Commercial version also features a ultra-powerful visual form builder, file upload fields, conditional logic, multi-page forms, WooCommerce integration, Mailchimp integration, Clickatell and Twilio SMS integration, iCal attachments, signature fields to sign with the mouse or directly in the touchscreens, etc...
59
 
60
  = Contact Form to Email Messages List =
61
 
454
 
455
  == Changelog ==
456
 
457
+ = 1.2.49 =
458
+ * Email reply-to header fix
459
+
460
  = 1.2.48 =
461
  * SMTP compatibility issue
462
 
908
 
909
  == Upgrade Notice ==
910
 
911
+ = 1.2.49 =
912
+ * Email reply-to header fix
cp-admin-int-list.inc.php CHANGED
@@ -354,6 +354,67 @@ $nonce = wp_create_nonce( 'cfte_update_actions_plist' );
354
 
355
  </div>
356
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
 
358
 
359
  <script type="text/javascript">
354
 
355
  </div>
356
  </div>
357
+
358
+ <div id="addonsarea" >
359
+ <a name="addons-section"></a>
360
+ <div id="metabox_basic_settings" class="postbox" >
361
+ <h3 class='hndle' style="padding:5px;"><span>Add-ons Area</span></h3>
362
+ <div class="inside">
363
+ <style type="text/css">
364
+ .cpfieldset {
365
+ border: 1px groove threedface;
366
+ padding: 5px;
367
+ width:400px;
368
+ margin-right:10px;
369
+ }
370
+ .cpfieldset legend { font-weight: bold; color: #009900; }
371
+ </style>
372
+ <fieldset class="cpfieldset" style="float:left;"><legend>Payment Gateways Integration</legend>
373
+ <div><label for="addon-AuthNetSIM-20160910" style="font-weight:bold;"><input type="checkbox" disabled id="addon-AuthNetSIM-20160910" name="cfte_addons" value="addon-AuthNetSIM-20160910" >Authorize.net Server Integration Method</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for Authorize.net Server Integration Method payments</div></div>
374
+ <div><label for="addon-idealmollie-20151212" style="font-weight:bold;"><input type="checkbox" disabled id="addon-idealmollie-20151212" name="cfte_addons" value="addon-idealmollie-20151212" >iDeal Mollie</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for iDeal via Mollie payments</div></div><div>
375
+ <label for="addon-idealtargetpay-20151212" style="font-weight:bold;"><input type="checkbox" disabled id="addon-idealtargetpay-20151212" name="cfte_addons" value="addon-idealtargetpay-20151212" >iDeal TargetPay</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for iDeal via TargetPay payments</div></div><div>
376
+ <label for="addon-PayPalStandard-20170903" style="font-weight:bold;"><input type="checkbox" disabled id="addon-PayPalStandard-20170903" name="cfte_addons" value="addon-PayPalStandard-20170903" >PayPal Standard Payments Integration</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for PayPal Standard payments</div></div><div>
377
+ <label for="addon-paypalpro-20151212" style="font-weight:bold;"><input type="checkbox" disabled id="addon-paypalpro-20151212" name="cfte_addons" value="addon-paypalpro-20151212" >PayPal Pro</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for PayPal Payment Pro payments to accept credit cars directly into the website</div></div><div>
378
+ <label for="addon-sabtpv-20151212" style="font-weight:bold;"><input type="checkbox" disabled id="addon-sabtpv-20151212" name="cfte_addons" value="addon-sabtpv-20151212" >RedSys TPV</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for RedSys TPV payments</div></div><div>
379
+ <label for="addon-SagePay-20160706" style="font-weight:bold;"><input type="checkbox" disabled id="addon-SagePay-20160706" name="cfte_addons" value="addon-SagePay-20160706" >SagePay Payment Gateway</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for SagePay payments</div></div><div>
380
+ <label for="addon-SagePayments-20160706" style="font-weight:bold;"><input type="checkbox" disabled id="addon-SagePayments-20160706" name="cfte_addons" value="addon-SagePayments-20160706" >SagePayments Payment Gateway</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for SagePayments payments</div></div><div>
381
+ <label for="addon-Skrill-20170903" style="font-weight:bold;"><input type="checkbox" disabled id="addon-Skrill-20170903" name="cfte_addons" value="addon-Skrill-20170903" >Skrill Payments Integration</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for Skrill payments</div></div><div>
382
+ <label for="addon-stripe-20151212" style="font-weight:bold;"><input type="checkbox" disabled id="addon-stripe-20151212" name="cfte_addons" value="addon-stripe-20151212" >Stripe</label> <div style="font-style:italic;padding-left:20px;">The add-on adds support for Stripe payments</div></div>
383
+ </fieldset>
384
+
385
+ <fieldset class="cpfieldset"><legend>Improvements</legend>
386
+ <div><label for="addon-cfficalattachment-20180730" style="font-weight:bold;"><input type="checkbox" disabled id="addon-cfficalattachment-20180730" name="cfte_addons" value="addon-cfficalattachment-20180730" >iCal Export Attached</label> <div style="font-style:italic;padding-left:20px;">The add-on allows to attach an iCal file with the date of a field</div></div><div>
387
+ <label for="addon-uploads-20160330" style="font-weight:bold;"><input type="checkbox" disabled id="addon-uploads-20160330" name="cfte_addons" value="addon-uploads-20160330" >Uploads</label> <div style="font-style:italic;padding-left:20px;">The add-on allows to add the uploaded files to the Media Library, and the support for new mime types</div></div><div>
388
+ <label for="addon-signature-20171025" style="font-weight:bold;"><input type="checkbox" disabled id="addon-signature-20171025" name="cfte_addons" value="addon-signature-20171025" CHECKED>Signature Fields</label> <div style="font-style:italic;padding-left:20px;">The add-on allows to replace form fields with "Signature" fields</div></div>
389
+ </fieldset>
390
+
391
+
392
+ <fieldset class="cpfieldset"><legend>Integration with third party services</legend>
393
+ <div><label for="addon-mailchimp-20170504" style="font-weight:bold;"><input type="checkbox" disabled id="addon-mailchimp-20170504" name="cfte_addons" value="addon-mailchimp-20170504" >MailChimp</label> <div style="font-style:italic;padding-left:20px;">The add-on creates MailChimp List members with the submitted information</div></div><div>
394
+ <label for="addon-recaptcha-20151106" style="font-weight:bold;"><input type="checkbox" disabled id="addon-recaptcha-20151106" name="cfte_addons" value="addon-recaptcha-20151106" >reCAPTCHA</label> <div style="font-style:italic;padding-left:20px;">The add-on allows to protect the forms with reCAPTCHA service of Google</div></div><div>
395
+ <label for="addon-salesforce-20150311" style="font-weight:bold;"><input type="checkbox" disabled id="addon-salesforce-20150311" name="cfte_addons" value="addon-salesforce-20150311" >SalesForce</label> <div style="font-style:italic;padding-left:20px;">The add-on allows create SalesForce leads with the submitted information</div></div><div>
396
+ <label for="addon-webhook-20150403" style="font-weight:bold;"><input type="checkbox" disabled id="addon-webhook-20150403" name="cfte_addons" value="addon-webhook-20150403" >WebHook</label> <div style="font-style:italic;padding-left:20px;">The add-on allows put the submitted information to a webhook URL, and integrate the forms with the Zapier service</div></div>
397
+ </fieldset>
398
+
399
+ <div style="clear:both"></div>
400
+
401
+ <fieldset class="cpfieldset" style="float:left;"><legend>SMS Text Delivery</legend>
402
+ <div><label for="addon-twilio-20170403" style="font-weight:bold;"><input type="checkbox" disabled id="addon-twilio-20170403" name="cfte_addons" value="addon-twilio-20170403" >Twilio</label> <div style="font-style:italic;padding-left:20px;">The add-on allows to send notification messages (SMS) via Twilio after submitting the form</div></div>
403
+ <div><label for="addon-clickatell-20170403" style="font-weight:bold;"><input type="checkbox" disabled id="addon-clickatell-20170403" name="cfte_addons" value="addon-clickatell-20170403" >Clickatell</label> <div style="font-style:italic;padding-left:20px;">The add-on allows to send notification messages (SMS) via Clickatell after submitting the form</div></div>
404
+ </fieldset>
405
+
406
+ <fieldset class="cpfieldset"><legend>Integration with third party plugins</legend>
407
+ <div><label for="addon-woocommerce-20150309" style="font-weight:bold;"><input type="checkbox" disabled id="addon-woocommerce-20150309" name="cfte_addons" value="addon-woocommerce-20150309" >WooCommerce</label> <div style="font-style:italic;padding-left:20px;">The add-on allows integrate the forms with WooCommerce products</div></div>
408
+ </fieldset>
409
+
410
+ <div style="clear:both"></div>
411
+
412
+ <div style="margin-top:20px;"><input type="button" style="cursor:pointer;color: #006600;font-weight:bold;" onclick="window.open('https://form2email.dwbooster.com/download');" name="activateAddon" value="Activate Addons" /></div>
413
+ * Add-ons are available in <a href="https://form2email.dwbooster.com/download">upgraded versions</a>.
414
+ </div>
415
+ </div>
416
+ </div>
417
+
418
 
419
 
420
  <script type="text/javascript">
cp-admin-int-message-list.inc.php CHANGED
@@ -89,9 +89,9 @@ if (!$current_page) $current_page = 1;
89
 
90
 
91
  $cond = '';
92
- if ($_GET["search"] != '') $cond .= " AND (data like '%".esc_sql($_GET["search"])."%' OR posted_data LIKE '%".esc_sql($_GET["search"])."%')";
93
- if ($_GET["dfrom"] != '') $cond .= " AND (`time` >= '".esc_sql($_GET["dfrom"])."')";
94
- if ($_GET["dto"] != '') $cond .= " AND (`time` <= '".esc_sql($_GET["dto"])." 23:59:59')";
95
  if ($this->item != 0) $cond .= " AND formid=".intval($this->item);
96
 
97
  $events = $wpdb->get_results( "SELECT * FROM ".$wpdb->prefix.$this->table_messages." WHERE 1=1 ".$cond." ORDER BY `time` DESC" );
@@ -147,8 +147,10 @@ $nonce = wp_create_nonce( 'cfte_message_actions_plist' );
147
  <input type="hidden" name="cal" value="<?php echo $this->item; ?>" />
148
  <input type="hidden" name="list" value="1" />
149
  <nobr>Search for: <input type="text" name="search" value="<?php echo esc_attr($_GET["search"]); ?>" /> &nbsp; &nbsp; &nbsp;</nobr>
150
- <nobr>From: <input type="text" id="dfrom" name="dfrom" value="<?php echo esc_attr($_GET["dfrom"]); ?>" /> &nbsp; &nbsp; &nbsp; </nobr>
151
- <nobr>To: <input type="text" id="dto" name="dto" value="<?php echo esc_attr($_GET["dto"]); ?>" /> &nbsp; &nbsp; &nbsp; </nobr>
 
 
152
  <nobr>Item: <select id="cal" name="cal">
153
  <option value="0">[All Items]</option>
154
  <?php
@@ -277,9 +279,20 @@ echo paginate_links( array(
277
  });
278
 
279
  </script>
 
280
 
281
-
282
-
 
 
 
 
 
 
 
 
 
 
283
 
284
 
285
 
89
 
90
 
91
  $cond = '';
92
+ if (@$_GET["search"] != '') $cond .= " AND (data like '%".esc_sql($_GET["search"])."%' OR posted_data LIKE '%".esc_sql($_GET["search"])."%')";
93
+ if (@$_GET["dfrom"] != '') $cond .= " AND (`time` >= '".esc_sql($_GET["dfrom"].(@$_GET["tfrom"]?' '.$_GET["tfrom"]:''))."')";
94
+ if (@$_GET["dto"] != '') $cond .= " AND (`time` <= '".esc_sql($_GET["dto"].(@$_GET["tto"]?' '.$_GET["tto"]:' 23:59:59'))."')";
95
  if ($this->item != 0) $cond .= " AND formid=".intval($this->item);
96
 
97
  $events = $wpdb->get_results( "SELECT * FROM ".$wpdb->prefix.$this->table_messages." WHERE 1=1 ".$cond." ORDER BY `time` DESC" );
147
  <input type="hidden" name="cal" value="<?php echo $this->item; ?>" />
148
  <input type="hidden" name="list" value="1" />
149
  <nobr>Search for: <input type="text" name="search" value="<?php echo esc_attr($_GET["search"]); ?>" /> &nbsp; &nbsp; &nbsp;</nobr>
150
+ <nobr>From: <input type="text" id="dfrom" name="dfrom" style="width:100px;" value="<?php echo esc_attr($_GET["dfrom"]); ?>" /><?php cfte_get_time_field('tfrom');?>
151
+ &nbsp; &nbsp; &nbsp; </nobr>
152
+ <nobr>To: <input type="text" id="dto" name="dto" value="<?php echo esc_attr($_GET["dto"]); ?>" /><?php cfte_get_time_field('tto'); ?>
153
+ </select> &nbsp; &nbsp; &nbsp; </nobr>
154
  <nobr>Item: <select id="cal" name="cal">
155
  <option value="0">[All Items]</option>
156
  <?php
279
  });
280
 
281
  </script>
282
+ <?php
283
 
284
+ function cfte_get_time_field($field)
285
+ {
286
+ echo '<select style="vertical-align:baseline;height:auto;" name="'.$field.'"> <option value=""></option>';
287
+ for ($i=0; $i<23; $i++)
288
+ {
289
+ echo '<option'.($_GET[$field]==($i<10?'0':'').$i.":00"?' selected':'').'>'.($i<10?'0':'').$i.":00</option>";
290
+ echo '<option'.($_GET[$field]==($i<10?'0':'').$i.":15"?' selected':'').'>'.($i<10?'0':'').$i.":15</option>";
291
+ echo '<option'.($_GET[$field]==($i<10?'0':'').$i.":30"?' selected':'').'>'.($i<10?'0':'').$i.":30</option>";
292
+ echo '<option'.($_GET[$field]==($i<10?'0':'').$i.":45"?' selected':'').'>'.($i<10?'0':'').$i.":45</option>";
293
+ }
294
+ echo '</select>';
295
+ }
296
 
297
 
298
 
cp-admin-int.inc.php CHANGED
@@ -275,8 +275,9 @@ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset( $_POST[$this->prefix.'_post_
275
  </div>
276
 
277
  <div style="border:1px dotted black;background-color:#ffffaa;padding-left:15px;padding-right:15px;padding-top:5px;width:740px;font-size:12px;color:#000000;">
278
- <p>The form builder supports 3 fields in this version: "Single Line Text", "Email" and "Text-area".</p>
279
- <p>The full set of fields is available in the <a href="https://form2email.dwbooster.com/download">commercial version</a>. It also supports:
 
280
  <ul>
281
  <li> - Conditional Logic: Hide/show fields based in previous selections.</li>
282
  <li> - File uploads</li>
@@ -285,7 +286,7 @@ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset( $_POST[$this->prefix.'_post_
285
  <li> - Convert the form in a payment / booking form with integration with PayPal Standard, PayPal Pro, Stripe, Authorize.net, Skrill, Mollie / iDeal, TargetPay / iDeal, SagePay, RedSys TPV and Sage Payments.</li>
286
  <li> - ...and more fields and validations</li>
287
  </ul>
288
- <p>There are also other plugins with similar features (not exactly the same features) but adding <a href="https://wordpress.org/extend/plugins/cp-contact-form-with-paypal/">the connection of the form to PayPal</a>, with <a href="https://wordpress.org/plugins/calculated-fields-form/">calculated fields</a> or with a <a href="https://wordpress.org/plugins/appointment-hour-booking/">Appointment/Service Booking Calendar</a>.</p>
289
  </p>
290
 
291
  </div>
275
  </div>
276
 
277
  <div style="border:1px dotted black;background-color:#ffffaa;padding-left:15px;padding-right:15px;padding-top:5px;width:740px;font-size:12px;color:#000000;">
278
+ <p>This version supports the most frequently used field types: "Single Line Text", "Email", "Text-area" and "Acceptance Checkbox".</p>
279
+ <p><button type="button" onclick="window.open('https://form2email.dwbooster.com/download');" style="cursor:pointer;height:35px;color:#20A020;font-weight:bold;">Activate the FULL form builder</button>
280
+ <p>The full set of fields also supports:
281
  <ul>
282
  <li> - Conditional Logic: Hide/show fields based in previous selections.</li>
283
  <li> - File uploads</li>
286
  <li> - Convert the form in a payment / booking form with integration with PayPal Standard, PayPal Pro, Stripe, Authorize.net, Skrill, Mollie / iDeal, TargetPay / iDeal, SagePay, RedSys TPV and Sage Payments.</li>
287
  <li> - ...and more fields and validations</li>
288
  </ul>
289
+ <p>For an appointment booking option check the <a href="https://wordpress.org/plugins/appointment-hour-booking/">Appointment/Service Booking Calendar</a>.</p>
290
  </p>
291
 
292
  </div>
cp-main-class.inc.php CHANGED
@@ -444,7 +444,7 @@ class CP_ContactFormToEmail extends CP_CFTEMAIL_BaseClass {
444
  wp_enqueue_script( $this->prefix.'_builder_script', plugins_url('/js/fbuilderf.jquery.js', __FILE__),array("jquery","jquery-ui-core","jquery-ui-sortable","jquery-ui-tabs","jquery-ui-droppable","jquery-ui-button","query-stringify","jquery-ui-datepicker") );
445
  wp_enqueue_style('cfte-adminstyles', plugins_url('css/style.css', __FILE__) );
446
  wp_enqueue_style('cfte-admincalendarstyles', plugins_url('css/cupertino/jquery-ui-1.8.20.custom.css', __FILE__) );
447
- wp_enqueue_style('jquery-style', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
448
  if ($this->get_param("report") == '1')
449
  wp_enqueue_script( $this->prefix.'_excanvas', plugins_url('/js/excanvas.min.js', __FILE__));
450
  }
@@ -687,7 +687,7 @@ class CP_ContactFormToEmail extends CP_CFTEMAIL_BaseClass {
687
  $from_1 = '"'.$from_1.'" <'.$from_1.'>';
688
  wp_mail(trim($item), $subject, $message,
689
  "From: ".$from_1."\r\n".
690
- //($replyto!=''?"Reply-To: \"$replyto\" <".$replyto.">\r\n":'').
691
  $content_type.
692
  "X-Mailer: PHP/" . phpversion(), $attachments);
693
  }
@@ -875,8 +875,8 @@ class CP_ContactFormToEmail extends CP_CFTEMAIL_BaseClass {
875
 
876
  $cond = '';
877
  if ($this->get_param("search")) $cond .= " AND (data like '%".esc_sql($this->get_param("search"))."%' OR posted_data LIKE '%".esc_sql($this->get_param("search"))."%')";
878
- if ($this->get_param("dfrom")) $cond .= " AND (`time` >= '".esc_sql($this->get_param("dfrom"))."')";
879
- if ($this->get_param("dto")) $cond .= " AND (`time` <= '".esc_sql($this->get_param("dto"))." 23:59:59')";
880
  if ($this->item != 0) $cond .= " AND formid=".intval($this->item);
881
 
882
  $events = $wpdb->get_results( "SELECT * FROM ".$wpdb->prefix.$this->table_messages." WHERE 1=1 ".$cond." ORDER BY `time` DESC" );
444
  wp_enqueue_script( $this->prefix.'_builder_script', plugins_url('/js/fbuilderf.jquery.js', __FILE__),array("jquery","jquery-ui-core","jquery-ui-sortable","jquery-ui-tabs","jquery-ui-droppable","jquery-ui-button","query-stringify","jquery-ui-datepicker") );
445
  wp_enqueue_style('cfte-adminstyles', plugins_url('css/style.css', __FILE__) );
446
  wp_enqueue_style('cfte-admincalendarstyles', plugins_url('css/cupertino/jquery-ui-1.8.20.custom.css', __FILE__) );
447
+ //wp_enqueue_style('jquery-style', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
448
  if ($this->get_param("report") == '1')
449
  wp_enqueue_script( $this->prefix.'_excanvas', plugins_url('/js/excanvas.min.js', __FILE__));
450
  }
687
  $from_1 = '"'.$from_1.'" <'.$from_1.'>';
688
  wp_mail(trim($item), $subject, $message,
689
  "From: ".$from_1."\r\n".
690
+ ($replyto!=''?"Reply-To: \"$replyto\" <".$replyto.">\r\n":'').
691
  $content_type.
692
  "X-Mailer: PHP/" . phpversion(), $attachments);
693
  }
875
 
876
  $cond = '';
877
  if ($this->get_param("search")) $cond .= " AND (data like '%".esc_sql($this->get_param("search"))."%' OR posted_data LIKE '%".esc_sql($this->get_param("search"))."%')";
878
+ if ($this->get_param("dfrom")) $cond .= " AND (`time` >= '".esc_sql( $this->get_param("dfrom") . ($this->get_param("tfrom")?' '.$this->get_param("tfrom"):'') )."')";
879
+ if ($this->get_param("dto")) $cond .= " AND (`time` <= '".esc_sql($this->get_param("dto") . (@$this->get_param("tto")?' '.$this->get_param("tto"):' 23:59:59') )."')";
880
  if ($this->item != 0) $cond .= " AND formid=".intval($this->item);
881
 
882
  $events = $wpdb->get_results( "SELECT * FROM ".$wpdb->prefix.$this->table_messages." WHERE 1=1 ".$cond." ORDER BY `time` DESC" );
css/style.css CHANGED
@@ -9,8 +9,8 @@
9
  .padding10{padding:10px;}
10
  .button, .form-builder .button{float:left;margin:5px 15px;}
11
  .button.n span{color:#AED0EA}
12
- #tabs{height:450px;overflow:auto}
13
- #fbuilder{height:440px;overflow:auto;position:relative;}
14
  #fbuilder .fields{border:1px solid transparent;padding:3px 10px 14px 10px;margin:5px 0px;display:block;position:relative}
15
  #fbuilder .fields .arrow{position:absolute;left:-15px;top:20px;display:none}
16
  #fbuilder .fields .remove{position:absolute;bottom:0;right:0;display:none;background-color:#fff;cursor:pointer}
9
  .padding10{padding:10px;}
10
  .button, .form-builder .button{float:left;margin:5px 15px;}
11
  .button.n span{color:#AED0EA}
12
+ #tabs{height:620px;overflow:auto}
13
+ #fbuilder{height:610px;overflow:auto;position:relative;}
14
  #fbuilder .fields{border:1px solid transparent;padding:3px 10px 14px 10px;margin:5px 0px;display:block;position:relative}
15
  #fbuilder .fields .arrow{position:absolute;left:-15px;top:20px;display:none}
16
  #fbuilder .fields .remove{position:absolute;bottom:0;right:0;display:none;background-color:#fff;cursor:pointer}
form-to-email.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Contact Form Email
4
  Plugin URI: https://form2email.dwbooster.com/download
5
  Description: Contact form that sends the data to email and also to a database list and CSV file.
6
- Version: 1.2.48
7
  Author: CodePeople
8
  Author URI: https://form2email.dwbooster.com
9
  Text Domain: contact-form-to-email
3
  Plugin Name: Contact Form Email
4
  Plugin URI: https://form2email.dwbooster.com/download
5
  Description: Contact form that sends the data to email and also to a database list and CSV file.
6
+ Version: 1.2.49
7
  Author: CodePeople
8
  Author URI: https://form2email.dwbooster.com
9
  Text Domain: contact-form-to-email
js/fbuilderf.jquery.js CHANGED
@@ -4,8 +4,8 @@ jQuery(window).on('load', function(){
4
  $.fn.fbuilder = function(options){
5
  var opt = $.extend({},
6
  {
7
- typeList:new Array({id:"ftext",name:"Single Line Text"},{id:"fnumber",name:"Number"},{id:"femail",name:"Email"},{id:"fdate",name:"Date"},{id:"ftextarea",name:"Text Area"},{id:"fcheck",name:"Checkboxes"},{id:"fradio",name:"Radio Buttons"},{id:"fdropdown",name:"Dropdown"},{id:"ffile",name:"Upload file"},{id:"fpassword",name:"Password"},{id:"fPhone",name:"Phone field"},{id:"fCommentArea",name:"Instruct. Text"},{id:"fSectionBreak",name:"Section break"},{id:"fPageBreak",name:"Page break"},{id:"facceptance",name:"Accept / GDPR"}),
8
- pub:false,
9
  identifier:"",
10
  title:""
11
  },options, true);
@@ -41,7 +41,12 @@ jQuery(window).on('load', function(){
41
  if (!opt.pub)
42
  {
43
  for (var i=0;i<opt.typeList.length;i++)
44
- $("#tabs-1").append('<div class="button width40 '+(((i>5 && i!=14) || (i%2==1))?"n":"itemForm")+'" id="'+opt.typeList[i].id+'">'+opt.typeList[i].name+'</div>');
 
 
 
 
 
45
  $("#tabs-1").append('<div class="clearer"></div>');
46
  }
47
  if (!opt.pub) $( ".button").button();
4
  $.fn.fbuilder = function(options){
5
  var opt = $.extend({},
6
  {
7
+ typeList:new Array({id:"ftext",name:"Single Line Text"},{id:"fnumber",name:"Number"},{id:"femail",name:"Email"},{id:"fdate",name:"Date Time"},{id:"ftextarea",name:"Text Area"},{id:"fcurrency",name:"Currency"},{id:"fcheck",name:"Checkboxes"},{id:"fradio",name:"Radio Buttons"},{id:"fdropdown",name:"Dropdown"},{id:"ffile",name:"Upload File"},{id:"fpassword",name:"Password"},{id:"fPhone",name:"Phone field"},{id:"fCommentArea",name:"Instruct. Text"},{id:"fhidden",name:"Hidden"},{id:"fSectionBreak",name:"Section break"},{id:"fPageBreak",name:"Page break"},{id:"fsummary",name:"Summary"},{id:"fMedia",name:"Media"},{id:"fButton",name:"Button"},{id:"fhtml",name:"HTML content"},{id:"facceptance",name:"Accept / GDPR"},{id:"category",name:"Container Controls"},{id:"ffieldset",name:"Fieldset"},{id:"fdiv",name:"Div"},{id:"category",name:"Form Controls with Datasource Connection"},{id:"ftextds",name:"Line Text DS"},{id:"femailds",name:"Email DS"},{id:"ftextareads",name:"Text Area DS"},{id:"fcheckds",name:"Checkboxes DS"},{id:"fradiods",name:"Radio Btns DS"},{id:"fPhoneds",name:"Phone DS"},{id:"fdropdownds",name:"Dropdown DS"},{id:"fhiddends",name:"Hidden DS"},{id:"fnumberds",name:"Number DS"},{id:"fcurrencyds",name:"Currency DS"}),
8
+ pub:false,
9
  identifier:"",
10
  title:""
11
  },options, true);
41
  if (!opt.pub)
42
  {
43
  for (var i=0;i<opt.typeList.length;i++)
44
+ {
45
+ if (opt.typeList[i].id=="category")
46
+ $("#tabs-1").append('<div style="clear:both;"></div><br /><div class="category-description">'+opt.typeList[i].name+'</div><hr />');
47
+ else
48
+ $("#tabs-1").append('<div class="button width40 '+(((i>5 && i!=20) || (i%2==1))?"n":"itemForm")+'" id="'+opt.typeList[i].id+'">'+opt.typeList[i].name+'</div>');
49
+ }
50
  $("#tabs-1").append('<div class="clearer"></div>');
51
  }
52
  if (!opt.pub) $( ".button").button();