Contact Form for WordPress – Ultimate Form Builder Lite - Version 1.4.8

Version Description

  • Added Default form and fallback form.
  • Set default fields on adding a form.
Download this release

Release Info

Developer Access Keys
Plugin Icon 128x128 Contact Form for WordPress – Ultimate Form Builder Lite
Version 1.4.8
Comparing to
See all releases

Code changes from version 1.4.7 to 1.4.8

classes/ufbl-lib.php CHANGED
@@ -69,6 +69,41 @@ if ( !class_exists( 'UFBL_Lib' ) ) {
69
  public static function get_default_detail() {
70
  $default_detail = array();
71
  $default_detail['field_data'] = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  $default_detail['form_design'] = array( 'plugin_style' => 1, 'form_width' => '', 'form_template' => 'ufbl-default-template' );
73
  $default_detail['email_settings'] = array( 'email_reciever' => array( get_option( 'admin_email' ) ), 'from_name' => '', 'from_email' => '', 'from_subject' => '' );
74
  return $default_detail;
@@ -103,196 +138,196 @@ if ( !class_exists( 'UFBL_Lib' ) ) {
103
 
104
  switch ( $field_data[$key]['field_type'] ) {
105
  case 'textfield':
106
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
107
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
108
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
 
 
 
 
 
109
  $error_flag = 1;
110
  $form_response['error_keys'][$key] = $error_message;
111
- } else {
112
- if ( $field_data[$key]['max_chars'] != '' && strlen( $val ) > $field_data[$key]['max_chars'] ) {
113
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_chars'];
114
- $error_flag = 1;
115
- $form_response['error_keys'][$key] = $error_message;
116
- }
117
- if ( $field_data[$key]['min_chars'] != '' && strlen( $val ) < $field_data[$key]['min_chars'] ) {
118
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_chars'];
119
- $error_flag = 1;
120
- $form_response['error_keys'][$key] = $error_message;
121
- }
122
  }
123
- if ( $error_flag == 0 ) {
124
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
 
 
125
  }
126
- break;
 
 
 
 
127
  case 'textarea':
128
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
129
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
130
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
 
 
 
 
 
131
  $error_flag = 1;
132
  $form_response['error_keys'][$key] = $error_message;
133
- } else {
134
- if ( $field_data[$key]['max_chars'] != '' && strlen( $val ) > $field_data[$key]['max_chars'] ) {
135
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_chars'];
136
- $error_flag = 1;
137
- $form_response['error_keys'][$key] = $error_message;
138
- }
139
- if ( $field_data[$key]['min_chars'] != '' && strlen( $val ) < $field_data[$key]['min_chars'] ) {
140
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_chars'];
141
- $error_flag = 1;
142
- $form_response['error_keys'][$key] = $error_message;
143
- }
144
  }
145
- if ( $error_flag == 0 ) {
146
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
 
 
147
  }
148
- break;
 
 
 
 
149
  case 'email':
150
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
151
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
152
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
 
 
 
 
 
153
  $error_flag = 1;
154
  $form_response['error_keys'][$key] = $error_message;
155
- } else {
156
- if ( !is_email( $val ) && $val != '' ) {
157
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please enter the valid email address.', 'ultimate-form-builder-lite' );
158
- $error_flag = 1;
159
- $form_response['error_keys'][$key] = $error_message;
160
- }
161
  }
162
- if ( $error_flag == 0 ) {
163
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
164
- }
165
- break;
 
166
  case 'checkbox':
167
- if ( isset( $form_data[$key] ) ) {
168
- $val = array_map( 'sanitize_text_field', $form_data[$key] );
169
- $val = implode( ',', $val );
170
- } else {
171
- $val = '';
172
- }
173
 
174
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
175
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
176
- $error_flag = 1;
177
- $form_response['error_keys'][$key] = $error_message;
178
- }
179
- if ( $error_flag == 0 ) {
180
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
181
- }
182
- break;
183
  case 'radio':
184
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
185
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
186
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
187
- $error_flag = 1;
188
- $form_response['error_keys'][$key] = $error_message;
189
- }
190
- if ( $error_flag == 0 ) {
191
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
192
- }
193
- if ( $error_flag == 0 ) {
194
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
195
- }
196
- break;
197
  case 'dropdown':
198
-
199
- if ( isset( $form_data[$key] ) ) {
200
 
201
- if ( is_array( $form_data[$key] ) ) {
202
- $val = array_map( 'sanitize_text_field', $form_data[$key] );
203
- $val = implode( ',', $val );
204
- } else {
205
- $val = sanitize_text_field( $form_data[$key] );
206
- }
207
  } else {
208
- $val = '';
209
  }
210
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
211
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  $error_flag = 1;
213
  $form_response['error_keys'][$key] = $error_message;
214
  }
215
- if ( $error_flag == 0 ) {
216
- $val = (is_array($val))?implode(',',$val):$val;
217
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
218
- }
219
- break;
220
- case 'password':
221
- $val = isset( $form_data[$key] ) ? $form_data[$key] : '';
222
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
223
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
224
  $error_flag = 1;
