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

Version Description

  • Fixed: Error with 1.3.1 Lite release
Download this release

Release Info

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

Code changes from version 1.3.1 to 1.3.1.1

Files changed (2) hide show
  1. readme.txt +3 -0
  2. wpforms.php +297 -426
readme.txt CHANGED
@@ -163,6 +163,9 @@ Syed Balkhi
163
 
164
  == Changelog ==
165
 
 
 
 
166
  = 1.3.1 =
167
  - Added: Smart Tags for author ID, email, and name
168
  - Added: Carbon Copy (CC) support for form notifications; enable in WPForms Settings
163
 
164
  == Changelog ==
165
 
166
+ = 1.3.1.1 =
167
+ - Fixed: Error with 1.3.1 Lite release
168
+
169
  = 1.3.1 =
170
  - Added: Smart Tags for author ID, email, and name
171
  - Added: Carbon Copy (CC) support for form notifications; enable in WPForms Settings
wpforms.php CHANGED
@@ -1,426 +1,297 @@
1
- === Contact Form by WPForms - Drag & Drop Form Builder for WordPress ===
2
- Contributors: wpforms, jaredatch, smub
3
- Tags: contact form, contact form plugin, contact button, contact me, custom form, custom contact form, form builder, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, feedback form, payment form, survey form, donation form, email submit form, message form, mailchimp, mailchimp form, aweber, aweber form, paypal, paypal form, stripe, stripe form, getresponse, getresponse form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form
4
- Requires at least: 4.5
5
- Tested up to: 4.7
6
- Stable tag: trunk
7
- License: GNU General Public License v2.0 or later
8
-
9
- The best WordPress contact form plugin. Drag & Drop online form builder that helps you create beautiful contact forms with just a few clicks.
10
-
11
- == Description ==
12
-
13
- = WordPress Contact Form Plugin =
14
-
15
- We believe that you shouldn't have to hire a developer to create a WordPress contact form. That's why we built <a href="https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend" title="WPForms">WPForms</a>, a drag & drop WordPress form builder that's EASY and POWERFUL.
16
-
17
- WPForms allow you to create beautiful contact forms, subscription forms, payment forms, and other type of forms for your site in minutes, not hours!
18
-
19
- At WPForms, user experience is our #1 priority. Our pre-built form templates and workflows make WPForms the most beginner friendly contact form plugin in the market.
20
-
21
- WPForms is 100% mobile responsive, so your forms will always look great on all devices (mobile, tablet, laptop, and desktop).
22
-
23
- WPForms is also highly optimized for web and server performance because we understand the importance of speed when it comes to SEO and conversion. We can honestly say that WPForms is one of the fastest WordPress forms plugin available.
24
-
25
- > <strong>WPForms Pro</strong><br />
26
- > This plugin is the lite version of the WPForms Pro plugin that comes with all the form features you will ever need including email subscription forms, multi-page forms, file uploads, conditional logic, payment integrations, form templates, and tons more. <a href="https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend" title="WPForms">Click here to purchase the best premium WordPress contact form plugin now!</a>
27
-
28
- We took the pain out of creating online forms and made it easy. Here's why smart business owners, designers, and developers love WPForms, and you will too!
29
-
30
- https://www.youtube.com/watch?v=eiQ3viAGung&rel=0
31
-
32
- = Drag & Drop Online Form Builder =
33
-
34
- We were tired of the bloated and buggy contact form plugins. That's why we built WPForms to adapt to your workflow and allow you to create custom online forms in minutes. By using our easy to use <a href="https://wpforms.com/features/drag-drop-online-form-builder/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">drag and drop online form builder</a>, you can easy add custom form fields, rearrange them, and basically create a complete form in 5 minutes or less.
35
-
36
- But don't just take our word. See what one of the WordPress experts are saying:
37
-
38
- > WPForms is by far the <strong>easiest form plugin to use</strong>. My clients love it it’s one of the few plugins they can use without any training. As a developer I appreciate how fast, modern, clean and extensible it is.<br>
39
- > Bill Erickson - Expert WordPress Consultant
40
-
41
- = Pre-built Form Templates =
42
-
43
- Building forms in WordPress can be time consuming. Why?
44
-
45
- Because every other WordPress contact form plugin requires you to build your form from scratch. The truth is it’s often not necessary to create a form completely from scratch unless you really want to.
46
-
47
- Whether you’re looking to create a simple contact form, request a quote form, donation form, payment order form, or a subscription form, we have a form template for you.
48
-
49
- WPForms comes with <a href="https://wpforms.com/features/form-templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">pre-built form templates</a> to help you save time. You can add, remove, or re-arrange fields as necessary.
50
-
51
- = Mobile Ready, SEO Friendly and Optimized for Speed =
52
-
53
- WPForms is 100% responsive and mobile-friendly by default. We also optimized every query on the front-end and the back-end to ensure maximum speed - Yes, WPForms is one of the fastest WordPress contact form plugin.
54
-
55
- You can embed your forms on any page with optimized title and description. With the speed and proper formatting, WPForms is also one of the most SEO friendly forms plugin.
56
-
57
- = All the Fields & Features that You Need to Succeed =
58
-
59
- From radio buttons to file uploads to multi-page forms, we have all the fields you need.
60
-
61
- You can easily integrate your forms with an email marketing service or collect payments for bookings and orders. WPForms allows you to do it all.
62
-
63
- The best part is, you can do it all without hiring a developer.
64
-
65
- See what one business owner has to say about WPForms:
66
-
67
- >As a business owner, time is my most valuable asset. WPForms allow me to create smart online forms with just a few clicks. With their pre-built form templates and the drag & drop builder, I can create a new form that works in less than 2 minutes without writing a single line of code. Well worth the investment.<br>
68
- > David Henzel - Co-founder of MaxCDN
69
-
70
- = Easy to Customize and Extend =
71
-
72
- You can easily customize your WPForms with our section dividers, HTML blocks, an custom CSS.
73
-
74
- We also knew that our developer friends may want to extend it further. That's why WPForms come with tons of hooks and filters to create custom functionality.
75
-
76
- = Full WPForms Feature List =
77
-
78
- * <a href="https://wpforms.com/features/drag-drop-online-form-builder/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Online Form Builder</a> - Our powerful drag & drop online form builder allows you to easily create WordPress contact forms and other online forms in just a few minutes without writing any code.
79
- * 100% Responsive - Mobile Friendly
80
- * <a href="https://wpforms.com/features/form-templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Form Templates</a> - Use our pre-built form templates to save time. Never start from scratch again.
81
- * <a href="https://wpforms.com/features/spam-protection/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Spam Protection</a> - WPForms utilizes smart CAPTCHA and Honeypot method to stop spam form submissions.
82
- * <a href="https://wpforms.com/features/instant-notifications/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Instant Form Notification</a> - Quickly respond to incoming inquiries with our instant form notification system.
83
- * <a href="https://wpforms.com/features/form-confirmation/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Smart Form Confirmation</a> - Show a custom success message, or redirect users to a custom thank you page.
84
- * <a href="https://wpforms.com/features/file-uploads/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">File Uploads</a> - Collect files and media through your online forms with File Uploads.
85
- * <a href="https://wpforms.com/features/multi-page-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Multi-Page Forms</a> - Split long forms into multiple pages to improve user experience.
86
- * <a href="https://wpforms.com/addons/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">MailChimp Forms</a> - Create MailChimp newsletter signup forms in WordPress to grow your email list.
87
- * <a href="https://wpforms.com/addons/aweber-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">AWeber Forms</a> - Create AWeber newsletter signup forms in WordPress to grow your email list.
88
- * <a href="https://wpforms.com/addons/campaign-monitor-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Campaign Monitor Forms</a> - Create Campaign Monitor newsletter signup forms in WordPress to grow your email list.
89
- * <a href="https://wpforms.com/addons/getresponse-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">GetResponse Forms</a> - Create GetResponse newsletter signup forms in WordPress to grow your email list.
90
- * <a href="https://wpforms.com/addons/paypal-standard-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">PayPal Payment Forms</a> - Create PayPal forms to easily collect payments, donations, and online orders.
91
- * <a href="https://wpforms.com/addons/stripe-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Stripe Forms</a> - Easily collect payments, donations, and online orders with our Stripe addon.
92
- * <a href="https://wpforms.com/addons/user-registration-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">User Registration Forms</a> - Create custom WordPress user registration form.
93
- * <a href="https://wpforms.com/addons/conditional-logic-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Smart Conditional Logic</a> - Show or hide fields and form sections based on user behavior.
94
- * <a href="https://wpforms.com/addons/geolocation-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Geolocation</a> - Display location information about your users.
95
- * <a href="https://wpforms.com/addons/custom-catpcha-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Custom Captchas</a> - Create custom captchas for your forms.
96
- * Want us to add something else? Suggest a feature and we'll get it added!
97
-
98
- After reading this feature list, you can probably imagine why WPForms is the best WordPress forms plugin in the market.
99
-
100
- Give WPForms a try.
101
-
102
- Want to unlock more features? <a href="https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend" title="WPForms">Upgrade to our Pro version</a>.
103
-
104
-
105
- = Credits =
106
-
107
- This plugin is created by <a href="http://www.jaredatchison.com/" rel="friend" title="Jared Atchison">Jared Atchison</a> and <a href="https://syedbalkhi.com/" rel="friend" title="Syed Balkhi">Syed Balkhi</a>.
108
-
109
- = What's Next =
110
-
111
- If you like this plugin, then consider checking out our other projects:
112
-
113
- * <a href="http://optinmonster.com/" rel="friend" title="OptinMonster">OptinMonster</a> - Get More Email Subscribers
114
- * <a href="http://soliloquywp.com/" rel="friend" title="Soliloquy">Soliloquy</a> - Best WordPress Slider Plugin
115
- * <a href="http://enviragallery.com/" rel="friend" title="Envira Gallery">Envira Gallery</a> - Best WordPress Gallery Plugin
116
-
117
- Visit <a href="http://www.wpbeginner.com/" rel="friend" title="WPBeginner">WPBeginner</a> to learn from our <a href="http://www.wpbeginner.com/category/wp-tutorials/" rel="friend" title="WordPress Tutorials">WordPress Tutorials</a> and find out about other <a href="http://www.wpbeginner.com/category/plugins/" rel="friend" title="Best WordPress Plugins">best WordPress plugins</a>.
118
-
119
-
120
- == Installation ==
121
-
122
- 1. Install WPForms Lite either via the WordPress.org plugin repository or by uploading the files to your server. (See instructions on <a href="http://www.wpbeginner.com/beginners-guide/step-by-step-guide-to-install-a-wordpress-plugin-for-beginners/" rel="friend">how to install a WordPress plugin</a>)
123
- 2. Activate WPForms Lite.
124
- 3. Navigate to the WPForms tab at the bottom of your admin menu and click the "Add New" button to begin creating your new WordPress contact form.
125
- 4. Want more features? <a href="https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend" title="WPForms">Purchase the full version of WPForms</a>!
126
-
127
- == Screenshots ==
128
-
129
- 1. WPForms Drag & Drop Online Form Builder
130
- 2. WPForms Form Preview
131
-
132
- == Frequently Asked Questions ==
133
-
134
- = I'd like access to all features. How can I get them? =
135
-
136
- You can get access to more features, Addons and support by <a href="https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend" title="Click here to learn more about WPForms!">visiting the WPForms website and purchasing a support license</a>. Purchasing a support license gets you access to the full version of WPForms, automatic updates and support, and depending on the level of support license, you can even get exclusive access to WPForms Addons!
137
-
138
- = Who should use WPForms? =
139
-
140
- WPForms is perfect for business owners, bloggers, designers, developers, photographers, and basically everyone else. If you want to create a custom WordPress form, then you need to use WPForms.
141
-
142
- = Do I need to have coding skills to use WPForms? =
143
-
144
- Absolutely not. You can create and manage forms without any coding knowledge. WPForms is the most beginner friendly contact form solution in the market.
145
-
146
- = Is WPForms translation ready? =
147
-
148
- Yes, WPForms has full translation and localization support via the wpforms textdomain. All .mo and .po translation files should go into the languages folder in the base of the plugin. The same is true for every WPForms Addon as well.
149
-
150
- == Notes ==
151
-
152
- WPForms is absolutely, positively the most <a href="https://wpforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend" title="Best WordPress contact form plugin">beginner friendly WordPress contact form plugin</a> on the market. It is both easy and powerful.
153
-
154
- We took the pain out of creating online forms and made it easy. Check out all <a href="https://wpforms.com/features/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">WPForms features</a>.
155
-
156
- Also, I'm the founder of <a href="http://www.wpbeginner.com/" rel="friend">WPBeginner</a>, the largest WordPress resource site for beginners. It was a huge priority for me to make a WordPress contact form plugin that beginners can use without any training.
157
-
158
- I feel that we have done that here. I hope you enjoy using WPForms.
159
-
160
- Thank you
161
-
162
- Syed Balkhi
163
-
164
- == Changelog ==
165
-
166
- = 1.3.1 =
167
- - Added: Smart Tags for author ID, email, and name
168
- - Added: Carbon Copy (CC) support for form notifications; enable in WPForms Settings
169
- - Fixed: Field duplication issues
170
- - Fixed: TinyMCE "Add Form" button not opening modal with dynamic TinyMCE instances
171
- - Fixed: Email formatting issues when using plain text formatting
172
- - Fixed: Number field validation tripping when number submitted is zero
173
- - Fixed: reCAPTCHA validation passing when reCAPTCHA left blank
174
- - Fixed: Dropdown field size not reflecting in builder
175
-
176
- = 1.3.0 =
177
- - Added: Email field confirmantion
178
- - Added: Support for Visual Composer
179
- - Added: Field class to force elements to full-width on mobile devices, `wpforms-mobile-full`
180
- - Changed: Placeholders are added/updated in real-time for Dropdown fields in the form builder
181
- - Changed: Add empty value to select element placeholders when displaying form for better markup validation
182
- - Fixed: Multiple instances of reCAPTCHA on a page not correctly loading
183
- - Fixed: Field choice defaults not restoring in form builder
184
- - Fixed: Field alignment issues in the form builder when dragging field more than once
185
- - Fixed: PHP fatal erroring if form notification email address provided is not valid upon sending
186
- - Fixed: Compatibility issuses when network activated on a Multisite install
187
-
188
- = 1.2.9 =
189
- - Added: Individual fields can be duplicated in the form builder
190
- - Changed: How data is stored for fields using Dynanic Choices
191
- - Fixed: Global assets setting causing errors in some cases
192
- - Fixed: Writing setting ("correct invalidly nested XHTML") breaking forms containing HTML
193
- - Fixed: Forms being displayed/included on the native WordPress Export page
194
- - Fixed: Dynamic Choices erroring when used with Post Types
195
- - Fixed: Form labels including blank IDs
196
-
197
- = 1.2.8.1 =
198
- - Fixed: Form javascript email validation being too strict (introducted in 1.2.8)
199
-
200
- = 1.2.8 =
201
- - Added: Dynamic choice feature for Dropdown, Multiple Choice, and Checkbox fields
202
- - Changed: Loading order of templates and field classes - moved to `init`
203
- - Changed: Form javascript email validation requires domain TLD to pass
204
- - Fixed: HTML email notification templates uses site locale text-direction
205
- - Fixed: Javascript in the form builder conflicting with certain locales
206
-
207
- = 1.2.7 =
208
- - Added: Store intial plugin activation date
209
- - Added: Duplicate form submit protection
210
- - Fixed: Strip slashes from entry data before processing
211
-
212
- = 1.2.6 =
213
- - Added: Miscellaneous internal improvements
214
- - Fixed: Incorrectly named variables in the front-end javascript preventing features from properly being extendable
215
-
216
- = 1.2.5.1 =
217
- - Fixed: Removed duplicate Settings page title
218
-
219
- = 1.2.5 =
220
- - Added: Setting for Email template background color
221
- - Added: Form setting for form wrapper CSS class
222
- - Changed: Multiple Payment field stores Choice label text
223
- - Changed: reCAPTCHA tweaks and added filter
224
- - Changed: Improved IP detection
225
- - Fixed: Mapped select fields in builder triggered JS error
226
-
227
- = 1.2.4.1 =
228
- - Fixed: Plugin settings page not correctly showing
229
-
230
- = 1.2.4 =
231
- - Added: Additional logging and error reporting
232
- - Changed: Footer asset detection priority, for improved capatibility with other services
233
- - Changed: Refactored and refined front-end javascript
234
- - Fixed: Rogue PHP notices
235
-
236
- = 1.2.3.2 =
237
- - Fixed: Default field validation considered 0 as empty
238
-
239
- = 1.2.3.1 =
240
- - Fixed: Blank form email notification defaults
241
-
242
- = 1.2.3 =
243
- - Added: Form notification message setting
244
- - Added: Additional Smart Tags available inside Form Settings panels
245
- - Added: Process Smart Tags inside form confirmation messages and URLs
246
- - Added: Hide WPForms Preview page from WordPress dashboard
247
- - Added: System Details tab to WPForms Settings, to display debug information, etc
248
- - Changed: Many form builder javascript improvements
249
- - Changed: Improved internal logging and debugging tools
250
- - Fixed: Large forms not always saving because of max_input_vars PHP setting
251
-
252
- = 1.2.2.2 =
253
- - Fixed: Javascript asset not loading due to incorrect path
254
-
255
- = 1.2.2.1 =
256
- - Fixed: Form select inside modal window overflowing when a form exists with a long title
257
-
258
- = 1.2.2 =
259
- - Changed: Choice Layouts now use flexbox instead of CSS columns for better rendering
260
- - Fixed: Class name typo in a CSS column class introduced with 1.2.1
261
- - Fixed: PHP notice on Entries page when there are no forms
262
-
263
- = 1.2.1 =
264
- * Added: Drag and drop field buttons - simply drag the desired field to the form!
265
- * Added: Choice Layout option for Checkboxes and Multiple Choice fields (under Advanced Options)
266
- * Added: Full and expanded column class/grid support
267
- * Changed: Refactored CSS column classes, previous classes are deprecated
268
- * Fixed: Form ending with column classes not closing correctly
269
- * Fixed: reCAPTCHA button overlaying submit button preventing it from being clicked
270
-
271
- = 1.2.0.1 =
272
- * Changed: Improved field and column gutter consistency
273
-
274
- = 1.2.0 =
275
- * Added: Form preview
276
- * Added: Column classes for Checkbox and Multiple choice inputs
277
- * Changed: Some fields did not have the correct (unique) CSS ID, this has been corrected, which means custom styling may need to be adjusted
278
- * Changed: Removed nonce verification
279
-
280
- = 1.1.8.4 =
281
- * Changed: Form notification settings hide if set to Off
282
-
283
- = 1.1.8.3 =
284
- * Fixed: Issue with submit button position when form ends with columns classes
285
-
286
- = 1.1.8.2 =
287
- * Changed: reCAPTCHA settings description to include link to how-to article
288
-
289
- = 1.1.8.1 =
290
- * Fixed: PHP warnings inside the form builder
291
-
292
- = 1.1.8 =
293
- * Changed: Moved email related settings into email settings group
294
-
295
- = 1.1.7.2 =
296
- * Added: "WPForm" to new-content admin bar menu item
297
-
298
- = 1.1.7.1 =
299
- * Changed: Removed "New" field name prefix
300
-
301
- = 1.1.7 =
302
- * Added: Smart Tag for Dropdown/Multiple choice raw values, allowing for conditional email addres notifications (https://wpforms.com/docs/how-to-create-conditional-form-notifications-in-wpforms)
303
- * Added: Three column CSS field classes (https://wpforms.com/docs/how-to-create-multi-column-form-layouts-in-wpforms/)
304
- * Changed: Checkbox/Multiple Choice fields allow certain HTML to display in choice labels
305
-
306
- = 1.1.6.1 =
307
- * Added: Support for WordPress Zero Spam plugin (https://wordpress.org/plugins/zero-spam/)
308
- * Fixed: Issue when stacking fields with 2 column classes
309
-
310
- = 1.1.5.3 =
311
- * Changed: Email Header Image setting description to include recommended sizing
312
-
313
- = 1.1.5.2 =
314
- * Fixed: reCAPTCHA cutting off with full form theme
315
-
316
- = 1.1.5.1 =
317
- * Fixed: Debug output from wpforms.js
318
-
319
- = 1.1.5 =
320
- * Changed: HTML Email template footer text appearance
321
-
322
- = 1.1.4.2 =
323
- * Fixed: HTML emails not displaying correctly in Thunderbird
324
-
325
- = 1.1.4.1 =
326
- * Fixed: Form builder textareas not displaying full width
327
-
328
- = 1.1.4 =
329
- * Added: Form general setting for "Submit Button CSS Class"
330
- * Added: Duplicate forms from the Forms Overview page (All Forms)
331
- * Changed: Adjusted field display inside the Form Builder to better resemble full theme
332
- * Fixed: Don't allow inserting shortcode via modal if there are no forms
333
- * Fixed: Error when deleting a form
334
-
335
- = 1.1.3.2 =
336
- * Added: Suggestion form template
337
-
338
- = 1.1.3.1 =
339
- * Fixed: Form base theme CSS compatibility issue with Firefox
340
-
341
- = 1.1.3 =
342
- * Added: New class that handles sending/processing emails
343
- * Added: Form notification setting for "From Address", defaults to site administrator's email address
344
- * Added: HTML email template for sleek emails (enabled by default, see more below)
345
- * Added: General setting to configure email notification format
346
- * Added: General setting to optionally configure email notification header image
347
- * Changed: Default email notification format is now HTML, can go back to plain text format via option on WPForms > Settings page
348
- * Changed: Empty fields are no longer included in email notifications
349
- * Fixed: Issue with Checkbox field when empty
350
-
351
- = 1.1.2 =
352
- * Added: Form option to scroll page to form after submit, defaults on for new forms
353
- * Changed: Revamped "Full" form theme to be more consistent across different themes, browsers, and devices
354
- * Changed: Full theme and bare theme separated
355
-
356
- = 1.1.1.1 =
357
- * Changed: Upgrade information
358
-
359
- = 1.1.1 =
360
- * Fixed: Settings page typo
361
-
362
- = 1.1 =
363
- * Changed: CSS updates to improve compatibility
364
- * Fixed: PHP notices when saving plugin Settings
365
-
366
- = 1.0.9 =
367
- * Changed: Email field required by default
368
-
369
- = 1.0.8 =
370
- * Fixed: Name field setting always showing Required
371
- * Fixed: Debug function incorrectly requiring WP_DEBUG
372
-
373
- = 1.0.7 =
374
- * Changed: CSS tweaks
375
- * Fixed: Filter (wpforms_manage_cap) incorrectly named in some instances
376
-
377
- = 1.0.6 =
378
- * Added: Embed button inside the Form Builder
379
- * Added: Basic two column CSS class support
380
- * Added: French translation
381
- * Changed: Form names are no longer required, if no form name is provided the template name is used
382
- * Changed: Inputmask script, for better broad device support
383
- * Changed: Field specific assets are now conditionally loaded
384
- * Changed: CSS tweaks for form display
385
- * Fixed: Issue with Date/Time field
386
- * Fixed: Issue Address field preventing Country select from hiding in some configurations
387
- * Fixed: Localization string errors
388
-
389
- = 1.0.5 =
390
- * Changed: Checkboxes/Dropdown/Multiple Choice fields always show choice label value in e-mail notifications
391
- * Fixed: PHP notices inside the Form Builder
392
- * Fixed: Typo inside Form Builder tooltip
393
-
394
- = 1.0.4.2 =
395
- * Changed: Removed files not needed for WordPress.org release [Lite]
396
-
397
- = 1.0.4.1 =
398
- * Added: Check for TinyMCE in the builder before triggering TinyMCE save
399
- * Fixed: Sub labels showing when configured to hide
400
- * Fixed: Forms pagination number screen setting not saving
401
- * Fixed: Email notification setting always displaying "On"
402
-
403
- = 1.0.4 =
404
- * Changed: Improved marketing provider conditional logic
405
- * Changed: Addons page [Lite]
406
- * Fixed: Variable assignment in the builder
407
-
408
- = 1.0.3 =
409
- * Added: Basic TinyMCE editor for form confirmation messages
410
- * Changed: Removed form ID from form overview table, ID still visible in shortcode column
411
- * Fixed: Checkbox/radio form elements alignment
412
- * Fixed: Quotation slashes in email notification text
413
- * Fixed: SSL verification preventing proper API calls on some servers
414
-
415
- = 1.0.2 =
416
- * Added: Widget to display form
417
- * Added: Function to display form, `wpforms_display( $form_id )`
418
- * Changed: Default notification settings for Contact form template
419
- * Changed: Success message styling for full form theme
420
-
421
- = 1.0.1 =
422
- * Added: "From Name" and "Reply To" Setting>Notification fields
423
- * Added: Smart Tags feature to all Setting>Notification fields
424
-
425
- = 1.0.0 =
426
- * Initial release.
1
+ <?php
2
+ /**
3
+ * Plugin Name: WPForms
4
+ * Plugin URI: https://wpforms.com
5
+ * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
+ * Author: WPForms
7
+ * Author URI: https://wpforms.com
8
+ * Version: 1.3.1.1
9
+ * Text Domain: wpforms
10
+ * Domain Path: languages
11
+ *
12
+ * WPForms is free software: you can redistribute it and/or modify
13
+ * it under the terms of the GNU General Public License as published by
14
+ * the Free Software Foundation, either version 2 of the License, or
15
+ * any later version.
16
+ *
17
+ * WPForms is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU General Public License
23
+ * along with WPForms. If not, see <http://www.gnu.org/licenses/>.
24
+ *
25
+ * @package WPForms
26
+ * @author WPForms
27
+ * @since 1.0.0
28
+ * @license GPL-2.0+
29
+ * @copyright Copyright (c) 2016, WPForms LLC
30
+ */
31
+
32
+ // Exit if accessed directly
33
+ if ( ! defined( 'ABSPATH' ) ) exit;
34
+
35
+ // Don't allow multiple versions to be active
36
+ if ( class_exists( 'WPForms' ) ) :
37
+
38
+ /**
39
+ * Deactivate if WPForms already activated.
40
+ *
41
+ * @since 1.0.0
42
+ */
43
+ function wpforms_deactivate() {
44
+ deactivate_plugins( plugin_basename( __FILE__ ) );
45
+ }
46
+ add_action( 'admin_init', 'wpforms_deactivate' );
47
+
48
+ /**
49
+ * Display notice after deactivation.
50
+ *
51
+ * @since 1.0.0
52
+ */
53
+ function wpforms_lite_notice() {
54
+ echo '<div class="notice notice-warning"><p>' . __( 'Please deactivate WPForms Lite before activating WPForms', 'wpforms' ) . '</p></div>';
55
+ if ( isset( $_GET['activate'] ) )
56
+ unset( $_GET['activate'] );
57
+ }
58
+ add_action( 'admin_notices', 'wpforms_lite_notice' );
59
+
60
+ else :
61
+
62
+ /**
63
+ * Main WPForms class.
64
+ *
65
+ * @since 1.0.0
66
+ * @package WPForms
67
+ */
68
+ final class WPForms {
69
+
70
+ /**
71
+ * One is the loneliest number that you'll ever do.
72
+ *
73
+ * @since 1.0.0
74
+ * @var object
75
+ */
76
+ private static $instance;
77
+
78
+ /**
79
+ * Plugin version for enqueueing, etc.
80
+ *
81
+ * @since 1.0.0
82
+ * @var sting
83
+ */
84
+ public $version = '1.3.1.1';
85
+
86
+ /**
87
+ * The form data handler instance.
88
+ *
89
+ * @var object WPForms_Form_Handler
90
+ * @since 1.0.0
91
+ */
92
+ public $form;
93
+
94
+ /**
95
+ * The entry data handler instance (Pro).
96
+ *
97
+ * @var object WPForms_Entry_Handler
98
+ * @since 1.0.0
99
+ */
100
+ public $entry;
101
+
102
+ /**
103
+ * The entry meta data handler instance (Pro).
104
+ *
105
+ * @var object WPForms_Entry_Meta_Handler
106
+ * @since 1.1.6
107
+ */
108
+ public $entry_meta;
109
+
110
+ /**
111
+ * The front-end instance.
112
+ *
113
+ * @var object WPForms_Frontend
114
+ * @since 1.0.0
115
+ */
116
+ public $frontend;
117
+
118
+ /**
119
+ * The process instance.
120
+ *
121
+ * @var object WPForms_Process
122
+ * @since 1.0.0
123
+ */
124
+ public $process;
125
+
126
+ /**
127
+ * The smart tags instance.
128
+ *
129
+ * @var object WPForms_Smart_Tags
130
+ * @since 1.0.0
131
+ */
132
+ public $smart_tags;
133
+
134
+ /**
135
+ * The Logging instance.
136
+ *
137
+ * @var object WPForms_Logging
138
+ * @since 1.0.0
139
+ */
140
+ public $logs;
141
+
142
+ /**
143
+ * The Preview instance.
144
+ *
145
+ * @var object WPForms_Preview
146
+ * @since 1.1.9
147
+ */
148
+ public $preview;
149
+
150
+ /**
151
+ * The License class instance (Pro).
152
+ *
153
+ * @var object WPForms_License
154
+ * @since 1.0.0
155
+ */
156
+ public $license;
157
+
158
+ /**
159
+ * Main WPForms Instance.
160
+ *
161
+ * Insures that only one instance of WPForms exists in memory at any one
162
+ * time. Also prevents needing to define globals all over the place.
163
+ *
164
+ * @since 1.0.0
165
+ * @return WPForms
166
+ */
167
+ public static function instance() {
168
+
169
+ if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WPForms ) ) {
170
+
171
+ self::$instance = new WPForms;
172
+ self::$instance->constants();
173
+ self::$instance->load_textdomain();
174
+ self::$instance->includes();
175
+
176
+ // Load Pro or Lite specific files
177
+ if ( file_exists( WPFORMS_PLUGIN_DIR . 'pro/wpforms-pro.php' ) ) {
178
+ require_once WPFORMS_PLUGIN_DIR . 'pro/wpforms-pro.php';
179
+ } else {
180
+ require_once WPFORMS_PLUGIN_DIR . 'lite/wpforms-lite.php';
181
+ }
182
+
183
+ add_action( 'plugins_loaded', array( self::$instance, 'objects' ), 10 );
184
+ }
185
+ return self::$instance;
186
+ }
187
+
188
+ /**
189
+ * Include files.
190
+ *
191
+ * @since 1.0.0
192
+ */
193
+ private function includes() {
194
+
195
+ // Global includes
196
+ require_once WPFORMS_PLUGIN_DIR . 'includes/functions.php';
197
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-install.php';
198
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-form.php';
199
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-fields.php';
200
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-frontend.php';
201
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-templates.php';
202
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-process.php';
203
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-smart-tags.php';
204
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-logging.php';
205
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-widget.php';
206
+ require_once WPFORMS_PLUGIN_DIR . 'includes/class-preview.php';
207
+ require_once WPFORMS_PLUGIN_DIR . 'includes/emails/class-emails.php';
208
+ require_once WPFORMS_PLUGIN_DIR . 'includes/integrations.php';
209
+
210
+ // Admin/Dashboard only includes
211
+ if ( is_admin() ) {
212
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/class-menu.php';
213
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/overview/class-overview.php';
214
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/builder/class-builder.php';
215
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/builder/functions.php';
216
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/class-welcome.php';
217
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/class-editor.php';
218
+ require_once WPFORMS_PLUGIN_DIR . 'includes/admin/ajax-actions.php';
219
+ }
220
+ }
221
+
222
+ /**
223
+ * Setup objects.
224
+ *
225
+ * @since 1.0.0
226
+ */
227
+ public function objects() {
228
+
229
+ // Global objects
230
+ $this->form = new WPForms_Form_Handler;
231
+ $this->frontend = new WPForms_Frontend;
232
+ $this->process = new WPForms_Process;
233
+ $this->smart_tags = new WPForms_Smart_Tags;
234
+ $this->logs = new WPForms_Logging;
235
+ $this->preview = new WPForms_Preview;
236
+
237
+ // Hook now that all of the WPForms stuff is loaded.
238
+ do_action( 'wpforms_loaded' );
239
+ }
240
+
241
+ /**
242
+ * Setup plugin constants.
243
+ *
244
+ * @since 1.0.0
245
+ */
246
+ private function constants() {
247
+
248
+ // Plugin version
249
+ if ( ! defined( 'WPFORMS_VERSION' ) ) {
250
+ define( 'WPFORMS_VERSION', $this->version );
251
+ }
252
+
253
+ // Plugin Folder Path
254
+ if ( ! defined( 'WPFORMS_PLUGIN_DIR' ) ) {
255
+ define( 'WPFORMS_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
256
+ }
257
+
258
+ // Plugin Folder URL
259
+ if ( ! defined( 'WPFORMS_PLUGIN_URL' ) ) {
260
+ define( 'WPFORMS_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
261
+ }
262
+
263
+ // Plugin Root File
264
+ if ( ! defined( 'WPFORMS_PLUGIN_FILE' ) ) {
265
+ define( 'WPFORMS_PLUGIN_FILE', __FILE__ );
266
+ }
267
+ }
268
+
269
+ /**
270
+ * Loads the plugin language files.
271
+ *
272
+ * @since 1.0.0
273
+ */
274
+ public function load_textdomain() {
275
+
276
+ load_plugin_textdomain( 'wpforms', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
277
+ }
278
+ }
279
+
280
+ /**
281
+ * The function which returns the one WPForms instance.
282
+ *
283
+ * Use this function like you would a global variable, except without needing
284
+ * to declare the global.
285
+ *
286
+ * Example: <?php $wpforms = wpforms(); ?>
287
+ *
288
+ * @since 1.0.0
289
+ * @return object
290
+ */
291
+ function wpforms() {
292
+
293
+ return WPForms::instance();
294
+ }
295
+ wpforms();
296
+
297
+ endif;