=== NovoForms – Advanced Contact Form Builder ===
Contributors: berkayyavuz61
Tags: contact form, form builder, wordpress forms, drag and drop form, multilingual forms
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 5.6
Stable tag: 1.3.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Drag & drop contact form builder with email notifications, built-in SMTP, 20 designs, spam protection and entry storage — no coding needed.

== Description ==

**NovoForms** is a drag & drop contact form builder for WordPress. It lets you create forms without writing code. Every submission is emailed to you and stored in the WordPress admin panel.

Everything in this plugin is free with no limits on forms, fields or entries. An optional **NovoForms Pro** upgrade adds extra features (see below).

---

### Features

**Drag & Drop Form Builder**
Add, reorder, and configure fields visually in the admin panel.

**Pre-Built Templates**
Six ready-to-use templates: Contact Form, Support Request, Business Inquiry, Newsletter Signup, Feedback Form, and Blank Form.

**AJAX Submission**
Forms submit without page reloads. Users see an animated success confirmation immediately.

**Spam Protection**
An invisible honeypot field catches bots silently without requiring CAPTCHAs.

**Email Notifications**
Get every submission in your inbox. Choose the recipient per form, use tags like `{form_title}` in the subject, and reply straight to the visitor (Reply-To is set automatically).

**Built-in SMTP — Reliable Delivery**
Send through Gmail, Outlook / Microsoft 365, Yahoo, Yandex, Zoho, Brevo, SendGrid, Mailgun or any SMTP server. Pick your provider and the server details are filled in for you. A **Send Test Email** button shows the exact server response and tells you how to fix common problems (for example Gmail App Passwords). Passwords are stored encrypted.

**Delivery Status**
Each entry shows whether its email was delivered. If sending fails, you see a clear warning in the admin — the entry is always saved, so no message is ever lost.

**20 Form Designs**
Pick from 20 ready-made designs (light, dark, gradient, glass, minimal…) and set your own colors.

**Entry Storage**
All submissions are saved to the database and viewable under NovoForms → Entries, with pagination and optional automatic deletion of old entries (GDPR).

**Shortcode Support**
Embed any form with `[novaform id="1"]`.

**Gutenberg Block**
A native block for the WordPress block editor.

**Responsive Design**
Forms display correctly on all screen sizes.

---

### NovoForms Pro

Pro is an optional paid upgrade that adds:

- **Auto-reply email** to the visitor, with custom subject and message
- **CC / BCC** recipients for notifications
- **File upload field** with type and size limits; files are attached to the notification email
- **Cloudflare Turnstile and Google reCAPTCHA v3** spam protection
- **CSV export** of entries (opens correctly in Excel)
- **10 premium designs**

---

### Field Types

All field types are fully functional:

- Text
- Email
- Paragraph (Textarea)
- Dropdown
- Radio Buttons
- Checkboxes
- Number
- Phone
- Website URL
- Date

---

### Technical Details

- Object-oriented PHP architecture
- Files organised under `/includes`, `/admin`, `/public`
- Nonce verification and data sanitization throughout
- Scripts load only on pages that contain a form
- **Multilingual – 11 Languages Built-in**
  English, Chinese (Simplified), Spanish, Arabic, Hindi, Portuguese (Brazil), Russian, Japanese, German, French, Turkish — auto-detects your WordPress locale. Override per-plugin from **Settings → Language**. `.pot` file included for Loco Translate / WPML.

---

== Installation ==

= Automatic Installation =
1. Go to **Plugins → Add New** in your WordPress admin.
2. Search for **NovoForms**.
3. Click **Install Now**, then **Activate**.

= Manual Installation =
1. Download the plugin `.zip` file.
2. Go to **Plugins → Add New → Upload Plugin**.
3. Upload the file and click **Install Now**, then **Activate**.

= After Activation =
1. Go to **NovoForms → Add New**.
2. Choose a template or start from scratch.
3. Add and configure fields using the builder.
4. Click **Save Form**.
5. Copy the shortcode (e.g. `[novaform id="1"]`) and paste it into any page or post.

---

== Frequently Asked Questions ==

= Is this plugin free? =
Yes. Everything in this plugin is free with no limits on forms, fields or entries. NovoForms Pro is an optional upgrade with extra features such as auto-replies, file uploads and CSV export.

= How do I embed a form? =
After saving a form, copy its shortcode from the All Forms list and paste it into any page, post, or widget. You can also use the NovoForms Gutenberg block.

= Where do I see submitted entries? =
Go to **NovoForms → Entries** and select a form from the dropdown.

= Does the plugin send emails? =
Yes. Every submission is emailed to the address in **NovoForms → Settings → Email** (or a different address per form) and also saved under **NovoForms → Entries**.

= I don't receive the emails. What should I do? =
Many hosts cannot send email reliably on their own. Go to **NovoForms → Settings → SMTP**, turn on SMTP, choose your email provider and enter your login. Then click **Send Test** — if something is wrong you will see the exact error and how to fix it. For Gmail you need an App Password (myaccount.google.com/apppasswords), not your normal password.

= Does the plugin slow down my site? =
Scripts and styles only load on pages that contain a NovoForms form.

= Is the plugin translation-ready? =
Yes. The plugin ships with built-in translations for 11 languages and automatically uses your WordPress site language. You can also override the language per-plugin from **NovoForms → Settings → Language**.

= Which languages are supported? =
The following languages are included out of the box:

* 🇺🇸 English (default)
* 🇨🇳 Chinese – 中文 (简体) `zh_CN`
* 🇪🇸 Spanish – Español `es_ES`
* 🇸🇦 Arabic – العربية `ar`
* 🇮🇳 Hindi – हिन्दी `hi_IN`
* 🇧🇷 Portuguese – Português (Brasil) `pt_BR`
* 🇷🇺 Russian – Русский `ru_RU`
* 🇯🇵 Japanese – 日本語 `ja`
* 🇩🇪 German – Deutsch `de_DE`
* 🇫🇷 French – Français `fr_FR`
* 🇹🇷 Turkish – Türkçe `tr_TR`

If your site language is one of the above, the plugin switches automatically. For any other language you can add a custom translation using Loco Translate or WPML — a `.pot` file is included.

= Does the plugin collect any data? =
Only if you allow it. On first use, NovoForms asks whether you want to share anonymous usage statistics. If you click **Allow**, your site sends one small request per day to Google Analytics with the plugin version, WordPress version, PHP version, site language, number of forms and a random anonymous site ID. No form entries, email addresses, personal data or site URLs are sent, and no scripts are loaded in the browser. You can turn this off anytime under **NovoForms → Settings → Usage Data**; deactivating the plugin also stops all sending.

= What happens when the plugin is uninstalled? =
All database tables and plugin options are removed on deletion.

---

== External Services ==

This plugin can connect to **Google Analytics 4** (by Google LLC) via the GA4 Measurement Protocol to collect anonymous usage statistics that help improve the plugin. This is **disabled by default** and only happens after a site administrator explicitly opts in.

When enabled, once a day (and once at opt-in) the site sends a server-side request to `https://www.google-analytics.com/mp/collect` containing:

* A random site ID generated by the plugin (not linked to your domain or identity)
* Plugin version, WordPress version, PHP version
* Site locale
* Number of forms created

No site URL, email address, form entries, personal data or visitor data is ever sent.

* Terms of Service: https://marketingplatform.google.com/about/analytics/terms/us/
* Privacy Policy: https://policies.google.com/privacy

This plugin includes the **Freemius** SDK (by Freemius, Inc.) to handle license activation, checkout and updates for the optional Pro version. In this free version it runs in anonymous mode: it does not send any data unless you choose to upgrade or activate a license.

* Terms of Service: https://freemius.com/terms/
* Privacy Policy: https://freemius.com/privacy/

Email notifications are sent through your own server or through the SMTP server you configure (for example Gmail or Outlook). Form data is sent only to that server and to the recipients you choose.

---

== Screenshots ==

1. All Forms list with entry counts and shortcodes.
2. Form builder with field palette, canvas, and field settings panel.
3. Template picker with six starter templates.
4. Field settings for label, placeholder, width, and required status.
5. Entries list for a selected form.
6. Single entry detail view.
7. Global settings page.
8. A rendered form on the front end.

---

== Changelog ==

= 1.3.3 =
* Improved: Right after buying Pro, NovoForms Pro is installed automatically (one-time redirect to the installer). The "Install Pro" button stays available as a fallback.

= 1.3.2 =
* New: After buying Pro from the free version, an "Install Pro" menu item and notice install NovoForms Pro in one click (or offer the .zip). Upgrade prompts are hidden once Pro is paid for.

= 1.3.1 =
* Improved: "Send Test" now tests the SMTP settings shown on screen, before you save them, and reminds you to save when it works.
* Improved: Clear explanation when the hosting company has disabled PHP's mail() function (SMTP is then required).
* New: "Activate License" menu item and a notice on NovoForms, Dashboard and Plugins screens when NovoForms Pro is installed without an active license.

= 1.3.0 =
* New: Email notifications for every submission, with per-form recipient and subject.
* New: Built-in SMTP with provider presets (Gmail, Outlook, Yahoo, Yandex, Zoho, Brevo, SendGrid, Mailgun) and a Send Test Email button that explains failures.
* New: Reply-To is set to the visitor's email address.
* New: Email delivery status on each entry, and an admin warning when sending fails.
* New: Entries pagination and optional automatic deletion of old entries.
* New: Optional NovoForms Pro upgrade.
* Fix: The success message did not appear after submitting a form.
* Fix: Validation error messages were not displayed.
* Fix: Choice labels and dropdowns were unreadable on dark designs.
* Fix: Entry dates were shown in the wrong time zone.
* Fix: Settings menu links did nothing.
* Fix: Special characters such as < were shown as &lt; in success messages.
* Improved: Website and number fields are validated; a server error is no longer reported to the visitor as success.
* Improved: Turkish translation completed.

= 1.2.0 =
* New: Optional, opt-in anonymous usage statistics (disabled by default, can be turned off anytime in Settings → Usage Data).

= 1.1.0 =
* New: Design picker in the form builder.
* New: Ready-made form themes.
* Improved: Form builder and settings pages.
* Added: Translation files (.po/.mo) for all supported languages.

= 1.0.0 =
* Initial release.
* Drag & drop form builder with 10 field types.
* Six pre-built form templates.
* AJAX form submission with animated success screen.
* Honeypot spam protection.
* Entry storage with admin management.
* Multilingual support: English, Chinese (Simplified), Spanish, Arabic, Hindi, Portuguese (Brazil), Russian, Japanese, German, French, Turkish.
* Shortcode `[novaform id="X"]`.
* Gutenberg block.
* Translation-ready with `.pot` file.

---

== Upgrade Notice ==

= 1.3.3 =
NovoForms Pro now installs automatically right after purchase.

= 1.3.2 =
Pro buyers can now install NovoForms Pro in one click from the NovoForms menu.

= 1.3.1 =
Easier SMTP setup: test your settings before saving, with clearer error messages.

= 1.3.0 =
Adds email notifications with built-in SMTP and fixes the missing success message after submitting a form. Recommended for all users.

= 1.2.0 =
Adds optional, opt-in anonymous usage statistics. Nothing is sent unless you allow it.

= 1.0.0 =
Initial release.