225
  $form_response['error_keys'][$key] = $error_message;
226
- } else {
227
- if ( $field_data[$key]['max_chars'] != '' && strlen( $val ) > $field_data[$key]['max_chars'] ) {
228
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_chars'];
229
- $error_flag = 1;
230
- $form_response['error_keys'][$key] = $error_message;
231
- }
232
- if ( $field_data[$key]['min_chars'] != '' && strlen( $val ) < $field_data[$key]['min_chars'] ) {
233
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_chars'];
234
- $error_flag = 1;
235
- $form_response['error_keys'][$key] = $error_message;
236
- }
237
- }
238
- if ( $error_flag == 0 ) {
239
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
240
  }
241
- break;
 
 
 
 
242
  case 'number':
243
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
244
- if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
245
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
 
 
 
 
 
246
  $error_flag = 1;
247
  $form_response['error_keys'][$key] = $error_message;
248
  } else {
249
- if ( $val!='' && !is_numeric( $val ) ) {
250
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Only numbers allowed.', 'ultimate-form-builder-lite' );
 
 
 
 
 
251
  $error_flag = 1;
252
  $form_response['error_keys'][$key] = $error_message;
253
- } else {
254
- if ( $field_data[$key]['max_value'] != '' && intval( $val ) > $field_data[$key]['max_value'] ) {
255
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_value'];
256
- $error_flag = 1;
257
- $form_response['error_keys'][$key] = $error_message;
258
- }
259
- if ( $field_data[$key]['min_value'] != '' && intval( $val ) < $field_data[$key]['min_value'] ) {
260
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_value'];
261
- $error_flag = 1;
262
- $form_response['error_keys'][$key] = $error_message;
263
- }
264
  }
265
  }
266
- if ( $error_flag == 0 ) {
267
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
268
- }
269
- break;
 
270
  case 'hidden':
271
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
272
- if ( $error_flag == 0 ) {
273
- $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
274
- }
275
- break;
276
  case 'captcha':
277
- if ( $value['captcha_type'] == 'mathematical' ) {
278
- $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : 0;
279
- if ( $val != 0 ) {
280
- $num1_key = $key . '_num_1';
281
- $num2_key = $key . '_num_2';
282
- $num1 = $form_data[$num1_key];
283
- $num2 = $form_data[$num2_key];
284
- $result = $num1 + $num2;
285
- if ( $result != $val ) {
286
- $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please enter the correct sum.', 'ultimate-form-builder-lite' );
287
- $error_flag = 1;
288
- $form_response['error_keys'][$key] = $error_message;
289
- }
290
- } else {
291
  $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please enter the correct sum.', 'ultimate-form-builder-lite' );
292
  $error_flag = 1;
293
  $form_response['error_keys'][$key] = $error_message;
294
  }
295
  } else {
 
 
 
 
 
296
  $captcha = sanitize_text_field( $_POST['captchaResponse'] ); // get the captchaResponse parameter sent from our ajax
297
  if ( !$captcha ) {
298
  $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please check the captcha.', 'ultimate-form-builder-lite' );
@@ -311,7 +346,7 @@ if ( !class_exists( 'UFBL_Lib' ) ) {
311
  }
312
  }
313
  break;
314
- default:
315
  break;
316
  }//switch close
317
  }//foreach form data close
@@ -335,9 +370,9 @@ if ( !class_exists( 'UFBL_Lib' ) ) {
335
  * @param array $form_row
336
  *
337
  * */
338
- echo json_encode( apply_filters('ufb_form_response',$form_response,$form_data,$form_row) );
339
- die();
340
- }
341
 
342
  /**
343
  * Do the email sending process after form validation
@@ -361,14 +396,14 @@ if ( !class_exists( 'UFBL_Lib' ) ) {
361
  }
362
  }
363
  $form_html = '<html>
364
- <head><title></title></head>
365
- <body>
366
- <table style="border:1px solid #D54E21" cellspacing="0" cellpadding="10" align="center" style="width:600px;">
367
- <tr><td colspan="2" style="text-align:center;"><h2>' . $form_title . '</h2></td></tr>
368
- ' .
369
- $fields_html
370
- . '</table></body>
371
- </html>';
372
  $site_url = str_replace( 'http://', '', site_url() );
373
  $site_url = str_replace( 'https://', '', $site_url );
374
  $email_subject = ($form_detail['email_settings']['from_subject'] != '') ? esc_attr( $form_detail['email_settings']['from_subject'] ) : __( 'New Form Submission', 'ultimate-form-builder-lite' );
@@ -377,22 +412,22 @@ if ( !class_exists( 'UFBL_Lib' ) ) {
377
  $admin_email = get_option( 'admin_email' );
378
  $email_recievers = apply_filters('ufbl_email_receivers',$form_detail['email_settings']['email_reciever'],$email_reference_array,$form_row);
379
  $headers = array();
380
- $headers[] = 'Content-Type: text/html; charset=UTF-8';
381
- $headers[] = 'From: ' . $from_name . ' <' . $from_email . '>' ;
382
  $headers = apply_filters('ufbl_mail_header',$headers);
383
-
384
  foreach ( $email_recievers as $email_reciever ) {
385
  $to_email = ($email_reciever == '') ? $admin_email : esc_attr( $email_reciever );
386
  //$mail = mail( $to_email, $email_subject, $form_html, $headers );
387
- $mail = wp_mail( $to_email,$email_subject, $form_html, $headers );
388
-
389
  /**
390
  * Action to trigger after email
391
  * */
