FormGet Contact Form - Version 5.4.0

Version Description

Download this release

Release Info

Developer PankajAgarwal
Plugin Icon 128x128 FormGet Contact Form
Version 5.4.0
Comparing to
See all releases

Code changes from version 5.3.9 to 5.4.0

Files changed (6) hide show
  1. index.php +138 -70
  2. js/fg_script.js +4 -5
  3. js/mg_front.js +3 -3
  4. js/mg_script.js +14 -15
  5. mailget.php +71 -58
  6. readme.txt +11 -38
index.php CHANGED
@@ -3,28 +3,35 @@
3
  Plugin Name: FormGet Contact Form
4
  Plugin URI: http://www.formget.com
5
  Description: FormGet Contact Form is an eassy and effective form builder tool which enable you to bulid and embed form on your website in few steps. With FormGet Contact Form manage all your contact forms and your entire client communication at one single place.
6
- Version: 5.3.9
7
  Author: FormGet
8
  Author URI: http://www.formget.com
9
  */
10
  require 'mailget.php';
11
 
12
- function cf_mg_ajax() {
 
 
 
13
  $mg_obj = new mailget();
14
- add_action('wp_ajax_mg_display_contact_list', array($mg_obj, 'mg_display_contact_lists'));
15
- add_action('wp_ajax_mg_save_contact_list_id', array($mg_obj, 'mg_save_contact_list_id'));
16
- add_action('wp_ajax_mg_save_options', array($mg_obj, 'mg_save_options'));
17
 
18
  /**
19
  * Form ajax
20
  */
21
- add_action('wp_ajax_mg_form_action', array($mg_obj, 'mg_form_action'));
22
- add_action('wp_ajax_nopriv_mg_form_action', array($mg_obj, 'mg_form_action'));
23
  }
24
 
25
- add_action('init', 'cf_mg_ajax');
26
 
