diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index f9cb269..efec8bf 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -6,8 +6,14 @@ MODULE VERSION HISTORY
------------------------------------------------------------------------------------------------------------------------
+ *** 1.3.31 (Martin Hecht: 11-Apr-2019) ***
+ introduce MPFORM_REQUIRED_ATTRIBUTE to control if and how required attributes are delivered
+ introduce private_function_for_field for fine grained input evaluation
+ correction to the captcha patch from 2012
+ suppress other forms on the same page when evaluating a submitted one
+
*** 1.3.30 (Martin Hecht: 14-Mar-2019) ***
- secuirty fix for 1.3.29: prevent from injections via url get parameter
+ security fix for 1.3.29: prevent from injections via url get parameter
*** 1.3.29 (Martin Hecht: 07-Mar-2019) ***
allow to pre-fill fields via url get parameters
diff --git a/add.php b/add.php
index fc1be86..296747e 100644
--- a/add.php
+++ b/add.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/add_field.php b/add_field.php
index 75dc063..112a75c 100644
--- a/add_field.php
+++ b/add_field.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/ajax/ajax.php b/ajax/ajax.php
index f525769..d4d4f8b 100644
--- a/ajax/ajax.php
+++ b/ajax/ajax.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/ajax/ajax_dragdrop.php b/ajax/ajax_dragdrop.php
index d025d17..dc0118e 100644
--- a/ajax/ajax_dragdrop.php
+++ b/ajax/ajax_dragdrop.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/ajax/index.php b/ajax/index.php
index 1f1408f..3efeb52 100644
--- a/ajax/index.php
+++ b/ajax/index.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/ajax/pry_submission.php b/ajax/pry_submission.php
index ae40793..beaa820 100644
--- a/ajax/pry_submission.php
+++ b/ajax/pry_submission.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/constants.php b/constants.php
index 43f27a1..38d8cf1 100644
--- a/constants.php
+++ b/constants.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
@@ -163,6 +163,10 @@ function draw_asp_honeypots($iSectionID) {
. ' value="{SUBMIT_TEXT}" />');
}
+if(!defined('MPFORM_REQUIRED_ATTRIBUTE')){
+ define('MPFORM_REQUIRED_ATTRIBUTE',
+ ' required="required"');
+}
// MPForm uses section anchors, but if they are disabled in the WB framework,
// it adds its own anchor. If you even want to suppress this, uncomment the following
diff --git a/copy_field.php b/copy_field.php
index 2c8dae7..720f85d 100644
--- a/copy_field.php
+++ b/copy_field.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/delete.php b/delete.php
index 04c0223..ba99957 100644
--- a/delete.php
+++ b/delete.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/delete_field.php b/delete_field.php
index 8ccb4a0..47bcc3e 100644
--- a/delete_field.php
+++ b/delete_field.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/delete_submission.php b/delete_submission.php
index ccee0ab..a032240 100644
--- a/delete_submission.php
+++ b/delete_submission.php
@@ -6,7 +6,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/docs/DE/index.php b/docs/DE/index.php
index 3a50a70..9a17489 100644
--- a/docs/DE/index.php
+++ b/docs/DE/index.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/docs/DE/mpform/index.php b/docs/DE/mpform/index.php
index 3a50a70..9a17489 100644
--- a/docs/DE/mpform/index.php
+++ b/docs/DE/mpform/index.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/docs/DE/mpform/private-funktionen.html b/docs/DE/mpform/private-funktionen.html
index 2f0ff5a..b4fd206 100644
--- a/docs/DE/mpform/private-funktionen.html
+++ b/docs/DE/mpform/private-funktionen.html
@@ -92,12 +92,15 @@
MPForm-Dokumentation: Private Funktionen
function private_function_before_new_form($section_id)
Wird aufgerufen, bevor ein Formular zusammengebaut wird. Hier kann man z.B. Feldinhalte
je nach zuvor besuchter Seite vorbelegen.
+
function private_function_for_field($field_id, $post_field)
+
Wird aufgerufen, wenn ein Feld ausgewertet wird. Gibt die Funktion einen Leerstring zurück,
+ wird dies als fehlerfrei gewertet, während ein nicht-leerer String eine Fehlermeldung für
+ das aktuelle Feld bedeutet.
function private_function_before_email($section_id, &$html_data_user, &$html_data_site)
Wird aufgerufen, nachdem ein Formular erfolgreich ausgefüllt wurde, aber bevor es
verschickt und gespeichert wird. Hier könnte man also z.B. Benachrichtigungstexte anpassen.
Dabei gibt es den Benachrichtigungstext an den Sitebetreiber und denjenigen an den Benutzer.
Wird aufgerufen, nachdem ein Formular erfolgreich ausgefüllt und verschickt wurde, aber bevor es
in der Datenbank gespeichert wird. Eventuell soll der Inhalt in der Datenbank in einem anderen
Format abgelegt werden, so dass es leichter zu verarbeiten ist, aber in der Benachrichtigungsmail
@@ -115,7 +118,8 @@
MPForm-Dokumentation: Private Funktionen
private_function_before_new_form noch nicht. Bei allen anderen: FALSE dient zum Abbrechen des
regulären Programmflusses, bei TRUE geht die Ausführung weiter.
Auf der nächsten Seite gibt es ein Beispiel aus der Praxis: die Programmierung einer
- Formularschleife.
+ Formularschleife.
+
diff --git a/docs/DE/mpform/referenz-der-optionen/index.php b/docs/DE/mpform/referenz-der-optionen/index.php
index 3a50a70..9a17489 100644
--- a/docs/DE/mpform/referenz-der-optionen/index.php
+++ b/docs/DE/mpform/referenz-der-optionen/index.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/docs/DE/mpform/standardformular.xml b/docs/DE/mpform/standardformular.xml
index 8627fb6..e67e18e 100644
--- a/docs/DE/mpform/standardformular.xml
+++ b/docs/DE/mpform/standardformular.xml
@@ -2,7 +2,7 @@
mpform
- 1.3.30
+ 1.3.31mod_mpform_fields
diff --git a/docs/EN/index.php b/docs/EN/index.php
index 3a50a70..9a17489 100644
--- a/docs/EN/index.php
+++ b/docs/EN/index.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/docs/EN/mpform/index.php b/docs/EN/mpform/index.php
index 3a50a70..9a17489 100644
--- a/docs/EN/mpform/index.php
+++ b/docs/EN/mpform/index.php
@@ -7,7 +7,7 @@
*
* @category page
* @module mpform
- * @version 1.3.30
+ * @version 1.3.31
* @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others
* @copyright (c) 2009 - 2019, Website Baker Org. e.V.
* @url https://github.com/WebsiteBaker-modules/mpform
diff --git a/docs/EN/mpform/private-functions.html b/docs/EN/mpform/private-functions.html
index 8de9d83..ed8acb1 100644
--- a/docs/EN/mpform/private-functions.html
+++ b/docs/EN/mpform/private-functions.html
@@ -85,13 +85,15 @@
MPForm Documentation: Private Functions
function private_function_before_new_form($section_id)
Will be called before a form will be assembled. Here you can, for instance, set the current date
in a field.
+
function private_function_for_field($field_id, $post_field)
+
Is called for each field being evaluated. If the function returns an empty string, this is
+ treated as success, whereas a non-emptry string means an error message for the current field.
function private_function_before_email($section_id, &$html_data_user, &$html_data_site)
Will be called after a form has been submitted successfully, but before it will be saved or sent
by email. Here you can, change the message text.
There are two versions, one for the site owner and one for the user who has submitted the form.