392
  do_action('ufbl_email_send',$to_email,$email_subject,$form_html,$headers);
393
- }
394
- }
395
- }
396
 
397
  /**
398
  * Function to generate CSV for form entries
69
  public static function get_default_detail() {
70
  $default_detail = array();
71
  $default_detail['field_data'] = array();
72
+ $default_detail['field_data'] = array(
73
+ 'ufbl_field_1' => array
74
+ (
75
+ 'field_label' => 'Name',
76
+ 'max_chars' => '',
77
+ 'min_chars' => '',
78
+ 'error_message' => '',
79
+ 'placeholder' => '',
80
+ 'pre_filled_value' => '',
81
+ 'field_id' => '',
82
+ 'field_class' => '',
83
+ 'field_type' => 'textfield'
84
+ ),
85
+ 'ufbl_field_2' => array
86
+ (
87
+ 'field_label' => 'Email',
88
+ 'max_chars' => '',
89
+ 'min_chars' => '',
90
+ 'error_message' => '',
91
+ 'placeholder' => '',
92
+ 'pre_filled_value' => '',
93
+ 'field_id' => '',
94
+ 'field_class' => '',
95
+ 'field_type' => 'textfield',
96
+ ),
97
+ 'ufbl_field_3' => array
98
+ (
99
+ 'button_label' => 'Submit',
100
+ 'reset_label' => '',
101
+ 'field_id' => '',
102
+ 'field_class' => '',
103
+ 'field_type' => 'submit',
104
+ )
105
+ );
106
+ $default_detail['form_key_count'] = 3;
107
  $default_detail['form_design'] = array( 'plugin_style' => 1, 'form_width' => '', 'form_template' => 'ufbl-default-template' );
108
  $default_detail['email_settings'] = array( 'email_reciever' => array( get_option( 'admin_email' ) ), 'from_name' => '', 'from_email' => '', 'from_subject' => '' );
109
  return $default_detail;
138
 
139
  switch ( $field_data[$key]['field_type'] ) {
140
  case 'textfield':
141
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
142
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
143
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
144
+ $error_flag = 1;
145
+ $form_response['error_keys'][$key] = $error_message;
146
+ } else {
147
+ if ( $field_data[$key]['max_chars'] != '' && strlen( $val ) > $field_data[$key]['max_chars'] ) {
148
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_chars'];
149
  $error_flag = 1;
150
  $form_response['error_keys'][$key] = $error_message;
 
 
 
 
 
 
 
 
 
 
 
151
  }
152
+ if ( $field_data[$key]['min_chars'] != '' && strlen( $val ) < $field_data[$key]['min_chars'] ) {
153
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_chars'];
154
+ $error_flag = 1;
155
+ $form_response['error_keys'][$key] = $error_message;
156
  }
157
+ }
158
+ if ( $error_flag == 0 ) {
159
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
160
+ }
161
+ break;
162
  case 'textarea':
163
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
164
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
165
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
166
+ $error_flag = 1;
167
+ $form_response['error_keys'][$key] = $error_message;
168
+ } else {
169
+ if ( $field_data[$key]['max_chars'] != '' && strlen( $val ) > $field_data[$key]['max_chars'] ) {
170
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_chars'];
171
  $error_flag = 1;
172
  $form_response['error_keys'][$key] = $error_message;
 
 
 
 
 
 
 
 
 
 
 
173
  }
174
+ if ( $field_data[$key]['min_chars'] != '' && strlen( $val ) < $field_data[$key]['min_chars'] ) {
175
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_chars'];
176
+ $error_flag = 1;
177
+ $form_response['error_keys'][$key] = $error_message;
178
  }
179
+ }
180
+ if ( $error_flag == 0 ) {
181
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
182
+ }
183
+ break;
184
  case 'email':
185
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
186
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
187
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
188
+ $error_flag = 1;
189
+ $form_response['error_keys'][$key] = $error_message;
190
+ } else {
191
+ if ( !is_email( $val ) && $val != '' ) {
192
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please enter the valid email address.', 'ultimate-form-builder-lite' );
193
  $error_flag = 1;
194
  $form_response['error_keys'][$key] = $error_message;
 
 
 
 
 
 
195
  }
196
+ }
197
+ if ( $error_flag == 0 ) {
198
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
199
+ }
200
+ break;
201
  case 'checkbox':
202
+ if ( isset( $form_data[$key] ) ) {
203
+ $val = array_map( 'sanitize_text_field', $form_data[$key] );
204
+ $val = implode( ',', $val );
205
+ } else {
206
+ $val = '';
207
+ }
208
 
209
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
210
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
211
+ $error_flag = 1;
212
+ $form_response['error_keys'][$key] = $error_message;
213
+ }
214
+ if ( $error_flag == 0 ) {
215
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
216
+ }
217
+ break;
218
  case 'radio':
219
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
220
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
221
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
222
+ $error_flag = 1;
223
+ $form_response['error_keys'][$key] = $error_message;
224
+ }
225
+ if ( $error_flag == 0 ) {
226
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
227
+ }
228
+ if ( $error_flag == 0 ) {
229
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
230
+ }
231
+ break;
232
  case 'dropdown':
 
 
233
 
234
+ if ( isset( $form_data[$key] ) ) {
235
+
236
+ if ( is_array( $form_data[$key] ) ) {
237
+ $val = array_map( 'sanitize_text_field', $form_data[$key] );
238
+ $val = implode( ',', $val );
 
239
  } else {
240
+ $val = sanitize_text_field( $form_data[$key] );
241
  }
242
+ } else {
243
+ $val = '';
244
+ }
245
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
246
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
247
+ $error_flag = 1;
248
+ $form_response['error_keys'][$key] = $error_message;
249
+ }
250
+ if ( $error_flag == 0 ) {
251
+ $val = (is_array($val))?implode(',',$val):$val;
252
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
253
+ }
254
+ break;
255
+ case 'password':
256
+ $val = isset( $form_data[$key] ) ? $form_data[$key] : '';
257
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
258
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
259
+ $error_flag = 1;
260
+ $form_response['error_keys'][$key] = $error_message;
261
+ } else {
262
+ if ( $field_data[$key]['max_chars'] != '' && strlen( $val ) > $field_data[$key]['max_chars'] ) {
263
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_chars'];
264
  $error_flag = 1;
265
  $form_response['error_keys'][$key] = $error_message;
266
  }
267
+ if ( $field_data[$key]['min_chars'] != '' && strlen( $val ) < $field_data[$key]['min_chars'] ) {
268
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_chars'];
 
 
 
 
 
 
 
269
  $error_flag = 1;
270
  $form_response['error_keys'][$key] = $error_message;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  }
272
+ }
273
+ if ( $error_flag == 0 ) {
274
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
275
+ }
276
+ break;
277
  case 'number':
278
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
279
+ if ( isset( $field_data[$key]['required'] ) && $field_data[$key]['required'] == 1 && $val == '' ) {
280
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'This field is required', 'ultimate-form-builder-lite' );
281
+ $error_flag = 1;
282
+ $form_response['error_keys'][$key] = $error_message;
283
+ } else {
284
+ if ( $val!='' && !is_numeric( $val ) ) {
285
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Only numbers allowed.', 'ultimate-form-builder-lite' );
286
  $error_flag = 1;
287
  $form_response['error_keys'][$key] = $error_message;
288
  } else {
289
+ if ( $field_data[$key]['max_value'] != '' && intval( $val ) > $field_data[$key]['max_value'] ) {
290
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Characters exceeded.Max characters allowed is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['max_value'];
291
+ $error_flag = 1;
292
+ $form_response['error_keys'][$key] = $error_message;
293
+ }
294
+ if ( $field_data[$key]['min_value'] != '' && intval( $val ) < $field_data[$key]['min_value'] ) {
295
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Mininum characters required is :', 'ultimate-form-builder-lite' ) . $field_data[$key]['min_value'];
296
  $error_flag = 1;
297
  $form_response['error_keys'][$key] = $error_message;
 
 
 
 
 
 
 
 
 
 
 
298
  }
299
  }
300
+ }
301
+ if ( $error_flag == 0 ) {
302
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
303
+ }
304
+ break;
305
  case 'hidden':
306
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : '';
307
+ if ( $error_flag == 0 ) {
308
+ $email_reference_array[$key] = array( 'label' => $field_data[$key]['field_label'], 'value' => $val );
309
+ }
310
+ break;
311
  case 'captcha':
312
+ if ( $value['captcha_type'] == 'mathematical' ) {
313
+ $val = isset( $form_data[$key] ) ? sanitize_text_field( $form_data[$key] ) : 0;
314
+ if ( $val != 0 ) {
315
+ $num1_key = $key . '_num_1';
316
+ $num2_key = $key . '_num_2';
317
+ $num1 = $form_data[$num1_key];
318
+ $num2 = $form_data[$num2_key];
319
+ $result = $num1 + $num2;
320
+ if ( $result != $val ) {
 
 
 
 
 
321
  $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please enter the correct sum.', 'ultimate-form-builder-lite' );
322
  $error_flag = 1;
323
  $form_response['error_keys'][$key] = $error_message;
324
  }
325
  } else {
326
+ $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please enter the correct sum.', 'ultimate-form-builder-lite' );
327
+ $error_flag = 1;
328
+ $form_response['error_keys'][$key] = $error_message;
329
+ }
330
+ } else {
331
  $captcha = sanitize_text_field( $_POST['captchaResponse'] ); // get the captchaResponse parameter sent from our ajax
332
  if ( !$captcha ) {
333
  $error_message = (isset( $field_data[$key]['error_message'] ) && $field_data[$key]['error_message'] != '') ? $field_data[$key]['error_message'] : __( 'Please check the captcha.', 'ultimate-form-builder-lite' );
346
  }
347
  }
348
  break;
349
+ default:
350
  break;
351
  }//switch close
352
  }//foreach form data close
370
  * @param array $form_row
371
  *
372
  * */
