<commit_before>=== WP Max Submit Protect ===
Contributors: judgej
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=B4STZL8F5WHK6
Tags: woocommerce, forms, data-integrity
Requires at least: 3.6
Tested up to: 4.2.3
Stable tag: 1.1.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Prevent large forms being submitted that may blow the server's field count limit and lose data.

== Description ==

Some appications, such as ecommerce sites, can have administration forms that submit well over a thousand
parameters. PHP, by default, is set to accept only one thousand parameters and so some of the submitted data can get lost.

Most applications don't check whether they received everything, and so data can get broken easily and silently.
A WooCommerce product with 40 variations can have over 1300 submitted form items, and when saving the product you have no idea that much of that data is being discarded.

Luckily [the maximum number of accepted parameters can be changed in php.ini](http://docs.woothemes.com/document/problems-with-large-amounts-of-data-not-saving-variations-rates-etc/)
The problem is, many site owners have no idea this needs to be done until it is too late and their application,
for example their WooCommerce store, has lost half its product variations.

If using php.ini on your site, the file needs to be in the /wp-admin directory as that is where the admin forms are submitted to.

To protect yourself and make sure the server limit does not catch
you unawares, install this plugin and let it run in the background. Each time you try to submit a form in the
admin pages (e.g. updating a WooCommerce product with lots of variatrions) this plugin will check that the
number of form parameters you are about to submit does not exceed the server limit. If it does, then it
will inform you and give you the opportunity to postpone the submit while you increase the server settings.
The link above describes how to set the limits on the server. More details in the FQAs.

This plugin has been tested against PHP5.4 but is written to be compatible with PHP5.3. The project repository is here:

[https://github.com/academe/wp-max-submit-protect](https://github.com/academe/wp-max-submit-protect)

Note: turning on the Gravity Forms' ""No-Conflict Mode" will disable this plugin. You may have reasons for using that setting, but it will disable most other plugins, some of which may be security-related.

Please let me know how this plugin works for you, whether you like it, and how it can be improved.

== Installation ==

Upload wp-max-submit-protect/ to the `/wp-content/plugins/` directory or wp-max-submit-protect-x.y.z.zip through the "Add Plugins" administration page,
or install from wordpress.org by searching for "WP Max Submit Protect".

== Frequently asked questions ==

= Who is this plugin for? =<commit_msg>Correct tiny typo.<commit_after>=== WP Max Submit Protect ===
Contributors: judgej
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=B4STZL8F5WHK6
Tags: woocommerce, forms, data-integrity
Requires at least: 3.6
Tested up to: 4.2.3
Stable tag: 1.1.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Prevent large forms being submitted that may blow the server's field count limit and lose data.

== Description ==

Some appications, such as ecommerce sites, can have administration forms that submit well over a thousand
parameters. PHP, by default, is set to accept only one thousand parameters and so some of the submitted data can get lost.

Most applications don't check whether they received everything, and so data can get broken easily and silently.
A WooCommerce product with 40 variations can have over 1300 submitted form items, and when saving the product you have no idea that much of that data is being discarded.

Luckily [the maximum number of accepted parameters can be changed in php.ini](http://docs.woothemes.com/document/problems-with-large-amounts-of-data-not-saving-variations-rates-etc/)
The problem is, many site owners have no idea this needs to be done until it is too late and their application,
for example their WooCommerce store, has lost half its product variations.

If using php.ini on your site, the file needs to be in the /wp-admin directory as that is where the admin forms are submitted to.

To protect yourself and make sure the server limit does not catch
you unawares, install this plugin and let it run in the background. Each time you try to submit a form in the
admin pages (e.g. updating a WooCommerce product with lots of variatrions) this plugin will check that the
number of form parameters you are about to submit does not exceed the server limit. If it does, then it
will inform you and give you the opportunity to postpone the submit while you increase the server settings.
The link above describes how to set the limits on the server. More details in the FQAs.

This plugin has been tested against PHP5.4 but is written to be compatible with PHP5.3. The project repository is here:

[https://github.com/academe/wp-max-submit-protect](https://github.com/academe/wp-max-submit-protect)

Note: turning on the Gravity Forms' "No-Conflict Mode" will disable this plugin. You may have reasons for using that setting, but it will disable most other plugins, some of which may be security-related.

Please let me know how this plugin works for you, whether you like it, and how it can be improved.

== Installation ==

Upload wp-max-submit-protect/ to the `/wp-content/plugins/` directory or wp-max-submit-protect-x.y.z.zip through the "Add Plugins" administration page,
or install from wordpress.org by searching for "WP Max Submit Protect".

== Frequently asked questions ==

= Who is this plugin for? =
{'fraction_non_alphanumeric': 0.06292984869325997, 'fraction_numerical': 0.00859697386519945, 'mean_word_length': 4.3662361623616235, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1713486', 'n_tokens_mistral': 1613, 'n_tokens_neox': 1557, 'n_words': 838}