=== Nonprofit Forms ===
Contributors: silasantosh
Tags: forms, contact form, nonprofit, ngo, spam
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.2.6
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Small, spam-free contact and enquiry forms for nonprofits. No trackers, no CAPTCHA services, no upsells.

== Description ==

Nonprofit Forms is a lean form builder made for Indian nonprofits and anyone who wants forms without extra weight.

* Build a form with text, email, phone, number, date, long text, dropdown, single choice, multiple choice and consent fields.
* Spam protection that runs on your own server: hidden field, signed timer, rate limit and link check. No reCAPTCHA, no Google or Cloudflare scripts.
* Email notification with a Reply-To set to the person who wrote to you.
* Entries saved in WordPress, with a viewer and CSV download that opens correctly in Excel (Hindi and other Indian scripts included).
* Add a form with a shortcode or the "Nonprofit Form" block.
* Style it in the block editor, no CSS needed: label, field and border colours, corner roundness, filled or outline submit button, plus the standard colour, font size, spacing and border controls. A contrast check warns when text would be hard to read.
* Works without JavaScript on the public page.
* Privacy friendly by default: no cookies, no IP address stored, automatic deletion of old entries, and support for WordPress personal data export and erase. Built with India's Digital Personal Data Protection Act in mind. This plugin helps; it is not legal advice.
* Developers can add field types and hook into the submission (see below).

= Shortcode =

`[nonprofit_form id="123"]`

= For developers =

* Filter `npfrm_field_types` to add field types.
* Filter `npfrm_spam_reason`, `npfrm_max_links`, `npfrm_rate_limit` to tune spam checks.
* Filter `npfrm_notification` to change the email. Action `npfrm_submitted` runs after a clean submission.

== Installation ==

1. Upload the plugin and activate it.
2. Go to Nonprofit Forms > Add new, build your form and publish.
3. Paste the shortcode into a page, or add the Nonprofit Form block.

== Frequently Asked Questions ==

= Does it use reCAPTCHA? =
No. Nothing is loaded from outside your site.

= Where are entries kept? =
In your WordPress database. Set how long under Nonprofit Forms > Settings.

= Does it support file uploads or payments? =
Not yet. A donations plugin is planned separately.

== Screenshots ==

1. A form on a phone, using the theme's fonts and colours.
2. Clear, accessible errors, with what the visitor typed kept.
3. The form editor: add, reorder and require fields.

== Changelog ==

= 0.2.6 =
* Fix: removed one test entry (PIN 999999, "TEST OFFICE", Nizamabad) from the bundled PIN data. All other State / District / PIN entries are unchanged.

= 0.2.5 =
* New: the consent checkbox now always shows last, just above the Send button. Consent blocks that appear only after an answer (such as the under-18 guardian one) stay where you put them.
* New: the India address picker has visible labels for State / UT, District, Town / Area and PIN code, a styled town search box, and two columns on wider screens.

= 0.2.4 =
* New: India address field - State, District, Town/Area and PIN code in one searchable picker, from a bundled copy of the India Post PIN directory. The copy comes from a public mirror of the All India Pincode Directory (India Post data, official source: data.gov.in), not a direct download from the official site. Town search filters long district lists; PIN fills automatically when a town has one code.

= 0.2.0 =
* New: private analytics (views, submissions, per day, no cookies or IPs).
* New: choose who can see a form, and which roles can read its entries.
* New: plain-language privacy notice that records the wording each person saw; guardian consent block for under-18s.
* New: conditional fields, conditional email routing, auto-reply, open/close dates and entry limits.
* New: entry search, status and private notes, bulk delete, erase a person's data.
* New: Indian mobile, PIN code and State/UT fields.
* New: stronger spam armor: adjustable rate limit, temporary-email blocking and a blocked-words list.

= 0.1.0 =
* First release.