373
+ echo json_encode( apply_filters('ufb_form_response',$form_response,$form_data,$form_row) );
374
+ die();
375
+ }
376
 
377
  /**
378
  * Do the email sending process after form validation
396
  }
397
  }
398
  $form_html = '<html>
399
+ <head><title></title></head>
400
+ <body>
401
+ <table style="border:1px solid #D54E21" cellspacing="0" cellpadding="10" align="center" style="width:600px;">
402
+ <tr><td colspan="2" style="text-align:center;"><h2>' . $form_title . '</h2></td></tr>
403
+ ' .
404
+ $fields_html
405
+ . '</table></body>
406
+ </html>';
407
  $site_url = str_replace( 'http://', '', site_url() );
408
  $site_url = str_replace( 'https://', '', $site_url );
409
  $email_subject = ($form_detail['email_settings']['from_subject'] != '') ? esc_attr( $form_detail['email_settings']['from_subject'] ) : __( 'New Form Submission', 'ultimate-form-builder-lite' );
412
  $admin_email = get_option( 'admin_email' );
413
  $email_recievers = apply_filters('ufbl_email_receivers',$form_detail['email_settings']['email_reciever'],$email_reference_array,$form_row);
414
  $headers = array();
415
+ $headers[] = 'Content-Type: text/html; charset=UTF-8';
416
+ $headers[] = 'From: ' . $from_name . ' <' . $from_email . '>' ;
417
  $headers = apply_filters('ufbl_mail_header',$headers);
418
+
419
  foreach ( $email_recievers as $email_reciever ) {
420
  $to_email = ($email_reciever == '') ? $admin_email : esc_attr( $email_reciever );
421
  //$mail = mail( $to_email, $email_subject, $form_html, $headers );
422
+ $mail = wp_mail( $to_email,$email_subject, $form_html, $headers );
423
+
424
  /**
425
  * Action to trigger after email
426
  * */