27
- function my_admin_notice() {
 
 
 
 
28
  $fg_iframe_form = get_option('fg_embed_code');
29
  $string = "sideBar";
30
  $para = "?admin_nag_ignore=0&page=".$_GET['page'];
@@ -33,7 +40,7 @@ function my_admin_notice() {
33
  global $current_user;
34
  $user_id = $current_user->ID;
35
  /* Check that the user hasn't already clicked to ignore the message */
36
- if (!get_user_meta($user_id, 'admin_ignore_notice')) {
37
  ?>
38
  <div class="fg_trial-notify updated below-h2">
39
  <p class="fg_division_note">
@@ -46,66 +53,88 @@ function my_admin_notice() {
46
  }
47
 
48
  if (isset($_GET['page']) && $_GET['page'] != 'cf_page') {
49
- add_action('admin_notices', 'my_admin_notice');
50
  }
51
- function admin_nag_ignore() {
 
 
52
  global $current_user;
53
  $user_id = $current_user->ID;
54
  /* If user clicks to ignore the notice, add that to their user meta */
55
  if (isset($_GET['admin_nag_ignore']) && '0' == $_GET['admin_nag_ignore']) {
56
- add_user_meta($user_id, 'admin_ignore_notice', 'true', true);
57
  }
58
  }
59
 
60
- add_action('admin_init', 'admin_nag_ignore');
61
 
62
- function delete_user_entry() {
 
 
 
 
63
  global $current_user;
64
  $user_id = $current_user->ID;
65
- delete_user_meta($user_id, 'admin_ignore_notice', 'true', true);
66
  }
67
 
68
- register_deactivation_hook(__FILE__, 'delete_user_entry');
 
69
 
 
 
 
70
 
71
  if (is_admin() && isset($_GET['page']) && ($_GET['page'] == 'cf_page' || $_GET['page'] == 'cf_mg_page' || $_GET['page'] == 'cf_submenu_page')) {
72
 
73
- function cf_add_style() {
74
- wp_enqueue_style('form1_style1_sheet1', plugins_url('css/fgstyle.css', __FILE__));
75
  wp_enqueue_style('mg_admin_stylesheet', plugins_url('css/mgstyle.css', __FILE__));
76
  }
77
 
78
- add_action("admin_head", "cf_add_style");
79
 
80
- function wordpress_style() {
81
  wp_enqueue_style('stylesheet_menu', admin_url('load-styles.php?c=1&amp;dir=ltr&amp;load=admin-bar,wp-admin,buttons,wp-auth-check&amp'));
82
  wp_enqueue_style('style_menu', admin_url('css/colors-fresh.min.css'));
83
  }
84
 
85
- add_action('admin_head', 'wordpress_style');
86
  }
87
 
88
 
89
- //setting page
90
- add_action('admin_menu', 'cf_menu_page');
 
91
 
92
- function cf_menu_page() {
93
- add_menu_page('cf', 'Contact Form', 'manage_options', 'cf_page', 'cf_setting_page', plugins_url('image/favicon.ico', __FILE__), 109);
94
- add_submenu_page('cf_page', 'Extension', 'Extension', 'manage_options', 'cf_submenu_page', 'cf_submenu_dashboard');
95
- add_menu_page('Email Marketing', 'Email Marketing', 'manage_options', 'cf_mg_page', 'cf_mg_setting_page', plugins_url('image/mailgeticon.png', __FILE__), 110);
 
 
96
  }
97
 
98
- function cf_submenu_dashboard() {
99
  echo "<h2 class='heading'>FormGet Powerful Extension</h2><h4 class='heading'>These extensions will enhance the functionality of your form. Select the Extension that best fits your needs.</h4><hr/>";
100
- echo extension_list();
101
  }
102
 
103
- function cf_mg_setting_page() {
 
 
 
 
104
  $mg_obj = new mailget();
105
- $mg_obj->mg_interface();
106
  }
107
 
108
- function extension_list() {
 
 
 
 
 
109
  $extensions = array(
110
  array('img_path' => plugins_url("image/bundle.png", __FILE__),
111
  'ext_title' => 'FormGet Extensions Bundle',
@@ -155,7 +184,11 @@ function extension_list() {
155
  return $list;
156
  }
157
 
158
- function cf_setting_page() {
 
 
 
 
159
  $url = plugins_url();
160
  ?>
161
 
@@ -231,7 +264,7 @@ function cf_setting_page() {
231
  <h3 class="fg_heading">Embed code field will only accept code for Sliding Form. Please do not place shortcode here. <font color="blue"> <a href="http://www.formget.com/sidebar-contact-form-wordpress-website/" target = "_blank">[Refer this blog for getting the sliding form code.]</a></font> </h3>
232
  <div class="option">
233
  <div class="fg_controls" style="height:auto; padding-bottom: 10px;">
234
- <textarea name="content[html]" cols="60" rows="10" class="regular-text" id="fg_content_html" style="width:900px"><?php echo show_embed_code(); ?></textarea>
235
  <p class="fg_info"><b>Select the page in which you want to show "Contact Us" tab. By default it is visible on every page.</b><p>
236
  <?php
237
  $page_title = $wpdb->get_results("SELECT post_title, id FROM $wpdb->posts WHERE (post_type = 'page' AND post_status = 'publish')");
@@ -263,13 +296,13 @@ function cf_setting_page() {
263
  ?> >
264
 
265
  <?php
266
- echo $title->post_title;
267
  echo "<br>";
268
  }
269
  ?>
270
  <div id="submit-form" class="fg_embed_code_save " > Save </div>
271
  <div id="loader_img" align="center" style="margin-left:110px; display:none;">
272
- <img src="<?php echo plugins_url('image/ajax-loader.gif', __FILE__); ?>">
273
  </div>
274
 
275
  </div>
@@ -327,7 +360,11 @@ function cf_setting_page() {
327
  <?php
328
  }
329
 
330
- function cf_embeded_script() {
 
 
 
 
331
  wp_enqueue_script('embeded_script', plugins_url('js/fg_script.js', __FILE__), array('jquery'));
332
  wp_localize_script('embeded_script', 'script_call', array('ajaxurl' => admin_url('admin-ajax.php'), 'aj_nonce' => wp_create_nonce('script-nonce')));
333
  wp_enqueue_script('mg_script', plugins_url('js/mg_script.js', __FILE__), array('jquery'));
@@ -335,24 +372,34 @@ function cf_embeded_script() {
335
  }
336
 
337
  if (isset($_GET['page']) && ($_GET['page'] == 'cf_page' || $_GET['page'] == 'cf_mg_page')) {
338
- add_action('init', 'cf_embeded_script');
339
  }
340
 
341
- function cf_text_ajax_process_request() {
 
 
 
342
  if (!check_ajax_referer('script-nonce', 'aj_nonce') && !is_user_logged_in() && !current_user_can('manage_options')) {
343
  return;
344
  }
345
- $text_value = $_POST['value'];
 
346
  // $val = $_POST['value_hide'];
347
- if(isset($_POST['page_id']))
348
- $page_id = $_POST['page_id'];
349
- else
 
 
 
 
 
350
  $page_id = '';
351
- //echo $val;
 
352
  $pos = strpos($text_value, "sideBar");
353
  if ($pos == true || trim($text_value) == '') {
354
  //update_option('fg_hide_video', $val);
355
- update_option('fg_embed_code', $text_value);
356
  update_option('fg_checked_page_id', $page_id);
357
  //print_r($page_id);
358
  echo 1;
@@ -362,9 +409,14 @@ else
362
  die();
363
  }
364
 
365
- add_action('wp_ajax_request_response', 'cf_text_ajax_process_request');
 
 
 
 
 
366
 
367
- function show_embed_code() {
368
  global $wpdb;
369
  $fg_iframe_form = get_option('fg_embed_code');
370
  $string = "sideBar";
@@ -380,10 +432,13 @@ function show_embed_code() {
380
  }
381
  */
382
 
 
 
 
383
 
384
- if (!function_exists('embeded_code')) {
385
 
386
- function embeded_code() {
387
  //$title = get_the_title();
388
  $postid = get_the_ID();
389
  $fg_list_page_id = get_option('fg_checked_page_id');
@@ -414,44 +469,56 @@ if (!function_exists('embeded_code')) {
414
 
415
  }
416
 
417
- function cf_mg_subscribe_form() {
 
 
 
 
418
  $mg_obj = new mailget();
419
  $page_id = get_the_ID();
420
- $mg_form_description_text = $mg_obj->mg_get_option('mg_selected_page_id');
421
- $mg_enable_switch = $mg_obj->mg_get_option('mg_switch');
422
  if ($mg_enable_switch == 'on') {
423
  if (!empty($mg_form_description_text)) {
424
  foreach ($mg_form_description_text as $key) {
425
  if ($page_id == $key) {
426
- $mg_obj->mg_subscribe_form();
427
  } elseif (is_front_page() && $key == "home1") {
428
- $mg_obj->mg_subscribe_form();
429
  }
430
  }
431
  } else {
432
- $mg_obj->mg_subscribe_form();
433
  }
434
  }
435
  }
436
 
437
  if (!is_admin()) {
438
- add_action('wp_footer', 'cf_mg_subscribe_form');
439
  }
440
  if (!is_admin()) {
441
- add_action('wp_head', 'embeded_code');
442
  }
443
 
444
- function mg_style() {
 
 
 
 
445
  wp_enqueue_style('mg-style', plugins_url('css/mg_popup.css', __FILE__));
446
  wp_enqueue_script("mg-front", plugins_url('js/mg_front.js', __FILE__), array('jquery'));
447
  wp_localize_script('mg-front', 'mg', array('ajaxurl' => admin_url('admin-ajax.php'), 'imgurl' => plugins_url('image/mailget.png', __FILE__), 'mg_nonce' => wp_create_nonce('mg_nonce')));
448
  }
449
 
450
- add_action('wp_enqueue_scripts', 'mg_style');
451
- //schort code function
452
- if (!function_exists('formget_shortcode')) {
453
 
454
- function formget_shortcode($atts, $content = null) {
 
 
 
 
 
455
  extract(shortcode_atts(array(
456
  'user' => '',
457
  'formcode' => '',
@@ -516,10 +583,11 @@ EOD;
516
  }
517
 
518
  }
519
- add_shortcode('formget', 'formget_shortcode');
520
-
521
 
522
- // FormGet Widget
 
 
523
  if (!class_exists('Formget_Widget')) {
524
 
525
  class Formget_Widget extends WP_Widget {
@@ -552,7 +620,7 @@ if (!class_exists('Formget_Widget')) {
552
  $text = format_to_edit($instance['textarea']);
553
  ?>
554
  <p>
555
- <label for="<?php echo $this->get_field_id('textarea'); ?>"><?php _e('Textarea:', 'wp_widget_plugin'); ?></label>
556
  <textarea class="widefat" id="<?php echo $this->get_field_id('textarea'); ?>" name="<?php echo $this->get_field_name('textarea'); ?>" rows="7" cols="20" placeholder="Enter here your Iframe Code
557
  "><?php echo $text ?></textarea>
558
  </p>
@@ -567,11 +635,11 @@ if (!class_exists('Formget_Widget')) {
567
  }
568
 
569
  }
570
- add_action('widgets_init', 'register_formget_widget', 20);
571
 
572
- if (!function_exists('register_formget_widget')) {
573
 
574
- function register_formget_widget() {
575
  register_widget('Formget_Widget');
576
  }
577
 
3
  Plugin Name: FormGet Contact Form
4
  Plugin URI: http://www.formget.com
5
  Description: FormGet Contact Form is an eassy and effective form builder tool which enable you to bulid and embed form on your website in few steps. With FormGet Contact Form manage all your contact forms and your entire client communication at one single place.
6
+ Version: 5.4.0
7
  Author: FormGet
8
  Author URI: http://www.formget.com
9
  */
10
  require 'mailget.php';
11
 
12
+ /**
13
+ * MailGet Panel Ajax calling
14
+ */
15
+ function formget_mailget_ajax() {
16
  $mg_obj = new mailget();
17
+ add_action('wp_ajax_formget_mailget_display_contact_lists', array($mg_obj, 'formget_mailget_display_contact_lists'));
18
+ add_action('wp_ajax_formget_mailget_save_contact_list_id', array($mg_obj, 'formget_mailget_save_contact_list_id'));
19
+ add_action('wp_ajax_formget_mailget_save_options', array($mg_obj, 'formget_mailget_save_options'));
20
 
21
  /**
22
  * Form ajax
23
  */
24
+ add_action('wp_ajax_formget_mailget_form_action', array($mg_obj, 'formget_mailget_form_action'));
25
+ add_action('wp_ajax_nopriv_formget_mailget_form_action', array($mg_obj, 'formget_mailget_form_action'));
26
  }
27
 
28
+ add_action('init', 'formget_mailget_ajax');
29
 
30
+
31
+ /**
32
+ * Notice to show "Create form" on page other than formget setting
33
+ */
34
+ function formget_mailget_admin_notice() {
35
  $fg_iframe_form = get_option('fg_embed_code');
36
  $string = "sideBar";
37
  $para = "?admin_nag_ignore=0&page=".$_GET['page'];
40
  global $current_user;
41
  $user_id = $current_user->ID;
42
  /* Check that the user hasn't already clicked to ignore the message */
43
+ if (!get_user_meta($user_id, 'formget_mailget_admin_ignore_notice')) {
44
  ?>
45
  <div class="fg_trial-notify updated below-h2">
46
  <p class="fg_division_note">
53
  }
54
 
55
  if (isset($_GET['page']) && $_GET['page'] != 'cf_page') {
56
+ add_action('admin_notices', 'formget_mailget_admin_notice');
57
  }
58
+
59
+
60
+ function formget_mailget_admin_nag_ignore() {
61
  global $current_user;
62
  $user_id = $current_user->ID;
63
  /* If user clicks to ignore the notice, add that to their user meta */
64
  if (isset($_GET['admin_nag_ignore']) && '0' == $_GET['admin_nag_ignore']) {
65
+ add_user_meta($user_id, 'formget_mailget_admin_ignore_notice', 'true', true);
66
  }
67
  }
68
 
69
+ add_action('admin_init', 'formget_mailget_admin_nag_ignore');
70
 
71
+
72
+ /**
73
+ * To delete data from table on deactivation of plugin
74
+ */
75
+ function formget_mailget_delete_user_entry() {
76
  global $current_user;
77
  $user_id = $current_user->ID;
78
+ delete_user_meta($user_id, 'formget_mailget_admin_ignore_notice', 'true', true);
79
  }
80
 
81
+ register_deactivation_hook(__FILE__, 'formget_mailget_delete_user_entry');
82
+
83
 
84
+ /**
85
+ * css loaded for dashboard page
86
+ */
87
 
88
  if (is_admin() && isset($_GET['page']) && ($_GET['page'] == 'cf_page' || $_GET['page'] == 'cf_mg_page' || $_GET['page'] == 'cf_submenu_page')) {
89
 
90
+ function formget_mailget_add_style() {
91
+ wp_enqueue_style('form1_style1_sheet', plugins_url('css/fgstyle.css', __FILE__));
92
  wp_enqueue_style('mg_admin_stylesheet', plugins_url('css/mgstyle.css', __FILE__));
93
  }
94
 
95
+ add_action("admin_head", "formget_mailget_add_style");
96
 
97
+ function formget_mailget_wordpress_style() {
98
  wp_enqueue_style('stylesheet_menu', admin_url('load-styles.php?c=1&amp;dir=ltr&amp;load=admin-bar,wp-admin,buttons,wp-auth-check&amp'));
99
  wp_enqueue_style('style_menu', admin_url('css/colors-fresh.min.css'));
100
  }
101
 
102
+ add_action('admin_head', 'formget_mailget_wordpress_style');
103
  }
104
 
105
 
106
+ /**
107
+ * menu & submenu function called
108
+ */
109
 
110
+ add_action('admin_menu', 'formget_mailget_menu_page');
111
+
112
+ function formget_mailget_menu_page() {
113
+ add_menu_page('cf', 'Contact Form', 'manage_options', 'cf_page', 'formget_mailget_setting_page', plugins_url('image/favicon.ico', __FILE__), 109);
114
+ add_submenu_page('cf_page', 'Extension', 'Extension', 'manage_options', 'cf_submenu_page', 'formget_mailget_submenu_dashboard');
115
+ add_menu_page('Email Marketing', 'Email Marketing', 'manage_options', 'cf_mg_page', 'formget_mailget_mg_setting_page', plugins_url('image/mailgeticon.png', __FILE__), 110);
116
  }
117
 
118
+ function formget_mailget_submenu_dashboard() {
119
  echo "<h2 class='heading'>FormGet Powerful Extension</h2><h4 class='heading'>These extensions will enhance the functionality of your form. Select the Extension that best fits your needs.</h4><hr/>";
120
+ echo formget_mailget_extension_list();
121
  }
122
 
123
+
124
+ /**
125
+ * mailget menu function call for setting page
126
+ */
127
+ function formget_mailget_mg_setting_page() {
128
  $mg_obj = new mailget();
129
+ $mg_obj->formget_mailget_interface();
130
  }
131
 
132
+
133
+ /**
134
+ * Extension menu function call for setting page
135
+ */
136
+
137
+ function formget_mailget_extension_list() {
138
  $extensions = array(
139
  array('img_path' => plugins_url("image/bundle.png", __FILE__),
140
  'ext_title' => 'FormGet Extensions Bundle',
184
  return $list;
185
  }
186
 
187
+
188
+ /**
189
+ * FormGet setting page called from menu "CONTACT"
190
+ */
191
+ function formget_mailget_setting_page() {
192
  $url = plugins_url();
193
  ?>
194
 
264
  <h3 class="fg_heading">Embed code field will only accept code for Sliding Form. Please do not place shortcode here. <font color="blue"> <a href="http://www.formget.com/sidebar-contact-form-wordpress-website/" target = "_blank">[Refer this blog for getting the sliding form code.]</a></font> </h3>
265
  <div class="option">
266
  <div class="fg_controls" style="height:auto; padding-bottom: 10px;">
267
+ <textarea name="content[html]" cols="60" rows="10" class="regular-text" id="fg_content_html" style="width:900px"><?php echo esc_html(formget_mailget_show_embed_code()); ?></textarea>
268
  <p class="fg_info"><b>Select the page in which you want to show "Contact Us" tab. By default it is visible on every page.</b><p>
269
  <?php
270
  $page_title = $wpdb->get_results("SELECT post_title, id FROM $wpdb->posts WHERE (post_type = 'page' AND post_status = 'publish')");
296
  ?> >
297
 
298
  <?php
299
+ echo esc_html($title->post_title);
300
  echo "<br>";
301
  }
302
  ?>
303
  <div id="submit-form" class="fg_embed_code_save " > Save </div>
304
  <div id="loader_img" align="center" style="margin-left:110px; display:none;">
305
+ <img src="<?php echo esc_url(plugins_url('image/ajax-loader.gif', __FILE__)); ?>">
306
  </div>
307
 
308
  </div>
360
  <?php
361
  }
362
 
363
+ /**
364
+ * script included for both formget & mailget
365
+ */
366
+
367
+ function formget_mailget_embeded_script() {
368
  wp_enqueue_script('embeded_script', plugins_url('js/fg_script.js', __FILE__), array('jquery'));
369
  wp_localize_script('embeded_script', 'script_call', array('ajaxurl' => admin_url('admin-ajax.php'), 'aj_nonce' => wp_create_nonce('script-nonce')));
370
  wp_enqueue_script('mg_script', plugins_url('js/mg_script.js', __FILE__), array('jquery'));
372
  }
373
 
374
  if (isset($_GET['page']) && ($_GET['page'] == 'cf_page' || $_GET['page'] == 'cf_mg_page')) {
375
+ add_action('init', 'formget_mailget_embeded_script');
376
  }
377
 
378
+ /**
379
+ * Ajax called at time of saving embed code
380
+ */
381
+ function formget_mailget_text_ajax_process_request() {
382
  if (!check_ajax_referer('script-nonce', 'aj_nonce') && !is_user_logged_in() && !current_user_can('manage_options')) {
383
  return;
384
  }
385
+ $new_input = array();
386
+ $text_value = $_POST['value'];
387
  // $val = $_POST['value_hide'];
388
+ if(isset($_POST['page_id']) && !empty($_POST['page_id'])){
389
+ foreach ($_POST['page_id'] as $key => $val ) {
390
+ $new_input[ $key ] = ( isset( $_POST['page_id'][ $key ] ) ) ?
391
+ sanitize_text_field( $val ) :
392
+ '';
393
+ }
394
+ $page_id = $new_input;
395
+ }else{
396
  $page_id = '';
397
+ }
398
+ //echo $val;
399
  $pos = strpos($text_value, "sideBar");
400
  if ($pos == true || trim($text_value) == '') {
401
  //update_option('fg_hide_video', $val);
402
+ update_option('fg_embed_code', $text_value);
403
  update_option('fg_checked_page_id', $page_id);
404
  //print_r($page_id);
405
  echo 1;
409
  die();
410
  }
411
 
412
+ add_action('wp_ajax_request_response', 'formget_mailget_text_ajax_process_request');
413
+
414
+
415
+ /**
416
+ * to show saved embed code in dashboard
417
+ */
418
 
419
+ function formget_mailget_show_embed_code() {
420
  global $wpdb;
421
  $fg_iframe_form = get_option('fg_embed_code');
422
  $string = "sideBar";
432
  }
433
  */
434
 
435
+ /**
436
+ * To dispaly sliding form at front-end
437
+ */
438
 
439
+ if (!function_exists('formget_mailget_embeded_code')) {
440
 
441
+ function formget_mailget_embeded_code() {
442
  //$title = get_the_title();
443
  $postid = get_the_ID();
444
  $fg_list_page_id = get_option('fg_checked_page_id');
469
 
470
  }
471
 
472
+ /**
473
+ * To display mailget subscriber form at front-end
474
+ */
475
+
476
+ function formget_mailget_subscribe_form() {
477
  $mg_obj = new mailget();
478
  $page_id = get_the_ID();
479
+ $mg_form_description_text = $mg_obj->formget_mailget_get_option('mg_selected_page_id');
480
+ $mg_enable_switch = $mg_obj->formget_mailget_get_option('mg_switch');
481
  if ($mg_enable_switch == 'on') {
482
  if (!empty($mg_form_description_text)) {
483
  foreach ($mg_form_description_text as $key) {
484
  if ($page_id == $key) {
485
+ $mg_obj->formget_mailget_subscribe_form();
486
  } elseif (is_front_page() && $key == "home1") {
487
+ $mg_obj->formget_mailget_subscribe_form();
488
  }
489
  }
490
  } else {
491
+ $mg_obj->formget_mailget_subscribe_form();
492
  }
493
  }
494
  }
495
 
496
  if (!is_admin()) {
497
+ add_action('wp_footer', 'formget_mailget_subscribe_form');
498
  }
499
  if (!is_admin()) {
500
+ add_action('wp_head', 'formget_mailget_embeded_code');
501
  }
502
 
503
+ /**
504
+ * To include style-sheet (css) at dashboard area
505
+ */
506
+
507
+ function formget_mailget_style() {
508
  wp_enqueue_style('mg-style', plugins_url('css/mg_popup.css', __FILE__));
509
  wp_enqueue_script("mg-front", plugins_url('js/mg_front.js', __FILE__), array('jquery'));
510
  wp_localize_script('mg-front', 'mg', array('ajaxurl' => admin_url('admin-ajax.php'), 'imgurl' => plugins_url('image/mailget.png', __FILE__), 'mg_nonce' => wp_create_nonce('mg_nonce')));
511
  }
512
 
513
+ add_action('wp_enqueue_scripts', 'formget_mailget_style');
514
+
 
515
 
516
+ /**
517
+ * To display formget form using shortcode
518
+ */
519
+ if (!function_exists('formget_mailget_shortcode')) {
520
+
521
+ function formget_mailget_shortcode($atts, $content = null) {
522
  extract(shortcode_atts(array(
523
  'user' => '',
524
  'formcode' => '',
583
  }
584
 
585
  }
586
+ add_shortcode('formget', 'formget_mailget_shortcode');
 
587
 
588
+ /**
589
+ * To display form using Widget
590
+ */
591
  if (!class_exists('Formget_Widget')) {
592
 
593
  class Formget_Widget extends WP_Widget {
620
  $text = format_to_edit($instance['textarea']);
621
  ?>
622
  <p>
623
+ <label for="<?php echo esc_html($this->get_field_id('textarea')); ?>"><?php _e('Textarea:', 'wp_widget_plugin'); ?></label>
624
  <textarea class="widefat" id="<?php echo $this->get_field_id('textarea'); ?>" name="<?php echo $this->get_field_name('textarea'); ?>" rows="7" cols="20" placeholder="Enter here your Iframe Code
625
  "><?php echo $text ?></textarea>
626
  </p>
635
  }
636
 
637
  }
638
+ add_action('widgets_init', 'formget_mailget_register_widget', 20);
639
 
640
+ if (!function_exists('formget_mailget_register_widget')) {
641
 
642
+ function formget_mailget_register_widget() {
643
  register_widget('Formget_Widget');
644
  }
645
 
js/fg_script.js CHANGED
@@ -3,7 +3,7 @@ jQuery(document).ready(function () {
3
  jQuery('#pn_content').css("display", "block");
4
 
5
  jQuery('#embed_tab').click(function () {
6
- // alert("hello");
7
  jQuery('.fg_group').hide();
8
  jQuery('.nav-tab').removeClass('nav-tab-active');
9
  jQuery(this).addClass('nav-tab-active');
@@ -23,7 +23,6 @@ jQuery(document).ready(function () {
23
  */
24
 
25
  jQuery('#help_tab').click(function () {
26
- // alert("hello");
27
  jQuery('.fg_group').hide();
28
  jQuery('.nav-tab').removeClass('nav-tab-active');
29
  jQuery(this).addClass('nav-tab-active');
@@ -83,9 +82,9 @@ jQuery(document).ready(function () {
83
  aj_nonce: script_call.aj_nonce
84
  };
85
  jQuery.post(script_call.ajaxurl, data, function (response) {
86
- if (response == 1) {
87
- if (jQuery("#error").length)
88
- jQuery("#error").remove();
89
  jQuery('div#loader_img').css("display", "none");
90
 
91
  }
3
  jQuery('#pn_content').css("display", "block");
4
 
5
  jQuery('#embed_tab').click(function () {
6
+
7
  jQuery('.fg_group').hide();
8
  jQuery('.nav-tab').removeClass('nav-tab-active');
9
  jQuery(this).addClass('nav-tab-active');
23
  */
24
 
25
  jQuery('#help_tab').click(function () {
 
26
  jQuery('.fg_group').hide();
27
  jQuery('.nav-tab').removeClass('nav-tab-active');
28
  jQuery(this).addClass('nav-tab-active');
82
  aj_nonce: script_call.aj_nonce
83
  };
84
  jQuery.post(script_call.ajaxurl, data, function (response) {
85
+ if (response == 1) {
86
+ if (jQuery("#error").length)
87
+ jQuery("#error").remove();
88
  jQuery('div#loader_img').css("display", "none");
89
 
90
  }
js/mg_front.js CHANGED
@@ -18,17 +18,17 @@ jQuery(document).ready(function () {
18
  } else {
19
  jQuery('#mg_form_loading_img').show();
20
  var data = {
21
- 'action': 'mg_form_action',
22
  'mg_email': x,
23
  'mg_name': y,
24
  'mg_nonce': mg.mg_nonce
25
  };
26
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
27
  jQuery.post(mg.ajaxurl, data, function (response) {
28
- var success = jQuery('#mg_form_wraper_div');
29
  var form_height = jQuery('#mg_wrapper_right').height() - 70;
30
  success.empty().fadeIn();
31
- success.html('<div style="height:' + form_height + 'px;margin-top:60px;"><center><p><strong>Your Message Submitted Successfully.</strong></p><br><a href="http://www.formget.com/mailget/?utm_source=MGPluginFooter&utm_medium=MGPluginFooter&utm_campaign=MailGet" target="_blank"><img src="'+mg.imgurl+'" width=""></a></center></div>');
32
  success.fadeIn();
33
  });
34
  }
18
  } else {
19
  jQuery('#mg_form_loading_img').show();
20
  var data = {
21
+ 'action': 'formget_mailget_form_action',
22
  'mg_email': x,
23
  'mg_name': y,
24
  'mg_nonce': mg.mg_nonce
25
  };
26
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
27
  jQuery.post(mg.ajaxurl, data, function (response) {
28
+ var success = jQuery('#mg_form_wraper_div');
29
  var form_height = jQuery('#mg_wrapper_right').height() - 70;
30
  success.empty().fadeIn();
31
+ success.html('<div style="height:' + form_height + 'px;margin-top:120px;"><center><p><strong>Your Message Submitted Successfully.</strong></p><br></center></div>');
32
  success.fadeIn();
33
  });
34
  }
js/mg_script.js CHANGED
@@ -31,18 +31,18 @@ jQuery(document).ready(function () {
31
 
32
  });
33
  jQuery('#submit_mg_api_key').click(function () {
34
- jQuery("#mg_loading_img").show();
35
  jQuery("#mg_error_box").hide();
36
  var data = {
37
- 'action': 'mg_display_contact_list',
38
  'mg_api_key': jQuery('#mg_api_key').val(),
39
  'mg_option_nonce': mg_option.mg_option_nonce
40
  };
41
 
42
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
43
  jQuery.post(ajaxurl, data, function (response) {
44
- var data = JSON.parse(response);
45
- if (data.error) {
46
  jQuery("#mg_error_box").show();
47
  jQuery("#mg_loading_img").hide();
48
  jQuery("#mg_contact_list_id option").remove();
@@ -56,13 +56,13 @@ jQuery(document).ready(function () {
56
 
57
  jQuery('#submit_mg_contact_list_id').click(function () {
58
  var data = {
59
- 'action': 'mg_save_contact_list_id',
60
  'mg_contact_list_id': jQuery('#mg_contact_list_id').val(),
61
  'mg_option_nonce': mg_option.mg_option_nonce
62
  };
63
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
64
  jQuery.post(ajaxurl, data, function (response) {
65
- var success = jQuery('#mg_msg_popup_list_option');
66
  var maskWidth = jQuery(window).width();
67
  var maskHeight = jQuery(window).height();
68
  var dialogLeft = (maskWidth / 2) - (success.width()) / 2;
@@ -80,8 +80,8 @@ jQuery(document).ready(function () {
80
  var mgswitch = jQuery('input[name=mg_switch]:checkbox:checked').map(function () {
81
  return this.value;
82
  }).get();
83
- var data = {
84
- 'action': 'mg_save_options',
85
  'mg_switch': mgswitch,
86
  'mg_form_slide_text': jQuery('#mg_form_slide_text').val(),
87
  'mg_form_heading_text': jQuery('#mg_form_heading_text').val(),
@@ -90,9 +90,9 @@ jQuery(document).ready(function () {
90
  'mg_selected_page_id': checkedValues,
91
  'mg_option_nonce': mg_option.mg_option_nonce
92
  };
93
- // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
94
  jQuery.post(ajaxurl, data, function (response) {
95
- var success = jQuery('#mg_msg_popup_option');
96
  var maskWidth = jQuery(window).width();
97
  var maskHeight = jQuery(window).height();
98
  var dialogLeft = (maskWidth / 2) - (success.width()) / 2;
@@ -120,17 +120,16 @@ jQuery(document).ready(function () {
120
  success.fadeOut();
121
  }, mg_time);
122
  }
123
- jQuery(".list-img").show();
124
- jQuery("#submit_mg_contact_list_id").hide();
125
  var list_data = {
126
- 'action': 'mg_display_contact_list',
127
  'mg_api_key': jQuery('#mg_api_key').val(),
128
  'mg_option_nonce': mg_option.mg_option_nonce
129
  };
130
  jQuery.post(ajaxurl, list_data, function (response) {
131
- //alert(response);
132
  var list_data = JSON.parse(response);
133
- if (list_data.error) {
134
  jQuery(".list-img").hide();
135
  jQuery("#mg-error-box").show();
136
  jQuery("#submit_mg_contact_list_id").show();
31
 
32
  });
33
  jQuery('#submit_mg_api_key').click(function () {
34
+ jQuery("#mg_loading_img").show();
35
  jQuery("#mg_error_box").hide();
36
  var data = {
37
+ 'action': 'formget_mailget_display_contact_lists',
38
  'mg_api_key': jQuery('#mg_api_key').val(),
39
  'mg_option_nonce': mg_option.mg_option_nonce
40
  };
41
 
42
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
43
  jQuery.post(ajaxurl, data, function (response) {
44
+ var data = JSON.parse(response);
45
+ if (data.error) {
46
  jQuery("#mg_error_box").show();
47
  jQuery("#mg_loading_img").hide();
48
  jQuery("#mg_contact_list_id option").remove();
56
 
57
  jQuery('#submit_mg_contact_list_id').click(function () {
58
  var data = {
59
+ 'action': 'formget_mailget_save_contact_list_id',
60
  'mg_contact_list_id': jQuery('#mg_contact_list_id').val(),
61
  'mg_option_nonce': mg_option.mg_option_nonce
62
  };
63
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
64
  jQuery.post(ajaxurl, data, function (response) {
65
+ var success = jQuery('#mg_msg_popup_list_option');
66
  var maskWidth = jQuery(window).width();
67
  var maskHeight = jQuery(window).height();
68
  var dialogLeft = (maskWidth / 2) - (success.width()) / 2;
80
  var mgswitch = jQuery('input[name=mg_switch]:checkbox:checked').map(function () {
81
  return this.value;
82
  }).get();
83
+ var data = {
84
+ 'action': 'formget_mailget_save_options',
85
  'mg_switch': mgswitch,
86
  'mg_form_slide_text': jQuery('#mg_form_slide_text').val(),
87
  'mg_form_heading_text': jQuery('#mg_form_heading_text').val(),
90
  'mg_selected_page_id': checkedValues,
91
  'mg_option_nonce': mg_option.mg_option_nonce
92
  };
93
+ // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
94
  jQuery.post(ajaxurl, data, function (response) {
95
+ var success = jQuery('#mg_msg_popup_option');
96
  var maskWidth = jQuery(window).width();
97
  var maskHeight = jQuery(window).height();
98
  var dialogLeft = (maskWidth / 2) - (success.width()) / 2;
120
  success.fadeOut();
121
  }, mg_time);
122
  }
123
+ jQuery(".list-img").show();
124
+ jQuery("#submit_mg_contact_list_id").hide();
125
  var list_data = {
126
+ 'action': 'formget_mailget_display_contact_lists',
127
  'mg_api_key': jQuery('#mg_api_key').val(),
128
  'mg_option_nonce': mg_option.mg_option_nonce
129
  };
130
  jQuery.post(ajaxurl, list_data, function (response) {
 
131
  var list_data = JSON.parse(response);
132
+ if (list_data.error) {
133
  jQuery(".list-img").hide();
134
  jQuery("#mg-error-box").show();
135
  jQuery("#submit_mg_contact_list_id").show();
mailget.php CHANGED
@@ -3,17 +3,13 @@
3
  * Class to add MailGet Functionality
4
  */
5
 
6
- class mailget {
7
-
8
- public function __construct() {
9
-
10
- }
11
 
12
  /*
13
  * Generate MailGet Dashboard in admin panel
14
  */
15
 
16
- public function mg_interface() {
17
  ?>
18
  <div class="mg-main-container">
19
  <div id="mg_header">
@@ -39,7 +35,7 @@ class mailget {
39
  <div id = "mg_content_box">
40
  <p class = "mg-box-text">Enable/Disable subscribe form</p>
41
  <div class="mg-onoffswitch">
42
- <input type="checkbox" name="mg_switch" class="mg-onoffswitch-checkbox" id="mg_switch" <?php echo ($this->mg_get_option('mg_switch') == 'off') ? '' : 'checked'; ?>>
43
  <label class="mg-onoffswitch-label" for="mg_switch">
44
  <span class="mg-onoffswitch-inner"></span>
45
  <span class="mg-onoffswitch-switch"></span>
@@ -47,21 +43,21 @@ class mailget {
47
  </div>
48
  <p class = "mg-box-text">Sliding Form Heading</p>
49
  <div class="mg-form-text">
50
- <input class = "mg-box-input" type = "text" name = "mg_form_slide_text" id = "mg_form_slide_text" value = "<?php echo $this->mg_get_option('mg_form_slide_text'); ?>" placeholder = "Subscribe Now!" />
51
  <div id="mg_form_slide_help" class="mg-form-help-box" style="display: none;">Enter the Sliding Tab text</div>
52
  </div>
53
  <p class="mg-box-text"><b>Heading and Description for subscription form</b></p>
54
  <div class="mg-form-text">
55
- <input class = "mg-box-input" type = "text" name = "mg_form_heading_text" id = "mg_form_heading_text" value = "<?php echo $this->mg_get_option('mg_form_heading_text'); ?>" placeholder = "Form Heading" />
56
  <div id="mg_form_heading_help" class="mg-form-help-box" style="display: none;">Enter your Form Heading</div>
57
  </div>
58
  <div class="mg-form-text">
59
- <textarea id="mg_form_description_text" name="mg_form_description_text" rows="4" placeholder="Form Description"><?php echo $this->mg_get_option('mg_form_description_text'); ?></textarea>
60
  <div id="mg_form_description_help" class="mg-form-help-box" style="display: none;">Enter your Form Description</div>
61
  </div>
62
  <p class="mg-box-text"><b>Subscription Form Button Text</b></p>
63
  <div class="mg-form-text">
64
- <input class = "mg-box-input" type = "text" name = "mg_form_sbmt_text" id = "mg_form_sbmt_text" value = "<?php echo $this->mg_get_option('mg_form_sbmt_text'); ?>" placeholder = "Get It Now" />
65
  <div id="mg_form_sbmt_help" class="mg-form-help-box" style="display: none;">Enter Submit button text</div>
66
  </div>
67
  <p class="mg-box-text"><b>Select the page in which you want to show "Contact Us" tab. By default it is visible on every page.</b></p>
@@ -69,9 +65,10 @@ class mailget {
69
  <?php
70
  global $wpdb;
71
  $page_title = $wpdb->get_results("SELECT post_title, id FROM $wpdb->posts WHERE (post_type = 'page' AND post_status = 'publish')");
72
- $val = $this->mg_get_option('mg_selected_page_id');
73
- if (!empty($val) && in_array("home1", $val)) {
74
- ?>
 
75
  <span id="mg_selected_box"><input id="mg_selected_box" type="checkbox" name="checkbox" value="home1" checked />Home</span>
76
  <?php } else {
77
  ?>
@@ -81,7 +78,7 @@ class mailget {
81
 
82
  foreach ($page_title as $title) {
83
  ?>
84
- <span id="mg_selected_box"><input id="mg_selected_box" type="checkbox" name="checkbox" value="<?php echo $title->id; ?>" <?php echo (!empty($val) && in_array($title->id, $val)) ? 'checked' : ''; ?> /><?php echo $title->post_title; ?> </span>
85
  <?php }
86
  ?>
87
  </div>
@@ -102,15 +99,15 @@ class mailget {
102
  </div>
103
  <div id="mg_content_box">
104
  <p class="mg-box-text">Enter Your MailGet Api Key</p>
105
- <input class="mg-box-input" id="mg_api_key" type="text" name="mg_api_key" value="<?php echo $this->mg_get_option('mg_api_key'); ?>" />
106
- <input type="button" id="submit_mg_api_key" class="button-primary mg-submit-btn" name="submit_mg_api_key" value="Get List" /><span id="mg_loading_img_span"><img id="mg_loading_img" src="<?php echo plugins_url('image/mg-ajax-loader.gif', __FILE__); ?>" style="display: none"></span>
107
  </div>
108
  <span id='mg_error_box' style="display: none;">Invalid API Key</span>
109
  <div id="mg_content_box">
110
  <p class="mg-box-text">Select Your Contact List</p>
111
  <select id="mg_contact_list_id" class="mg-box-input" name="mg_contact_list_id"></select>
112
  <input type = "button" id="submit_mg_contact_list_id" class = "button-primary mg-submit-btn" name = "submit_mg_contact_list_id" value = "Save List" style="display: none;">
113
- <span id="mg_loading_img_span"><img id="mg_loading_img" class = 'list-img' src="<?php echo plugins_url('image/mg-ajax-loader.gif', __FILE__); ?>" style="display: none"></span>
114
  </div>
115
  <div id="mg_msg_popup_list_option" class="mg-msg-popup-box" style="display: none;">List Saved</div>
116
  </div>
@@ -142,13 +139,13 @@ class mailget {
142
  * Generate MailGet Popup on front-end
143
  */
144
 
145
- public function mg_subscribe_form() {
146
- $mg_api_key = $this->mg_get_option('mg_api_key');
147
  ?>
148
  <div id="mg_box" data-class="mg_slide_right" class="mg-css-anim-right mg-animated ">
149
  <div id="mg_header_right" class="mg-header-right" style="width: 20px; margin-top: 110px; right:0; background-color: rgb(23, 184, 111);">
150
  <span class="mg-header-title-right">
151
- <img src="//www.formget.com/app/code/contact_tab?c=<?php echo ($this->mg_get_option('mg_form_slide_text') != '') ? $this->mg_get_option('mg_form_slide_text') : 'Subscribe Now!'; ?>&amp;t_color=ffffff&amp;b_color=17B86F&amp;f_size=16&amp;t_pos=right" alt="Subscribe Now!">
152
  </span>
153
  </div>
154
  <div id="mg_wrapper_right" class="mg-wrapper-right" style="width: 291px;">
@@ -159,8 +156,8 @@ class mailget {
159
  <form class="view-mg-form" id="mg_form" method="post">
160
  <ul id="unorder_list_container">
161
  <div class="view-header">
162
- <h2 id="mg_form_setting_para_1"><?php echo $this->mg_get_option('mg_form_heading_text'); ?></h2>
163
- <p id="mg_form_setting_para_2"><?php echo $this->mg_get_option('mg_form_description_text'); ?></p>
164
  </div>
165
  <li style="display:block;" class="inkdesk-mg-form" id="0" data-title="1">
166
  <div class="view-wrapper">
@@ -181,7 +178,7 @@ class mailget {
181
  <li class="mg-form-button" id="" data-title="Button">
182
  <input type="hidden" name="save">
183
  <span class="mg-form-submit">
184
- <input type="button" name="save" id="save" value="<?php echo ($this->mg_get_option('mg_form_sbmt_text') == '') ? 'Get It Now' : $this->mg_get_option('mg_form_sbmt_text'); ?>"/>
185
  </span>
186
  </li>
187
  </ul>
@@ -203,7 +200,7 @@ class mailget {
203
  background-color: rgb(247, 247, 246);
204
  }
205
  </style>
206
- <a href="http://www.formget.com/mailget/builder_login" target="_blank" style="display: inline-block"><img src="<?php echo plugins_url('image/notice.png', __FILE__); ?>" alt="Login into MailGet and get Api key" style=" margin-left: 10px;"/></a>
207
  <?php }
208
  ?>
209
  </div>
@@ -214,20 +211,23 @@ class mailget {
214
  * Function to genarate contact list after MailGet api key saved
215
  */
216
 
217
- public function mg_display_contact_lists() {
218
- ob_clean();
 
 
 
219
  if (isset($_POST['mg_api_key']) && $_POST['mg_api_key'] != '') {
220
- $list = $this->mg_get_contact_lists($_POST['mg_api_key']);
221
  if ($list == 'Invalid API Key') {
222
  $error = array('error' => 'Invalid API Key');
223
  $return_array = json_encode($error);
224
  echo $return_array;
225
  die();
226
  } else {
227
- $this->mg_save_api_key($_POST['mg_api_key']);
228
  }
229
  if (!empty($list)) {
230
- $mg_contact_list_id = $this->mg_get_option('mg_contact_list_id');
231
  $result = "";
232
  foreach ($list as $list_arr_row) {
233
  $selected = $mg_contact_list_id == $list_arr_row->list_id ? 'selected' : '';
@@ -237,7 +237,7 @@ class mailget {
237
  }
238
  } elseif ($_POST['mg_api_key'] == '') {
239
  $error = array('error' => 'Invalid API Key');
240
- $mg_contact_list_id = $this->mg_get_option('mg_contact_list_id');
241
  if ($mg_contact_list_id == '') {
242
  $error = array('new' => 'new');
243
  }
@@ -252,7 +252,7 @@ class mailget {
252
  * Fucntion to get contact list from MailGet Api
253
  */
254
 
255
- public function mg_get_contact_lists($mg_api_key) {
256
  require_once('inc/mailget_curl.php');
257
  $list_arr = array();
258
  $mg_obj = new mailget_curl($mg_api_key);
@@ -269,9 +269,9 @@ class mailget {
269
  * @param : $name
270
  */
271
 
272
- public function mg_get_option($name) {
273
  $options = get_option('mg_options');
274
- if (isset($options[$name])) {
275
  return $options[$name];
276
  }
277
  }
@@ -282,7 +282,7 @@ class mailget {
282
  * @param :$value
283
  */
284
 
285
- public function mg_update_option($name, $value) {
286
  $options = get_option('mg_options');
287
  $options[$name] = $value;
288
  update_option('mg_options', $options);
@@ -293,10 +293,10 @@ class mailget {
293
  * @param : $mg_api_key
294
  */
295
 
296
- public function mg_save_api_key($mg_api_key) {
297
- $mg_old_option = $this->mg_get_option('mg_api_key');
298
  if ($mg_api_key !== '' || $mg_old_option != $mg_api_key) {
299
- $this->mg_update_option('mg_api_key', $mg_api_key);
300
  }
301
  }
302
 
@@ -304,10 +304,14 @@ class mailget {
304
  * Function To save list id to database
305
  */
306
 
307
- public function mg_save_contact_list_id() {
308
- $mg_old_value = $this->mg_get_option('mg_contact_list_id');
309
- if (isset($_POST['mg_contact_list_id']) && $_POST['mg_contact_list_id'] != '' && ($mg_old_value != $_POST['mg_contact_list_id'])) {
310
- $this->mg_update_option('mg_contact_list_id', $_POST['mg_contact_list_id']);
 
 
 
 
311
  die();
312
  }
313
  }
@@ -316,31 +320,40 @@ class mailget {
316
  * Function To save subscribe form options
317
  */
318
 
319
- public function mg_save_options() {
320
  if (!check_ajax_referer('mg_option_nonce', 'mg_option_nonce') && !is_user_logged_in() && !current_user_can('manage_options')) {
321
  return;
322
  }
 
323
  $mg_old_val = get_option('mg_options');
324
- if (!isset($_POST['mg_switch'])) {
325
- $this->mg_update_option('mg_switch', 'off');
326
  } else {
327
- $this->mg_update_option('mg_switch', 'on');
328
  }
329
  if (isset($_POST['mg_selected_page_id'])) {
330
- $page_id = $_POST['mg_selected_page_id'];
331
- $this->mg_update_option('mg_selected_page_id', $page_id);
 
 
 
 
 
 
 
332
  }
 
333
  if (isset($_POST['mg_form_slide_text']) && ($mg_old_val['mg_form_slide_text'] != $_POST['mg_form_slide_text'])) {
334
- $this->mg_update_option('mg_form_slide_text', $_POST['mg_form_slide_text']);
335
  }
336
  if (isset($_POST['mg_form_heading_text']) && ($mg_old_val['mg_form_heading_text'] != $_POST['mg_form_heading_text'])) {
337
- $this->mg_update_option('mg_form_heading_text', $_POST['mg_form_heading_text']);
338
  }
339
  if (isset($_POST['mg_form_description_text']) && ($mg_old_val['mg_form_description_text'] != $_POST['mg_form_description_text'])) {
340
- $this->mg_update_option('mg_form_description_text', $_POST['mg_form_description_text']);
341
  }
342
  if (isset($_POST['mg_form_sbmt_text']) && ($mg_old_val['mg_form_sbmt_text'] != $_POST['mg_form_sbmt_text'])) {
343
- $this->mg_update_option('mg_form_sbmt_text', $_POST['mg_form_sbmt_text']);
344
  }
345
  die();
346
  }
@@ -349,14 +362,14 @@ class mailget {
349
  * Function to save data to MailGet contact list
350
  */
351
 
352
- public function mg_form_action() {
353
  require_once('inc/mailget_curl.php');
354
  if (!check_ajax_referer('mg_nonce', 'mg_nonce')) {
355
  return;
356
  }
357
- $mg_api_key = $this->mg_get_option('mg_api_key');
358
- $mg_contact_list_id = $this->mg_get_option('mg_contact_list_id');
359
- if (isset($_POST)) {
360
  $name = $_POST['mg_name'];
361
  $email = $_POST['mg_email'];
362
  } else {
@@ -366,8 +379,8 @@ class mailget {
366
  if ($mg_api_key != '' && $mg_contact_list_id != '' && $name != '' && $email != '') {
367
  $mg_obj = new mailget_curl($mg_api_key);
368
  $mg_arr = array(array(
369
- 'name' => $name,
370
- 'email' => $email,
371
  'get_date' => date('j-m-y'),
372
  'ip' => ''
373
  )
3
  * Class to add MailGet Functionality
4
  */
5
 
6
+ class mailGet {
 
 
 
 
7
 
8
  /*
9
  * Generate MailGet Dashboard in admin panel
10
  */
11
 
12
+ public function formget_mailget_interface() {
13
  ?>
14
  <div class="mg-main-container">
15
  <div id="mg_header">
35
  <div id = "mg_content_box">
36
  <p class = "mg-box-text">Enable/Disable subscribe form</p>
37
  <div class="mg-onoffswitch">
38
+ <input type="checkbox" name="mg_switch" class="mg-onoffswitch-checkbox" id="mg_switch" <?php echo (esc_html($this->formget_mailget_get_option('mg_switch')) == 'off') ? '' : 'checked'; ?>>
39
  <label class="mg-onoffswitch-label" for="mg_switch">
40
  <span class="mg-onoffswitch-inner"></span>
41
  <span class="mg-onoffswitch-switch"></span>
43
  </div>
44
  <p class = "mg-box-text">Sliding Form Heading</p>
45
  <div class="mg-form-text">
46
+ <input class = "mg-box-input" type = "text" name = "mg_form_slide_text" id = "mg_form_slide_text" value = "<?php echo esc_html($this->formget_mailget_get_option('mg_form_slide_text')); ?>" placeholder = "Subscribe Now!" />
47
  <div id="mg_form_slide_help" class="mg-form-help-box" style="display: none;">Enter the Sliding Tab text</div>
48
  </div>
49
  <p class="mg-box-text"><b>Heading and Description for subscription form</b></p>
50
  <div class="mg-form-text">
51
+ <input class = "mg-box-input" type = "text" name = "mg_form_heading_text" id = "mg_form_heading_text" value = "<?php echo esc_html($this->formget_mailget_get_option('mg_form_heading_text')); ?>" placeholder = "Form Heading" />
52
  <div id="mg_form_heading_help" class="mg-form-help-box" style="display: none;">Enter your Form Heading</div>
53
  </div>
54
  <div class="mg-form-text">
55
+ <textarea id="mg_form_description_text" name="mg_form_description_text" rows="4" placeholder="Form Description"><?php echo esc_html($this->formget_mailget_get_option('mg_form_description_text')); ?></textarea>
56
  <div id="mg_form_description_help" class="mg-form-help-box" style="display: none;">Enter your Form Description</div>
57
  </div>
58
  <p class="mg-box-text"><b>Subscription Form Button Text</b></p>
59
  <div class="mg-form-text">
60
+ <input class = "mg-box-input" type = "text" name = "mg_form_sbmt_text" id = "mg_form_sbmt_text" value = "<?php echo esc_html($this->formget_mailget_get_option('mg_form_sbmt_text')); ?>" placeholder = "Get It Now" />
61
  <div id="mg_form_sbmt_help" class="mg-form-help-box" style="display: none;">Enter Submit button text</div>
62
  </div>
63
  <p class="mg-box-text"><b>Select the page in which you want to show "Contact Us" tab. By default it is visible on every page.</b></p>
65
  <?php
66
  global $wpdb;
67
  $page_title = $wpdb->get_results("SELECT post_title, id FROM $wpdb->posts WHERE (post_type = 'page' AND post_status = 'publish')");
68
+ $val = array();
69
+ $val = $this->formget_mailget_get_option('mg_selected_page_id');
70
+ if (is_array($val) && count($val)>0 && in_array("home1", $val)) {
71
+ ?>
72
  <span id="mg_selected_box"><input id="mg_selected_box" type="checkbox" name="checkbox" value="home1" checked />Home</span>
73
  <?php } else {
74
  ?>
78
 
79
  foreach ($page_title as $title) {
80
  ?>
81
+ <span id="mg_selected_box"><input id="mg_selected_box" type="checkbox" name="checkbox" value="<?php echo ($title->id); ?>" <?php echo (is_array($val) && count($val)>0 && in_array($title->id, $val)) ? 'checked' : ''; ?> /><?php echo ($title->post_title); ?> </span>
82
  <?php }
83
  ?>
84
  </div>
99
  </div>
100
  <div id="mg_content_box">
101
  <p class="mg-box-text">Enter Your MailGet Api Key</p>
102
+ <input class="mg-box-input" id="mg_api_key" type="text" name="mg_api_key" value="<?php echo esc_html($this->formget_mailget_get_option('mg_api_key')); ?>" />
103
+ <input type="button" id="submit_mg_api_key" class="button-primary mg-submit-btn" name="submit_mg_api_key" value="Get List" /><span id="mg_loading_img_span"><img id="mg_loading_img" src="<?php echo esc_url(plugins_url('image/mg-ajax-loader.gif', __FILE__)); ?>" style="display: none"></span>
104
  </div>
105
  <span id='mg_error_box' style="display: none;">Invalid API Key</span>
106
  <div id="mg_content_box">
107
  <p class="mg-box-text">Select Your Contact List</p>
108
  <select id="mg_contact_list_id" class="mg-box-input" name="mg_contact_list_id"></select>
109
  <input type = "button" id="submit_mg_contact_list_id" class = "button-primary mg-submit-btn" name = "submit_mg_contact_list_id" value = "Save List" style="display: none;">
110
+ <span id="mg_loading_img_span"><img id="mg_loading_img" class = 'list-img' src="<?php echo esc_url(plugins_url('image/mg-ajax-loader.gif', __FILE__)); ?>" style="display: none"></span>
111
  </div>
112
  <div id="mg_msg_popup_list_option" class="mg-msg-popup-box" style="display: none;">List Saved</div>
113
  </div>
139
  * Generate MailGet Popup on front-end
140
  */
141
 
142
+ public function formget_mailget_subscribe_form() {
143
+ $mg_api_key = $this->formget_mailget_get_option('mg_api_key');
144
  ?>
145
  <div id="mg_box" data-class="mg_slide_right" class="mg-css-anim-right mg-animated ">
146
  <div id="mg_header_right" class="mg-header-right" style="width: 20px; margin-top: 110px; right:0; background-color: rgb(23, 184, 111);">
147
  <span class="mg-header-title-right">
148
+ <img src="//www.formget.com/app/code/contact_tab?c=<?php echo ($this->formget_mailget_get_option('mg_form_slide_text') != '') ? $this->formget_mailget_get_option('mg_form_slide_text') : 'Subscribe Now!'; ?>&amp;t_color=ffffff&amp;b_color=17B86F&amp;f_size=16&amp;t_pos=right" alt="Subscribe Now!">
149
  </span>
150
  </div>
151
  <div id="mg_wrapper_right" class="mg-wrapper-right" style="width: 291px;">
156
  <form class="view-mg-form" id="mg_form" method="post">
157
  <ul id="unorder_list_container">
158
  <div class="view-header">
159
+ <h2 id="mg_form_setting_para_1"><?php echo esc_html($this->formget_mailget_get_option('mg_form_heading_text')); ?></h2>
160
+ <p id="mg_form_setting_para_2"><?php echo esc_html($this->formget_mailget_get_option('mg_form_description_text')); ?></p>
161
  </div>
162
  <li style="display:block;" class="inkdesk-mg-form" id="0" data-title="1">
163
  <div class="view-wrapper">
178
  <li class="mg-form-button" id="" data-title="Button">
179
  <input type="hidden" name="save">
180
  <span class="mg-form-submit">
181
+ <input type="button" name="save" id="save" value="<?php echo ($this->formget_mailget_get_option('mg_form_sbmt_text') == '') ? 'Get It Now' : $this->formget_mailget_get_option('mg_form_sbmt_text'); ?>"/>
182
  </span>
183
  </li>
184
  </ul>
200
  background-color: rgb(247, 247, 246);
201
  }
202
  </style>
203
+ <a href="http://www.formget.com/mailget/builder_login" target="_blank" style="display: inline-block"><img src="<?php echo esc_url(plugins_url('image/notice.png', __FILE__)); ?>" alt="Login into MailGet and get Api key" style=" margin-left: 10px;"/></a>
204
  <?php }
205
  ?>
206
  </div>
211
  * Function to genarate contact list after MailGet api key saved
212
  */
213
 
214
+ public function formget_mailget_display_contact_lists() {
215
+ if (!check_ajax_referer('mg_option_nonce', 'mg_option_nonce') && !is_user_logged_in() && !current_user_can('manage_options')) {
216
+ return;
217
+ }
218
+ ob_clean();
219
  if (isset($_POST['mg_api_key']) && $_POST['mg_api_key'] != '') {
220
+ $list = $this->formget_mailget_get_contact_lists(sanitize_text_field($_POST['mg_api_key']));
221
  if ($list == 'Invalid API Key') {
222
  $error = array('error' => 'Invalid API Key');
223
  $return_array = json_encode($error);
224
  echo $return_array;
225
  die();
226
  } else {
227
+ $this->formget_mailget_save_api_key(sanitize_text_field($_POST['mg_api_key']));
228
  }
229
  if (!empty($list)) {
230
+ $mg_contact_list_id = $this->formget_mailget_get_option('mg_contact_list_id');
231
  $result = "";
232
  foreach ($list as $list_arr_row) {
233
  $selected = $mg_contact_list_id == $list_arr_row->list_id ? 'selected' : '';
237
  }
238
  } elseif ($_POST['mg_api_key'] == '') {
239
  $error = array('error' => 'Invalid API Key');
240
+ $mg_contact_list_id = $this->formget_mailget_get_option('mg_contact_list_id');
241
  if ($mg_contact_list_id == '') {
242
  $error = array('new' => 'new');
243
  }
252
  * Fucntion to get contact list from MailGet Api
253
  */
254
 
255
+ public function formget_mailget_get_contact_lists($mg_api_key) {
256
  require_once('inc/mailget_curl.php');
257
  $list_arr = array();
258
  $mg_obj = new mailget_curl($mg_api_key);
269
  * @param : $name
270
  */
271
 
272
+ public function formget_mailget_get_option($name) {
273
  $options = get_option('mg_options');
274
+ if (isset($options[$name])) {
275
  return $options[$name];
276
  }
277
  }
282
  * @param :$value
283
  */
284
 
285
+ public function formget_mailget_update_option($name, $value) {
286
  $options = get_option('mg_options');
287
  $options[$name] = $value;
288
  update_option('mg_options', $options);
293
  * @param : $mg_api_key
294
  */
295
 
296
+ public function formget_mailget_save_api_key($mg_api_key) {
297
+ $mg_old_option = $this->formget_mailget_get_option('mg_api_key');
298
  if ($mg_api_key !== '' || $mg_old_option != $mg_api_key) {
299
+ $this->formget_mailget_update_option('mg_api_key', $mg_api_key);
300
  }
301
  }
302
 
304
  * Function To save list id to database
305
  */
306
 
307
+ public function formget_mailget_save_contact_list_id() {
308
+ if (!check_ajax_referer('mg_option_nonce', 'mg_option_nonce') && !is_user_logged_in() && !current_user_can('manage_options')) {
309
+ return;
310
+ }
311
+ $mg_old_value = $this->formget_mailget_get_option('mg_contact_list_id');
312
+ //echo "mg-list-id==".$_POST['mg_contact_list_id'];
313
+ if (isset($_POST['mg_contact_list_id']) && $_POST['mg_contact_list_id'] != '' && ($mg_old_value != $_POST['mg_contact_list_id'])) {
314
+ $this->formget_mailget_update_option('mg_contact_list_id', $_POST['mg_contact_list_id']);
315
  die();
316
  }
317
  }
320
  * Function To save subscribe form options
321
  */
322
 
323
+ public function formget_mailget_save_options() {
324
  if (!check_ajax_referer('mg_option_nonce', 'mg_option_nonce') && !is_user_logged_in() && !current_user_can('manage_options')) {
325
  return;
326
  }
327
+ $new_page_arr = array();
328
  $mg_old_val = get_option('mg_options');
329
+ if (!isset($_POST['mg_switch'])) {
330
+ $this->formget_mailget_update_option('mg_switch', 'off');
331
  } else {
332
+ $this->formget_mailget_update_option('mg_switch', 'on');
333
  }
334
  if (isset($_POST['mg_selected_page_id'])) {
335
+ $page_id = $_POST['mg_selected_page_id'];
336
+ if(!empty($page_id) && is_array($page_id)){
337
+ foreach($page_id as $key=>$val){
338
+ $new_page_arr[ $key ] = ( isset( $page_id[ $key ] ) ) ?
339
+ sanitize_text_field( $val ) :
340
+ '';
341
+ }
342
+ }
343
+ $this->formget_mailget_update_option('mg_selected_page_id', $new_page_arr);
344
  }
345
+
346
  if (isset($_POST['mg_form_slide_text']) && ($mg_old_val['mg_form_slide_text'] != $_POST['mg_form_slide_text'])) {
347
+ $this->formget_mailget_update_option('mg_form_slide_text', sanitize_text_field($_POST['mg_form_slide_text']));
348
  }
349
  if (isset($_POST['mg_form_heading_text']) && ($mg_old_val['mg_form_heading_text'] != $_POST['mg_form_heading_text'])) {
350
+ $this->formget_mailget_update_option('mg_form_heading_text', sanitize_text_field($_POST['mg_form_heading_text']));
351
  }
352
  if (isset($_POST['mg_form_description_text']) && ($mg_old_val['mg_form_description_text'] != $_POST['mg_form_description_text'])) {
353
+ $this->formget_mailget_update_option('mg_form_description_text', sanitize_text_field($_POST['mg_form_description_text']));
354
  }
355
  if (isset($_POST['mg_form_sbmt_text']) && ($mg_old_val['mg_form_sbmt_text'] != $_POST['mg_form_sbmt_text'])) {
356
+ $this->formget_mailget_update_option('mg_form_sbmt_text', sanitize_text_field($_POST['mg_form_sbmt_text']));
357
  }
358
  die();
359
  }
362
  * Function to save data to MailGet contact list
363
  */
364
 
365
+ public function formget_mailget_form_action() {
366
  require_once('inc/mailget_curl.php');
367
  if (!check_ajax_referer('mg_nonce', 'mg_nonce')) {
368
  return;
369
  }
370
+ $mg_api_key = $this->formget_mailget_get_option('mg_api_key');
371
+ $mg_contact_list_id = $this->formget_mailget_get_option('mg_contact_list_id');
372
+ if (isset($_POST)) {
373
  $name = $_POST['mg_name'];
374
  $email = $_POST['mg_email'];
375
  } else {
379
  if ($mg_api_key != '' && $mg_contact_list_id != '' && $name != '' && $email != '') {
380
  $mg_obj = new mailget_curl($mg_api_key);
381
  $mg_arr = array(array(
382
+ 'name' => sanitize_text_field($name),
383
+ 'email' => sanitize_email($email),
384
  'get_date' => date('j-m-y'),
385
  'ip' => ''
386
  )
readme.txt CHANGED
@@ -1,26 +1,25 @@
1
  === FormGet Contact Form ===
2
  Contributors: PankajAgarwal
3
- Tags: contact form, contact, form, forms, contact form plugin, contact form builder, contact form with recaptcha, feedback form, Responsive Contact Form, contact us, request form, contact button, drag and drop contact form file upload contact form, contact form to email, contact form payments, contact for paypal, form solution, form builder, feedback, easy contact form, helpdesk
4
  Requires at least: 3.5.0
5
  Tested up to: 4.4
6
- Stable tag: 5.3.9
7
 
8
  FormGet Contact Form manage all your contact forms using single dashboard. Just a click on fields and your contact form is ready for use.
9
 
10
  == Description ==
11
- FormGet is an easy online drag and drop contact form builder tool. You just need to click on the fields that you want to add up on your form and your contact form get ready within a second. You can also manage your contact form by simply drag and drop the form fields.
12
-
13
  = This video will give you a quick demo on how you can Create forms and embed it on your WordPress site with FormGet WordPress plugin. =
14
 
15
  http://vimeo.com/84023688
16
 
17
 
18
  = Type of Forms Supported by Plugin =
 
19
  Contact form, Feedback form, Helpdesk form, Booking form, Consultation service, Contact form, Mailing list form, Survey form, Job application form, Workshop registration form, Bug tracker form, Newsletter sign up form, Wedding planner form, Real estate applications form, Invitation/RSVP add invitation to the product demo form, Online orders form etc.
20
 
21
  FormGet Contact Form is very effective contact form building tool which enable you to build and embed contact form on your website in few simple steps. Select your form fields, configure your options and easily embed contact form on your website by just a paste of Tabbed Widget code/shortcode. You do not need any programming knowledge or other skills to use this FormGet Contact Form plugin.
22
 
23
- With FormGet Contact Form plugin, you can view your multiple contact forms and your entire client communication at one single place i.e. FormGet dashboard. As a result it will be become very easier for you to manage these multiple contact forms of your multiple websites at one single place. If a user encounters a problem while opening your contact form in his preferred device, you are sure to lose a potential leads but the Contact form created by formGet is responsive, that allows a contact form to adapt to different screens by shuffling content and realigning itself. An enhanced user experience means increased sales and better conversion rates.
24
 
25
  = List of Fields Supported by Plugin =
26
  Name, Email, Contact Number, Message, Payment(Integrated with PayPal), Date (support format dd-mm-yy or dd/mm/yy or yy-mm-dd), Single Line Text, Multi Line Text, Select-Multiple, Attachments, Checkbox, Select(Select a Choice), Radio, Upload, Captcha.
@@ -54,52 +53,23 @@ FormGet Contact Form plugin implemented with a helpdesk system which enable you
54
  = Full list of Features =
55
 
56
  * Online contact form builder.
57
- * Contact form fields are easy to add, remove, edit and re-order anytime.
58
- * Customizable contact form fields label.
59
- * Manage multiple contact forms within a single dashboard.
60
  * Allow unlimited contact form entries.
61
  * Upload jpg, png, gif or zip type of file format in your contact form.
62
  * You can create contact form of any language like Greek, Chinese Simplified, Chinese Traditional, French, German, Greek, Spanish, Arabic, Brazilian, Portuguese, Bulgarian, Italian etc.
63
- * Contact form field validation within a click.
64
- * Allow unlimited tickets creation in your contact form.
65
  * User can collect payments in the contact form itself using PayPal .
66
- * Once the user has filled the PayPal contact form fields and click on submit button, the posted data is saved into fast and secure cloud servers. And the user is automatically redirected to PayPal to complete a payment. After collect of payment through PayPal, the website administrator (the email indicated from the settings) will receive an email alert of successful transaction and the user will receive a confirmation/thank you email.
67
- * Contact form linked to a PayPal payment system.
68
- * Support both request forms and paid assistance forms.
69
- * Contact form can be used for receiving product orders, purchases, bookings and reservations.
70
- * For automatic delivering of information after payment (put the information into the auto-reply message)
71
- * Assign agents based on the ticket category of your contact form.
72
  * Agent alert with an email on every ticket received via contact form.
73
  * Spam protection by implementing captcha field on your contact form which work similar as that of Akismet in WordPress.
74
- * Refresh button to reload captcha.
75
- * FormGet Contact Form support WPMU.
76
- * Implemented with improved captcha images.
77
- * Complete security of your contact form data using cloud servers.
78
- * Advance contact form analytic.
79
  * Send confirmation email on receive of contact form entry.
80
  * Plugin support shortcode, so that contact form can visible on any page and post.
81
  * Embed contact form on sidebar, so that it can visible on whole website.
82
- * Create multiple fields in a single contact form.
83
- * Just click on the field to add date and time field in your contact form.
84
- * Advance Communication System for users interaction.
85
- * Can create multiple agent for the contact forms.
86
- * Admin/Agent can marked contact form ticket as Resolved Ticket.
87
- * Delete contact form ticket permanently whenever you want.
88
- * Allow to configure plugin using option setting given in WordPress plugin dashboard.
89
  * Contact form Re-branding can be possible.
90
  * Get the unique contact form URL and share it across the network.
91
- * Contact form will send email/mail automatically for Customer Engagement.
92
- * Use Tabbed code to show contact button on every page of your website and WordPress shortcode to show it on selective page/post/WordPress sidebar.
93
- * Know stats ratio within a click i.e. ratio of contact form viewers/detail submissions.
94
- * Agents make a quick note for a ticket in contact form.
95
  * Contact form dashboard implemented with searching and filtering capability.
96
- * Change your contact form background anytime you want.
97
- * Contact form support Rich Text Formatting.
98
  * Contact forms are completely responsive in nature i.e. easily works with mobile devices, desktop etc.
99
  * Redirect user to any page/URL using contact form redirect URL field.
100
  * Data stored using entries are regularly backup and restored on cloud servers.
101
- * Allow to enable form fields compulsary using avaliable Required option.
102
- * Implemented Logic Forms to integrate logical conditions in your form that will show or hide form fields or questions according to the user�s response to previous field.
103
  * Upload your Custom Background and header image.
104
  * Color customization can be done by using advance color customizer.
105
  * Share your forms on Facebook, Twitter, Google Plus go generate leads.
@@ -109,11 +79,11 @@ Learn more about our FormGet Contact Form.
109
  http://www.formget.com/formget-video-tutorials-guide/
110
 
111
  = FormGet Contact Form Demo & User Guide =
112
- * See demo for [Tabbed code form](http://www.formget.com/).
113
  * See demo for [contact form on any page or post](http://www.formget.com/contact-us/).
114
  * [User Guide](http://www.formget.com/formget-video-tutorials-guide/)
115
 
116
- FormGet Contact Form by formget.com.
117
  Click here to build [Advance Contact Form](http://formget.com).
118
 
119
  == Installation ==
@@ -164,6 +134,9 @@ When you create account in FormGet you automatically get support desk. All the e
164
 
165
 
166
  == Changelog ==
 
 
 
167
  = Version 5.3.9 =
168
  * Powered by FormGet removed.
169
 
1
  === FormGet Contact Form ===
2
  Contributors: PankajAgarwal
3
+ Tags: contact form, form, forms, contact form plugin, feedback form, Responsive Contact Form, contact us, contact form payments, contact for paypal, form builder, easy contact form
4
  Requires at least: 3.5.0
5
  Tested up to: 4.4
6
+ Stable tag: 5.4.0
7
 
8
  FormGet Contact Form manage all your contact forms using single dashboard. Just a click on fields and your contact form is ready for use.
9
 
10
  == Description ==
11
+ FormGet is an easy online drag and drop contact form builder tool. You just need to click on the fields that you want to add up on your form and your contact form get ready within a second.
 
12
  = This video will give you a quick demo on how you can Create forms and embed it on your WordPress site with FormGet WordPress plugin. =
13
 
14
  http://vimeo.com/84023688
15
 
16
 
17
  = Type of Forms Supported by Plugin =
18
+
19
  Contact form, Feedback form, Helpdesk form, Booking form, Consultation service, Contact form, Mailing list form, Survey form, Job application form, Workshop registration form, Bug tracker form, Newsletter sign up form, Wedding planner form, Real estate applications form, Invitation/RSVP add invitation to the product demo form, Online orders form etc.
20
 
21
  FormGet Contact Form is very effective contact form building tool which enable you to build and embed contact form on your website in few simple steps. Select your form fields, configure your options and easily embed contact form on your website by just a paste of Tabbed Widget code/shortcode. You do not need any programming knowledge or other skills to use this FormGet Contact Form plugin.
22
 
 
23
 
24
  = List of Fields Supported by Plugin =
25
  Name, Email, Contact Number, Message, Payment(Integrated with PayPal), Date (support format dd-mm-yy or dd/mm/yy or yy-mm-dd), Single Line Text, Multi Line Text, Select-Multiple, Attachments, Checkbox, Select(Select a Choice), Radio, Upload, Captcha.
53
  = Full list of Features =
54
 
55
  * Online contact form builder.
56
+ * Contact form fields are easy to add, remove, edit and re-order anytime with form field validation.
 
 
57
  * Allow unlimited contact form entries.
58
  * Upload jpg, png, gif or zip type of file format in your contact form.
59
  * You can create contact form of any language like Greek, Chinese Simplified, Chinese Traditional, French, German, Greek, Spanish, Arabic, Brazilian, Portuguese, Bulgarian, Italian etc.
 
 
60
  * User can collect payments in the contact form itself using PayPal .
 
 
 
 
 
 
61
  * Agent alert with an email on every ticket received via contact form.
62
  * Spam protection by implementing captcha field on your contact form which work similar as that of Akismet in WordPress.
 
 
 
 
 
63
  * Send confirmation email on receive of contact form entry.
64
  * Plugin support shortcode, so that contact form can visible on any page and post.
65
  * Embed contact form on sidebar, so that it can visible on whole website.
 
 
 
 
 
 
 
66
  * Contact form Re-branding can be possible.
67
  * Get the unique contact form URL and share it across the network.
 
 
 
 
68
  * Contact form dashboard implemented with searching and filtering capability.
 
 
69
  * Contact forms are completely responsive in nature i.e. easily works with mobile devices, desktop etc.
70
  * Redirect user to any page/URL using contact form redirect URL field.
71
  * Data stored using entries are regularly backup and restored on cloud servers.
72
+ * Implemented Logic Forms to integrate logical conditions in your form that will show or hide form fields or questions according to the users response to previous field.
 
73
  * Upload your Custom Background and header image.
74
  * Color customization can be done by using advance color customizer.
75
  * Share your forms on Facebook, Twitter, Google Plus go generate leads.
79
  http://www.formget.com/formget-video-tutorials-guide/
80
 
81
  = FormGet Contact Form Demo & User Guide =
82
+ * See demo for [Tabbed code form](http://www.formget.com/formget).
83
  * See demo for [contact form on any page or post](http://www.formget.com/contact-us/).
84
  * [User Guide](http://www.formget.com/formget-video-tutorials-guide/)
85
 
86
+ FormGet Contact Form is powered by formget.com.
87
  Click here to build [Advance Contact Form](http://formget.com).
88
 
89
  == Installation ==
134
 
135
 
136
  == Changelog ==
137
+ = Version 5.4.0 =
138
+ * Added sanitization and escaping of data.
139
+
140
  = Version 5.3.9 =
141
  * Powered by FormGet removed.
142