427
  do_action('ufbl_email_send',$to_email,$email_subject,$form_html,$headers);
428
+ }
429
+ }
430
+ }
431
 
432
  /**
433
  * Function to generate CSV for form entries
classes/ufbl-model.php CHANGED
@@ -45,6 +45,34 @@ if ( !class_exists( 'UFBL_Model' ) ) {
45
  die( json_encode( $response_array ) );
46
  }
47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  /**
49
  * Returns all the forms from the database
50
  * @return array
45
  die( json_encode( $response_array ) );
46
  }
47
 
48
+ /**
49
+ * Model to add form into DB
50
+ * @global UFBL_Lib object $library_obj
51
+ *
52
+ */
53
+ public static function add_default_form() {
54
+ global $library_obj;
55
+ //$library_obj->print_array( $_POST );
56
+ $form_title = esc_html__('Default Form','ultimate-form-builder-lite');
57
+ $form_title = esc_html__('Default Form','ultimate-form-builder-lite');
58
+ $form_status = 1;
59
+ $form_detail = serialize( $library_obj->get_default_detail() );
60
+ $created_date = date( 'Y-m-d H:i:s:u' );
61
+ global $wpdb;
62
+ $check = $wpdb->insert(
63
+ UFBL_FORM_TABLE, array(
64
+ 'form_title' => $form_title,
65
+ 'form_detail' => $form_detail,
66
+ 'form_status' => $form_status,
67
+ 'form_created' => $created_date,
68
+ 'form_modified' => $created_date
69
+ ), array(
70
+ '%s', '%s', '%s', '%s', '%s'
71
+ )
72
+ );
73
+ return true;
74
+ }
75
+
76
  /**
77
  * Returns all the forms from the database
78
  * @return array
inc/cores/save-form.php CHANGED
@@ -71,6 +71,7 @@ date_default_timezone_set('UTC');
71
  * */
72
  global $wpdb;
73
  $_POST = stripslashes_deep($_POST);
 
74
  foreach ( $_POST as $key => $val ) {
75
  if ( $key == 'field_data' || $key == 'form_design' || $key == 'email_settings' ) {
76
  $$key = $val;
@@ -125,7 +126,6 @@ $form_data['form_design'] = $form_design;
125
  $form_data['email_settings'] = $email_settings;
126
  $form_data['form_key_count'] = $form_key_count;
127
  $form_modified_date = date( 'Y-m-d H:i:s:u' );
128
- //$library_obj->print_array( $form_data );
129
 
130
  $wpdb->update(
131
  UFBL_FORM_TABLE, array(
@@ -141,5 +141,4 @@ $wpdb->update(
141
  //$_SESSION['ufbl_message'] = __( 'Form Updated Successfully', 'ultimate-form-builder-lite' );
142
  $redirect_url = admin_url( 'admin.php?page=ufbl&action=edit-form&form_id=' . $form_id.'&message=1' );
143
  wp_redirect( $redirect_url );
144
- exit;
145
-
71
  * */
72
  global $wpdb;
73
  $_POST = stripslashes_deep($_POST);
74
+
75
  foreach ( $_POST as $key => $val ) {
76
  if ( $key == 'field_data' || $key == 'form_design' || $key == 'email_settings' ) {
77
  $$key = $val;
126
  $form_data['email_settings'] = $email_settings;
127
  $form_data['form_key_count'] = $form_key_count;
128
  $form_modified_date = date( 'Y-m-d H:i:s:u' );
 
129
 
130
  $wpdb->update(
131
  UFBL_FORM_TABLE, array(
141
  //$_SESSION['ufbl_message'] = __( 'Form Updated Successfully', 'ultimate-form-builder-lite' );
142
  $redirect_url = admin_url( 'admin.php?page=ufbl&action=edit-form&form_id=' . $form_id.'&message=1' );
143
  wp_redirect( $redirect_url );
144
+ exit;
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: contact form, form builder, form, forms, contact forms, enquiry forms, for
4
  Donate link: http://accesspressthemes.com/donation/
5
  Requires at least: 4.5
6
  Tested up to: 5.5
7
- Stable tag: 1.4.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -147,6 +147,10 @@ Once you install the plugin , you can check some general documentation about how
147
  10. Backend Entry Detail
148
 
149
  == Changelog ==
 
 
 
 
150
  = 1.4.7 =
151
  * Added widget Integration
152
 
4
  Donate link: http://accesspressthemes.com/donation/
5
  Requires at least: 4.5
6
  Tested up to: 5.5
7
+ Stable tag: 1.4.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
147
  10. Backend Entry Detail
148
 
149
  == Changelog ==
150
+ = 1.4.8 =
151
+ * Added Default form and fallback form.
152
+ * Set default fields on adding a form.
153
+
154
  = 1.4.7 =
155
  * Added widget Integration
156
 
ultimate-form-builder-lite.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Ultimate Form Builder Lite
4
  Plugin URI: https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder-lite/
5
  Description: A plugin to build any type of forms
6
- Version: 1.4.7
7
  Author: AccessPress Themes
8
  Author URI: http://accesspressthemes.com
9
  License: GPL2
@@ -16,7 +16,7 @@
16
  * Necessary Constants for plugin
17
  */
18
  global $wpdb;
19
- defined( 'UFBL_VERSION' ) or define( 'UFBL_VERSION', '1.4.7' ); //plugin version
20
  defined( 'UFBL_SLUG' ) or define( 'UFBL_SLUG', 'ufbl' ); //plugin admin slug
21
  defined( 'UFBL_TD' ) or define( 'UFBL_TD', 'ultimate-form-builder-lite' ); //plugin's text domain
22
  defined( 'UFBL_IMG_DIR' ) or define( 'UFBL_IMG_DIR', plugin_dir_url( __FILE__ ) . 'images' ); //plugin image directory
@@ -113,45 +113,45 @@ if ( !class_exists( 'UFBL_Class' ) ) {
113
  */
114
  add_action( 'template_redirect', array( $this, 'preview_form' ) );
115
  add_action( 'admin_init', array( $this, 'redirect_to_site' ), 1 );
116
- add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 );
117
  add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
118
  add_action( 'widgets_init', array($this, 'register_widget'));
119
  }
120
 
121
- function admin_footer_text( $text ){
122
- if ( isset( $_GET[ 'page' ] ) ){
123
- $link = 'https://wordpress.org/support/plugin/ultimate-form-builder-lite/reviews/#new-post';
124
- $pro_link = 'https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder/';
125
- if($_GET[ 'page' ] == 'ufbl' || $_GET['page'] == 'ufbl-new-form' || $_GET['page'] == 'ufbl-new-form' || $_GET['page'] =='ufbl-form-entries' || $_GET['page'] =='ufbl-how-to-use' || $_GET['page'] =='ufbl-about'){
126
- $text = 'Enjoyed Ultimate Form Builder Lite? <a href="' . $link . '" target="_blank">Please leave us a ★★★★★ rating</a> We really appreciate your support! | Try premium version of <a href="' . $pro_link . '" target="_blank">Ultimate Form Builder</a> - more features, more power!';
127
- }
128
- }
129
- return $text;
130
- }
131
-
132
- function redirect_to_site(){
133
- if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'ufbl-doclinks' ) {
134
- wp_redirect( 'https://accesspressthemes.com/documentation/ultimate-form-builder-lite/' );
135
- exit();
136
- }
137
- if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'ufbl-premium' ) {
138
- wp_redirect( 'https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder/' );
139
- exit();
140
- }
141
- }
142
-
143
- function plugin_row_meta( $links, $file ){
144
- if ( strpos( $file, 'ultimate-form-builder-lite.php' ) !== false ) {
145
- $new_links = array(
146
- 'demo' => '<a href="http://demo.accesspressthemes.com/wordpress-plugins/ultimate-form-builder-lite" target="_blank"><span class="dashicons dashicons-welcome-view-site"></span>Live Demo</a>',
147
- 'doc' => '<a href="https://accesspressthemes.com/documentation/ultimate-form-builder-lite/" target="_blank"><span class="dashicons dashicons-media-document"></span>Documentation</a>',
148
- 'support' => '<a href="http://accesspressthemes.com/support" target="_blank"><span class="dashicons dashicons-admin-users"></span>Support</a>',
149
- 'pro' => '<a href="https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder/" target="_blank"><span class="dashicons dashicons-cart"></span>Premium version</a>'
150
- );
151
- $links = array_merge( $links, $new_links );
152
- }
153
- return $links;
154
- }
155
 
156
  /**
157
  * Tasks to be done in init hook
@@ -161,6 +161,11 @@ if ( !class_exists( 'UFBL_Class' ) ) {
161
  function ufbl_init() {
162
  load_plugin_textdomain( 'ultimate-form-builder-lite', false, basename( dirname( __FILE__ ) ) . '/languages' ); //Loads plugin text domain for the translation
163
  do_action( 'ufbl_init' );
 
 
 
 
 
164
  }
165
 
166
  /**
@@ -174,8 +179,8 @@ if ( !class_exists( 'UFBL_Class' ) ) {
174
  add_submenu_page( UFBL_SLUG, __( 'How to use', 'ultimate-form-builder-lite' ), __( 'How to use', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-how-to-use', array( $this, 'how_to_use' ) );
175
  add_submenu_page( UFBL_SLUG, __( 'About', 'ultimate-form-builder-lite' ), __( 'About', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-about', array( $this, 'about' ) );
176
 
177
- add_submenu_page( UFBL_SLUG, __( 'Documentation','ultimate-form-builder-lite' ), __( 'Documentation', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-doclinks', '__return_false', null, 9 );
178
- add_submenu_page( UFBL_SLUG, __( 'Check Premium Version', 'ultimate-form-builder-lite' ), __( 'Check Premium Version', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-premium', '__return_false', null, 9 );
179
 
180
  }
181
 
@@ -340,6 +345,10 @@ if ( !class_exists( 'UFBL_Class' ) ) {
340
  if ( isset( $atts['form_id'] ) ) {
341
  $form_id = $atts['form_id'];
342
  $form_row = $this->model->get_form_row( $form_id );
 
 
 
 
343
  if ( $form_row != '' ) {
344
  if ( $form_row['form_status'] == 1 ) {
345
 
@@ -366,10 +375,10 @@ if ( !class_exists( 'UFBL_Class' ) ) {
366
  function generate_form( $form_row ) {
367
  $data['form_row'] = $form_row;
368
  ob_start();
369
- $this->library->load_view( 'frontend/front-form', $data );
370
- $form_html = ob_get_contents();
371
- ob_end_clean();
372
- //ob_end_flush();
373
  //ob_clean();
374
  return $form_html;
375
  }
@@ -453,12 +462,12 @@ if ( !class_exists( 'UFBL_Class' ) ) {
453
  function preview_form(){
454
  if(isset($_GET['ufbl_form_preview'],$_GET['ufbl_form_id']) && is_user_logged_in()){
455
 
456
- $current_user = wp_get_current_user();
457
- if (user_can( $current_user, 'administrator' )) {
458
  // user is an admin
459
- $this->library->load_view('frontend/preview-form');
460
- exit();
461
- }
462
 
463
  }
464
  }
@@ -479,12 +488,12 @@ if ( !class_exists( 'UFBL_Class' ) ) {
479
 
480
 
481
 
482
- function includes() {
483
- include(UFBL_PATH . 'inc/cores/widgets.php');
484
- }
485
 
486
- function register_widget() {
487
- register_widget('ufbl_widget');
488
  }
489
 
490
 
3
  Plugin Name: Ultimate Form Builder Lite
4
  Plugin URI: https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder-lite/
5
  Description: A plugin to build any type of forms
6
+ Version: 1.4.8
7
  Author: AccessPress Themes
8
  Author URI: http://accesspressthemes.com
9
  License: GPL2
16
  * Necessary Constants for plugin
17
  */
18
  global $wpdb;
19
+ defined( 'UFBL_VERSION' ) or define( 'UFBL_VERSION', '1.4.8' ); //plugin version
20
  defined( 'UFBL_SLUG' ) or define( 'UFBL_SLUG', 'ufbl' ); //plugin admin slug
21
  defined( 'UFBL_TD' ) or define( 'UFBL_TD', 'ultimate-form-builder-lite' ); //plugin's text domain
22
  defined( 'UFBL_IMG_DIR' ) or define( 'UFBL_IMG_DIR', plugin_dir_url( __FILE__ ) . 'images' ); //plugin image directory
113
  */
114
  add_action( 'template_redirect', array( $this, 'preview_form' ) );
115
  add_action( 'admin_init', array( $this, 'redirect_to_site' ), 1 );
116
+ add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 );
117
  add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
118
  add_action( 'widgets_init', array($this, 'register_widget'));
119
  }
120
 
121
+ function admin_footer_text( $text ){
122
+ if ( isset( $_GET[ 'page' ] ) ){
123
+ $link = 'https://wordpress.org/support/plugin/ultimate-form-builder-lite/reviews/#new-post';
124
+ $pro_link = 'https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder/';
125
+ if($_GET[ 'page' ] == 'ufbl' || $_GET['page'] == 'ufbl-new-form' || $_GET['page'] == 'ufbl-new-form' || $_GET['page'] =='ufbl-form-entries' || $_GET['page'] =='ufbl-how-to-use' || $_GET['page'] =='ufbl-about'){
126
+ $text = 'Enjoyed Ultimate Form Builder Lite? <a href="' . $link . '" target="_blank">Please leave us a ★★★★★ rating</a> We really appreciate your support! | Try premium version of <a href="' . $pro_link . '" target="_blank">Ultimate Form Builder</a> - more features, more power!';
127
+ }
128
+ }
129
+ return $text;
130
+ }
131
+
132
+ function redirect_to_site(){
133
+ if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'ufbl-doclinks' ) {
134
+ wp_redirect( 'https://accesspressthemes.com/documentation/ultimate-form-builder-lite/' );
135
+ exit();
136
+ }
137
+ if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'ufbl-premium' ) {
138
+ wp_redirect( 'https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder/' );
139
+ exit();
140
+ }
141
+ }
142
+
143
+ function plugin_row_meta( $links, $file ){
144
+ if ( strpos( $file, 'ultimate-form-builder-lite.php' ) !== false ) {
145
+ $new_links = array(
146
+ 'demo' => '<a href="http://demo.accesspressthemes.com/wordpress-plugins/ultimate-form-builder-lite" target="_blank"><span class="dashicons dashicons-welcome-view-site"></span>Live Demo</a>',
147
+ 'doc' => '<a href="https://accesspressthemes.com/documentation/ultimate-form-builder-lite/" target="_blank"><span class="dashicons dashicons-media-document"></span>Documentation</a>',
148
+ 'support' => '<a href="http://accesspressthemes.com/support" target="_blank"><span class="dashicons dashicons-admin-users"></span>Support</a>',
149
+ 'pro' => '<a href="https://accesspressthemes.com/wordpress-plugins/ultimate-form-builder/" target="_blank"><span class="dashicons dashicons-cart"></span>Premium version</a>'
150
+ );
151
+ $links = array_merge( $links, $new_links );
152
+ }
153
+ return $links;
154
+ }
155
 
156
  /**
157
  * Tasks to be done in init hook
161
  function ufbl_init() {
162
  load_plugin_textdomain( 'ultimate-form-builder-lite', false, basename( dirname( __FILE__ ) ) . '/languages' ); //Loads plugin text domain for the translation
163
  do_action( 'ufbl_init' );
164
+
165
+ $forms = $this->model->get_all_forms();
166
+ if(count($forms) == 0){
167
+ $this->model->add_default_form();
168
+ }
169
  }
170
 
171
  /**
179
  add_submenu_page( UFBL_SLUG, __( 'How to use', 'ultimate-form-builder-lite' ), __( 'How to use', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-how-to-use', array( $this, 'how_to_use' ) );
180
  add_submenu_page( UFBL_SLUG, __( 'About', 'ultimate-form-builder-lite' ), __( 'About', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-about', array( $this, 'about' ) );
181
 
182
+ add_submenu_page( UFBL_SLUG, __( 'Documentation','ultimate-form-builder-lite' ), __( 'Documentation', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-doclinks', '__return_false', null, 9 );
183
+ add_submenu_page( UFBL_SLUG, __( 'Check Premium Version', 'ultimate-form-builder-lite' ), __( 'Check Premium Version', 'ultimate-form-builder-lite' ), 'manage_options', 'ufbl-premium', '__return_false', null, 9 );
184
 
185
  }
186
 
345
  if ( isset( $atts['form_id'] ) ) {
346
  $form_id = $atts['form_id'];
347
  $form_row = $this->model->get_form_row( $form_id );
348
+ if ( $form_row == '' ) {
349
+ $form_row = $this->model->get_form_row('1');
350
+ }
351
+
352
  if ( $form_row != '' ) {
353
  if ( $form_row['form_status'] == 1 ) {
354
 
375
  function generate_form( $form_row ) {
376
  $data['form_row'] = $form_row;
377
  ob_start();
378
+ $this->library->load_view( 'frontend/front-form', $data );
379
+ $form_html = ob_get_contents();
380
+ ob_end_clean();
381
+ //ob_end_flush();
382
  //ob_clean();
383
  return $form_html;
384
  }
462
  function preview_form(){
463
  if(isset($_GET['ufbl_form_preview'],$_GET['ufbl_form_id']) && is_user_logged_in()){
464
 
465
+ $current_user = wp_get_current_user();
466
+ if (user_can( $current_user, 'administrator' )) {
467
  // user is an admin
468
+ $this->library->load_view('frontend/preview-form');
469
+ exit();
470
+ }
471
 
472
  }
473
  }
488
 
489
 
490
 
491
+ function includes() {
492
+ include(UFBL_PATH . 'inc/cores/widgets.php');
493
+ }
494
 
495
+ function register_widget() {
496
+ register_widget('ufbl_widget');
497
  }
498
 
499