From d22622caab381847902c73ef28d30556aceb680f Mon Sep 17 00:00:00 2001 From: Martin Hecht Date: Sat, 15 Oct 2016 23:55:37 +0200 Subject: [PATCH] updated to 1.3.0 --- CHANGELOG.txt | 15 + RELEASE_NOTES.txt | 116 ++---- TODO | 9 + add.php | 34 +- add_field.php | 3 +- ajax/ajax.php | 20 +- ajax/ajaxChangeFormFieldStatus.js | 1 + ajax/ajaxDeleteRecord.js | 11 +- ajax/ajax_dragdrop.js | 9 +- ajax/ajax_dragdrop.php | 21 +- ajax/index.php | 3 +- ajax/jquery.cluetip/jquery.cluetip.css | 2 +- .../jquery.cluetip.pryFunction.css | 2 +- ajax/pry_submission.php | 3 +- backend.default.css | 66 ---- constants.php | 3 +- copy_field.php | 3 +- delete.php | 3 +- delete_field.php | 5 +- delete_submission.php | 3 +- docs/DE/images/SF_de.png | Bin 3377 -> 30016 bytes docs/DE/index.php | 3 +- docs/DE/mpform/faq-zu-mpform.html | 2 +- docs/DE/mpform/index.php | 3 +- docs/DE/mpform/mehrseitige-formulare.html | 12 +- docs/DE/mpform/nach-dem-absenden.html | 2 +- docs/DE/mpform/referenz-der-feldtypen.html | 12 +- ...bestaetigungsmail-an-formularabsender.html | 9 +- .../DE/mpform/referenz-der-optionen/index.php | 3 +- .../mail-an-sitebetreiber.html | 7 +- .../workflow-einstellungen.html | 3 +- docs/DE/mpform/standardformular.xml | 14 +- docs/DE/mpform/tabelle-oder-div.html | 46 ++- docs/EN/images/SF_en.png | Bin 6283 -> 31663 bytes docs/EN/index.php | 3 +- docs/EN/mpform/after-submitting.html | 2 +- docs/EN/mpform/faq-to-mpform.html | 2 +- docs/EN/mpform/field-types.html | 10 +- docs/EN/mpform/index.php | 3 +- docs/EN/mpform/multi-page-forms.html | 8 +- .../settings-of-mpform/confirmation-mail.html | 10 +- docs/EN/mpform/settings-of-mpform/index.php | 3 +- .../mail-to-site-owner.html | 7 +- .../settings-of-mpform/workflow-settings.html | 3 +- docs/EN/mpform/standardform.xml | 19 +- docs/EN/mpform/table-or-div.html | 43 ++- docs/images/index.php | 3 +- docs/index.php | 3 +- docs/style/index.php | 3 +- evalform.php | 47 ++- export.php | 3 +- frontend.default.css | 340 ++++-------------- frontend_body.js | 74 ++++ functions.php | 3 +- help.php | 3 +- htt/backend_modify.htt | 10 +- htt/index.php | 3 +- images/index.php | 3 +- import.php | 3 +- index.php | 3 +- info.php | 5 +- install.php | 3 +- jscalendar.php | 3 +- languages/DE.php | 3 +- languages/EN.php | 3 +- languages/FR.php | 3 +- languages/IT.php | 3 +- languages/NL.php | 3 +- languages/NO.php | 3 +- languages/index.php | 3 +- modify.php | 5 +- modify_adv_settings.php | 3 +- modify_field.php | 3 +- modify_settings.php | 3 +- move_down.php | 37 +- move_up.php | 54 ++- paintform.php | 109 +++--- pear/FixPHP5PEARWarnings.php | 3 +- pear/index.php | 3 +- pear/languages/DE.php | 3 +- pear/languages/EN.php | 3 +- pear/languages/FR.php | 46 +++ pear/languages/IT.php | 43 +++ pear/languages/index.php | 3 +- private.default.php | 3 +- save_adv_settings.php | 3 +- save_field.php | 3 +- save_settings.php | 3 +- uninstall.php | 3 +- upgrade.php | 3 +- view.php | 10 +- view_submission.php | 3 +- 92 files changed, 735 insertions(+), 708 deletions(-) create mode 100644 TODO create mode 100644 frontend_body.js create mode 100644 pear/languages/FR.php create mode 100644 pear/languages/IT.php diff --git a/CHANGELOG.txt b/CHANGELOG.txt index c49caf4..42fa032 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -5,6 +5,21 @@ MODULE VERSION HISTORY ====================== ------------------------------------------------------------------------------------------------------------------------ + *** 1.3.0 (Martin Hecht: 15-Oct-2016) *** + add icons for import/export (thanks to norbert and noname8) + correct icon in ajax drag&drop helper + use IDKEY in move-up and move-down links + use IDKEY in ajax helpers + fix typo in delete_field.php + bugfixes in move-up and move-down noscript fallback + bugfixes in ajax helpers + switch to div-layout by default (thanks to florian for insisting) + hand over submissions between the pages of a multi form page + deny access to following pages unless the previous page has been submitted + some clean up in the style files and added classes for help in div-layout + update documentation and update standard forms, update style file of docu + added French and Italian language support in pear uploader + *** 1.2.3 (Martin Hecht: 20-Aug-2016) *** fix query for position in upgrade script, thanks to norhei for reporting fix drag and drop in ajax helper, thanks to florian for reporting diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index 01ac871..df68f14 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,102 +1,52 @@ -Release Notes for mpForm 1.2.0 +Release Notes for mpForm 1.3.x -New Features ------------- - -In the backend of the module you can import and export the whole form -(including all fields and settings) as xml file. The submissions and -results tables however are not exported. This mechanism can also be -used to install the standard forms which is available together with -the documentation (sse below). - -There is a new wizard now, which allows to populate html code sections -such that div-sections are shown or hidden, depending on the current -selection of another form element of your choice. They are called -conditionally displayed blocks. They are not really a field type -but you can easily populate a html code block with sophisticated -code, which you can distribute later across several html sections -in order to show/hide whole parts of the form. +General Changes +--------------- +By default switched to a div-based layout. All pages created with earlier versions +of course keep their layout as it is (by default it was a table based layout in the past) -Hidden fields are now available for inserting data into the form -submission which is hidden to the user - this can be useful for handing -over data between different pages of multi page forms. +The style file has been cleaned up and a few new definitions have been added +for the help popup dialog in div-based layout. Remember to copy the default style +files manually (or merge the changes into your local modifications) in order to +pick up the improved style settings. -Italian language support has been added and the language support in the -Ajax helpers has been improved. +New Features +------------ +In multi page forms the access to following pages is denied to all following pages +unless the previous page has been submitted successfully -Feature Enhancements +Feature Improvements -------------------- +In multi page forms submissions are handed over between the individual pages so that +the last page can send confirmation mails about all the submissions of the current page +and now also all previous pages. The data is stored in the session indexed by the +submission id and could in principle be used in the private functions as well. -The switch to enable/disable fields is available to all field types now, -including html code and headings. - -In the past the results tables often were a source of trouble. In this -version of mpform their structure is always kept up to date. If you happen -to change the suffix for the results table in the settings, add or copy -fields the table is created or the column is inserted if needed. +The {HELP} placeholder works not only in table based layouts, but in general now. -Additionally, if you wish not to make use of the results tables at all, -you can disable them completely by setting the suffix to the string -"DISABLED". +French and Italian language support did not cover the error messages in the pear +file uploader tool. These missing language files have been added now. -For html code fields there is a new switch which allows to specify where -the code shall be used: In the form on the web page, in the html code -for the site owner, and/or the html code for the user confirmation. - -In html code sections normal html comments can be inserted which are -shown in the output as well, but as a new feature, if the inner part -of the html comment is additionally commented out with php comments, -it is suppressed in the output: - -API Changes ------------ - -The private functions take more arguments now, because the mpform -module does not make use of global variables anymore. Of course, the -usual globals like the database object and the superglobals like the -session are available. For details see the private.default.php. -The examples are more detailed now and better commented. +Security Enhancements +--------------------- +IDKEYs were not used throughout the module. In fact they were only used when +Javascript and therefore Ajax was disabled. Now the Ajax-Helpers also use IDKEYs. +Also the Noscript-fallbacks for moving fields up and down use IDKEYs now. Documentation ------------- - -The documentation has been updated and included in the module (I hope -that the forum lets me upload the file - if it is too large, I'll -make it available as a separate zip archive). +The feature changes described here are also reflected in the documentation. +The standard forms have also been updated and are based on div-layout now. Bug fixes --------- +In the 1.2.x releases the icons for import/export for these buttons have been missing. +Now they are included in the module package. -The results tables are correctly removed now, when a mpform section is -removed. In the past unused results tables were kept in the database -after removing the forms until one eventually uninstalls the module. -This change also implies that you should make a backup of the submissions -when you remove the form. The results table is of course kept in the case -when multiple forms write to the same results table. - - -General Changes ---------------- - -Promised a long time ago and finally finished: The module works in sql -strict mode now. +The ajax drag&drop helper did use a wrong url for a icon in one of the message boxes. +It has been corrected now. -In general the code has been reworked a lot. Long lines have been wrapped -and properly indented for better readability of the code and to assist -users when they try to identify a bug. It is not a complete rewrite of the -code but nearly. Module specific global variables are not used anmore. +A few other minor fixes in Ajax-Helpers, and their Noscript-fallbacks. -Old code for WB 2.7 has been removed and code for backwards compatibility -to versions of WB 2.8 earlier than 2.8.3 have been made consistent throughout -the whole code. IDKEY and FTAN are two examples. These features are only -used when the core supports them. In general it is not recommended to -run old versions without such security features. But anyhow, in the previous -versions of mpform, there were checks which allowed to run without them, -but not in all parts of the module. -When sending http headers to redirect the user to another page, there is -an additional check now, if the headers have already been sent. If so, -an alternative redirection link is presented to the user. This can help -when other modules/snippets interfere with the way how the content is -buffered or sent to the user. diff --git a/TODO b/TODO new file mode 100644 index 0000000..3e1f7b7 --- /dev/null +++ b/TODO @@ -0,0 +1,9 @@ + +/* + * todo list for upcoming releases: + * ================================ + * + * currently, this list is empty, but if you find bugs or if you would like to + * propose a new feature which you consider useful, do not hesitate to contact me. + * + */ diff --git a/add.php b/add.php index 5304cca..abe4455 100644 --- a/add.php +++ b/add.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -41,35 +42,24 @@ $setting = $query_content->fetchRow(); // set default values -$header = ''; -$field_loop = '' - . '' - . '' - . '' - . ''; -$footer = '' - . '' - . '' - . '' - . '' - . '
' +$header = ''; +$field_loop = '
' . '{TITLE}{REQUIRED}:' - . '
' + . '
' . '{HELP}' - . '
' + . '' + . '' + . '
' . '{FIELD}{ERRORTEXT}' - . '
' - . '' - . '' + . '' + . '
'; +$footer = '
' . '' - . '
'; + . ''; $heading_html = "

{HEADING}

"; $short_html = "{TITLE}: {DATA}
"; $long_html = "{TITLE}:
{DATA}

"; diff --git a/add_field.php b/add_field.php index ee83f93..3b7487a 100644 --- a/add_field.php +++ b/add_field.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/ajax/ajax.php b/ajax/ajax.php index d3fa7d2..774cb2f 100644 --- a/ajax/ajax.php +++ b/ajax/ajax.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -53,11 +54,16 @@ $sDbColumn = $_POST['DB_COLUMN']; $iRecordID = $_POST['iRecordID']; $sModuleDIR = $_POST['MODULE']; - - // Check if user has enough rights to do this: require_once(WB_PATH.'/framework/class.admin.php'); $admin = new admin('Modules', 'module_view', FALSE, FALSE); + if(!is_numeric($iRecordID)) { + if(method_exists( $admin, 'checkIDKEY' )) + $iRecordID = $admin->checkIDKEY($iRecordID,-1,'key',true); + else $iRecordID = -1; + } + + // Check if user has enough rights to do this: if (!($admin->is_authenticated() && $admin->get_permission($sModuleDIR, 'module'))) { $aJsonRespond['message'] = 'You\'re not allowed to make changes to this Module: '.$sModuleDIR; @@ -101,13 +107,7 @@ case 'delete_record': // Check the Parameters if(isset($_POST['action']) && $_POST['action'] == 'delete') { - - if(!is_numeric($iRecordID)) { - if(method_exists( $admin, 'checkIDKEY' )) - $iRecordID = $admin->checkIDKEY($iRecordID); - else $iRecordID = -1; - } - + $query = "DELETE FROM `".$sDbRecordTable."` WHERE `".$sDbColumn."` = '".$iRecordID."' LIMIT 1"; $database->query($query); if($database->is_error()) diff --git a/ajax/ajaxChangeFormFieldStatus.js b/ajax/ajaxChangeFormFieldStatus.js index 3e87552..cadd70f 100644 --- a/ajax/ajaxChangeFormFieldStatus.js +++ b/ajax/ajaxChangeFormFieldStatus.js @@ -43,6 +43,7 @@ oElement.attr("src", ICONS +"/"+ action +".gif"); oElement.attr("title", LANG[json_respond.message]); oElement.animate({opacity: 1}); + window.location.reload(); } else { alert(json_respond.message); } diff --git a/ajax/ajaxDeleteRecord.js b/ajax/ajaxDeleteRecord.js index f06479a..9e3ca16 100644 --- a/ajax/ajaxDeleteRecord.js +++ b/ajax/ajaxDeleteRecord.js @@ -29,19 +29,22 @@ var oRecord = $("tr#" + aOpts.DB_COLUMN +'_'+ iRecordID); if (confirm(LANG.SURE_DELETE_RECORD)) { - // pregenerate the data string - var sDataString = 'purpose=delete_record&action=delete&DB_RECORD_TABLE='+aOpts.DB_RECORD_TABLE+'&DB_COLUMN='+aOpts.DB_COLUMN+'&MODULE='+aOpts.MODULE+'&iRecordID='+iRecordID+'&iSectionID=' + iSectionID; $.ajax({ url: MODULE_URL +"/ajax/ajax.php", type: "POST", dataType: 'json', - data: sDataString, + data: 'purpose=delete_record&action=delete' + +'&DB_RECORD_TABLE='+aOpts.DB_RECORD_TABLE + +'&DB_COLUMN='+aOpts.DB_COLUMN + +'&MODULE='+aOpts.MODULE + +'&iRecordID='+iRecordID + +'&iSectionID='+iSectionID, success: function(json_respond) { if(json_respond.success == true) { //row.fadeOut('slow'); oRecord.fadeOut(1200); - // alert(json_respond.message + ' ' + sDataString); // debug + window.location.reload(); } else { alert(json_respond.message); } diff --git a/ajax/ajax_dragdrop.js b/ajax/ajax_dragdrop.js index c9adb72..f92eec2 100644 --- a/ajax/ajax_dragdrop.js +++ b/ajax/ajax_dragdrop.js @@ -26,7 +26,6 @@ if(jQuery().sortable){ jQuery(function() { jQuery('.dragdrop_item').addClass('dragdrop_handle'); jQuery(".dragdrop_form .move_position a").remove(); - //var sDataString = jQuery(this).sortable("serialize") + '&action=updatePosition'; jQuery(".dragdrop_form tbody").sortable({ appendTo: 'body', @@ -40,17 +39,19 @@ if(jQuery().sortable){ jQuery.ajax({ type: 'POST', url: MODULE_URL +'/ajax/ajax_dragdrop.php', - data: jQuery(this).sortable("serialize") + '&action=updatePosition', + data: jQuery(this).sortable("serialize", { + expression: /(.+)[:=](.+)/ + }) + '&action=updatePosition', dataType: 'json', success: function(json_respond){ - //alert(json_respond.message +' '+sDataString); if( json_respond.success != true ) { alert(json_respond.message); } var INFO_BOX = jQuery("#" + RESULTS_CONTAINER); INFO_BOX.html('').fadeIn("slow"); jQuery("#reload_img").fadeOut(2300); - + // due to expiring IDKEYs we have to refresh the page + window.location.reload(); } }); } diff --git a/ajax/ajax_dragdrop.php b/ajax/ajax_dragdrop.php index 2f6407a..0ebfd0c 100644 --- a/ajax/ajax_dragdrop.php +++ b/ajax/ajax_dragdrop.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -24,25 +25,24 @@ $aJsonRespond = array(); $aJsonRespond['success'] = false; -$aJsonRespond['message'] = 'hallo'; +$aJsonRespond['message'] = ''; $aJsonRespond['icon'] = ''; if(!isset($_POST['action']) || !isset($_POST['field_id']) ) -//if(!isset($_POST['action'])) { - $aJsonRespond['message'] = 'eins von den parametern gibts nicht'; + $aJsonRespond['message'] = 'one of the parameters does not exist'; exit(json_encode($aJsonRespond)); } else { $aRows = $_POST['field_id']; require_once('../../../config.php'); - // check if user has permissions to access the Bakery module + // check if user has permissions to access the mpform module require_once(WB_PATH.'/framework/class.admin.php'); - $admin = new admin('Modules', 'module_view', false, false); + $admin = new admin('Pages', 'pages_modify', false, false); if (!($admin->is_authenticated() && $admin->get_permission('mpform', 'module'))) { - $aJsonRespond['message'] = 'unsuficcient rights'; + $aJsonRespond['message'] = 'insuficcient rights'; exit(json_encode($aJsonRespond)); } @@ -52,17 +52,18 @@ { $i = 1; foreach ($aRows as $recID) { - // not we sanitize array + $id = $admin->checkIDKEY($recID,0,'key',true); + // now we sanitize array $database->query("UPDATE `".TABLE_PREFIX."mod_mpform_fields`" . " SET `position` = '".$i."'" - . " WHERE `field_id` = ".intval($recID)." "); + . " WHERE `field_id` = ".intval($id)." "); $i++; } if($database->is_error()) { $aJsonRespond['success'] = false; $aJsonRespond['message'] = 'db query failed: '.$database->get_error(); - $aJsonRespond['icon'] = 'trash.gif'; + $aJsonRespond['icon'] = 'cancel.gif'; exit(json_encode($aJsonRespond)); } }else{ diff --git a/ajax/index.php b/ajax/index.php index 80ff264..958ed2d 100644 --- a/ajax/index.php +++ b/ajax/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/ajax/jquery.cluetip/jquery.cluetip.css b/ajax/jquery.cluetip/jquery.cluetip.css index eefd6a5..0375d68 100644 --- a/ajax/jquery.cluetip/jquery.cluetip.css +++ b/ajax/jquery.cluetip/jquery.cluetip.css @@ -24,7 +24,7 @@ div.ui-cluetip { width: 43px; height: 11px; position: absolute; - background-image: url(images/wait.gif); + background-image: url(cluetip_images/wait.gif); } .cluetip-arrows { display: none; diff --git a/ajax/jquery.cluetip/jquery.cluetip.pryFunction.css b/ajax/jquery.cluetip/jquery.cluetip.pryFunction.css index 54c5954..0bd0e05 100644 --- a/ajax/jquery.cluetip/jquery.cluetip.pryFunction.css +++ b/ajax/jquery.cluetip/jquery.cluetip.pryFunction.css @@ -21,7 +21,7 @@ div.ui-cluetip { width: 43px; height: 11px; position: absolute; - background-image: url(images/wait.gif); + background-image: url(cluetip_images/wait.gif); } .cluetip-arrows { display: none; diff --git a/ajax/pry_submission.php b/ajax/pry_submission.php index 78397b3..9b83a03 100644 --- a/ajax/pry_submission.php +++ b/ajax/pry_submission.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/backend.default.css b/backend.default.css index b37da89..36da6d8 100644 --- a/backend.default.css +++ b/backend.default.css @@ -305,72 +305,6 @@ tt { } -/* Picture Chooser */ - -div#picturechooser { - width:80%; - position:absolute; - top:10%; - left:10%; - display:none; -} - -table.choosertable .r1 td { - height:17px; -} -table.choosertable .r3 td { - height:17px; -} -table.choosertable .c1 { - width:13px; -} -table.choosertable .c3 { - width:13px; -} -table.choosertable .r2 .c1 { - width:13px; - background: url(img/shadow/shadow_w.png) repeat-y; -} -table.choosertable .r2 .c3 { - width:13px; - background: url(img/shadow/shadow_e.png) repeat-y; -} -table.choosertable .r1 .c2 { - height:17px; - background: url(img/shadow/shadow_n.png) repeat-x; - text-align:right; -} -table.choosertable .r3 .c2 { - height:17px; - background: url(img/shadow/shadow_s.png) repeat-x; -} -table.choosertable #picturechooserinner { - height:500px; - min-width:400px; - padding:20px 10px 0 20px; - background-color:#ddd; - overflow:scroll; -} - -#picturechooserinner .memberpic_preview { - float:left; - margin:0 10px 10px 0; - width:100px; - height:100px; - overflow:hidden; - background-color:#eee; -} -#picturechooserinner .memberpic_preview img { - max-width:100px; - max-height:120px; - border:0; - margin:auto; -} - - -/* - -*/ .mpform { width: 100% } div.mpform fieldset { diff --git a/constants.php b/constants.php index 2e17165..d1a69e2 100644 --- a/constants.php +++ b/constants.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/copy_field.php b/copy_field.php index dd87d54..7ff2e09 100644 --- a/copy_field.php +++ b/copy_field.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/delete.php b/delete.php index 1232152..7034957 100644 --- a/delete.php +++ b/delete.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/delete_field.php b/delete_field.php index 3a5d1fe..b757a63 100644 --- a/delete_field.php +++ b/delete_field.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -49,7 +50,7 @@ // Delete row $database->query( - "DELETE FROM "TP_MPFORM."fields" + "DELETE FROM ".TP_MPFORM."fields" . " WHERE field_id = '$field_id'" . " and page_id = '$page_id'" ); diff --git a/delete_submission.php b/delete_submission.php index cb480ff..38bd3ca 100644 --- a/delete_submission.php +++ b/delete_submission.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/DE/images/SF_de.png b/docs/DE/images/SF_de.png index a0c9ddc1060156477685877797157c79d7afd259..4407633306f320219cd9eea0690d5d10150f345b 100644 GIT binary patch literal 30016 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 DJ6J3M literal 3377 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 5.3 ? diff --git a/docs/DE/mpform/faq-zu-mpform.html b/docs/DE/mpform/faq-zu-mpform.html index 88f2046..d872938 100644 --- a/docs/DE/mpform/faq-zu-mpform.html +++ b/docs/DE/mpform/faq-zu-mpform.html @@ -117,7 +117,7 @@

Häufig gestellte Fragen zu MPForm

- woran kann das liegen?
Antwort: Wahrscheinlich haben Sie Namenserweiterung für die Ergebnistabelle geändert, nachdem Sie bereits ein Formularfeld angelegt hatten. - Ab Version 1.2 sollte dieses Problem nicht mehr auftreten, aber wenn Sie die Namenserweiterung + Ab Version 1.2.x sollte dieses Problem nicht mehr auftreten, aber wenn Sie die Namenserweiterung unter einer früheren Version von mpform geändert haben, nachdem bereits Felder angelegt wurden, kann es helfen, einfach im Backend die allgemeinen Optionen aufzurufen und erneut zu speichern. Das sollte mpform dazu veranlassen über die vorhandenen Felder diff --git a/docs/DE/mpform/index.php b/docs/DE/mpform/index.php index b76579b..6588b68 100644 --- a/docs/DE/mpform/index.php +++ b/docs/DE/mpform/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/DE/mpform/mehrseitige-formulare.html b/docs/DE/mpform/mehrseitige-formulare.html index 599546e..ac453b3 100644 --- a/docs/DE/mpform/mehrseitige-formulare.html +++ b/docs/DE/mpform/mehrseitige-formulare.html @@ -82,9 +82,15 @@

MPForm-Dokumentation: Mehrseitige Formulare

(Auf der letzten Seite bietet es sich an, auf eine normale Seite weitzerzuleiten, auf der Sie dem Benutzer z.B. für seine Teilnahme an der Umfrage danken.)
  • Nun können Sie die Formularfelder auf allen zuvor angelegten Seiten eingeben.
  • - - - + +

    Bis mpform 1.2.x wurden in der Bestätigungsmail an den Formularabsender und in der Mail +an den Seitenbetreiber nur die Felder der jeweils aktuellen Seite hinterlegt. Ab 1.3.x werden +die Eingaben zwischen den verschiedenen Seiten eines mehrseitigen Formulars weitergereicht und +die letzte Seite kann somit alle Eingaben gesammelt per Mail verschicken und in die Submissions-Tabelle +eintragen. +

    + +
    diff --git a/docs/DE/mpform/nach-dem-absenden.html b/docs/DE/mpform/nach-dem-absenden.html index e63e3b2..e1b328f 100644 --- a/docs/DE/mpform/nach-dem-absenden.html +++ b/docs/DE/mpform/nach-dem-absenden.html @@ -130,7 +130,7 @@

    Möglichkeiten, die Daten dem Sitebetreiber zugänglich zu machenDie Tabelle mit der in den Workflow-Einstellungen angegebenen Namensendung für die Ergebnistabelle existiert und in dieser Tabelle existieren Spalten für alle Felder. - Ab Version 1.2 sollte mpform diese Tabellen normalerweise immer konsistent halten. + Ab Version 1.2.x sollte mpform diese Tabellen normalerweise immer konsistent halten.
  • Die Namensendung darf nicht der String "DISABLED" sein, diff --git a/docs/DE/mpform/referenz-der-feldtypen.html b/docs/DE/mpform/referenz-der-feldtypen.html index 97a8e30..563c5e5 100644 --- a/docs/DE/mpform/referenz-der-feldtypen.html +++ b/docs/DE/mpform/referenz-der-feldtypen.html @@ -220,15 +220,9 @@

    MPForm-Dokumentation: Liste der Feldtypen

    verborgenes Feld input type="hidden" weiterreichen von Werten in mehrseitigen Formularen - in Verbindung mit der privaten Funktion - private_function_before_new_form kann dieses Feld benutzt - werden, um Werte einer vorausgegangenen Seite noch einmal zu senden. - Dadruch kann die einzelne Seite für den Benutzer übersichtlich - gehalten werden und trotzdem alle eingegebenen Werte auf der letzten - Seite per email verschickt werden. Sie müssen dazu allerdings für - jedes Feld auf jeder Folgeseite ein entsprechendes verborgenes Feld - anlegen. Die Ergebnistabelle wird dabei allerdings neben den Original- - Eingaben auch mit den Werten der verborgenen Felder bestückt. + private Funktionen können diese dann beispielsweise weiter verarbeiten. + Seit mpform 1.3.x werden die Eingaben zumindest für die Bestätigungsmail + automatish weitergereicht. diff --git a/docs/DE/mpform/referenz-der-optionen/bestaetigungsmail-an-formularabsender.html b/docs/DE/mpform/referenz-der-optionen/bestaetigungsmail-an-formularabsender.html index 811a0a8..f00ea31 100644 --- a/docs/DE/mpform/referenz-der-optionen/bestaetigungsmail-an-formularabsender.html +++ b/docs/DE/mpform/referenz-der-optionen/bestaetigungsmail-an-formularabsender.html @@ -90,13 +90,10 @@

    MPForm-Dokumentation: E-Mail-Einstellungen (Bestätigungsmail an Formula

    Jede Seite, für die im Abschnitt Bestätigungsmail an Formularabsender eine Empfängeradresse eingetragen ist, versucht eine Bestätigungsmail an den Absender zu versenden, nachdem das Formular fehlerfrei ausgefüllt und abgeschickt wurde. - Das macht bei einem mehrseitigen Formular keinen Sinn, man sollte dort also das Feld - Empfängeradresse frei lassen, denn auch auf einem mehrseitigen Formular würden - in der email immer nur die Felder verschickt, die sich auf der aktuellen - Seite befinden. Auf vorausgegangenen Seiten bereits eingegebene Werte kö:nnen dazu mit - Hilfe von verborgenen Feldern erneut gesendet werden.

    + Das macht bei einem mehrseitigen Formular erst auf der letzten Seite Sinn. Auf allen anderen sollte + man das Feld Empfängeradresse frei lassen.
    Sie müssen im Formular ein Feld des Typs E-Mail-Adresse verwenden und dieses - Feld hier auswählen um dieses Feld als Empfänger-Adresse festzulegen.

  • + Feld hier auswählen um dieses Feld als Empfänger-Adresse festzulegen.

    Absenderadresse
    Das ist die Absenderadresse, die der Benutzer zu sehen bekommt, wenn er die Bestätigungsmail erhält.
    diff --git a/docs/DE/mpform/referenz-der-optionen/index.php b/docs/DE/mpform/referenz-der-optionen/index.php index b76579b..6588b68 100644 --- a/docs/DE/mpform/referenz-der-optionen/index.php +++ b/docs/DE/mpform/referenz-der-optionen/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/DE/mpform/referenz-der-optionen/mail-an-sitebetreiber.html b/docs/DE/mpform/referenz-der-optionen/mail-an-sitebetreiber.html index f633bb5..c1e0d1a 100644 --- a/docs/DE/mpform/referenz-der-optionen/mail-an-sitebetreiber.html +++ b/docs/DE/mpform/referenz-der-optionen/mail-an-sitebetreiber.html @@ -92,11 +92,8 @@

    MPForm-Dokumentation: E-Mail-Einstellungen (Mail an Sitebetreiber)

    eingetragen sind, versucht emails zu versenden, nachdem das Formular mit ausgefüllten Pflichtfeldern abgeschickt wurde. Das macht bei einem mehrseitigen Formular keinen Sinn, man sollte dort also das Feld Empfängeradresse(n) frei lassen - (mit vielleicht nicht auf der letzten Seite). - Auch auf einem mehrseitigen Formular werden in der email immer nur die Felder verschickt, - die sich auf der aktuellen Seite befinden. Ein Hilfsmittel können hier verborgene - Felder sein, die auf vorausgegangenen Seiten eingegebene Werte erneut senden.

    - Standardmäßig wird die email an alle Empfänger gesendet, die im Feld + (mit Ausnahme der letzten Seite). + Standardmäßig wird die email an alle Empfänger gesendet, die im Feld Empfängeradresse(n) angegeben wurden. Sie haben aber die Möglichkeit, im Formular auch ein Feld des Typs E-Mail-Empfänger zu verwenden. Falls ein solches Feld existiert, wird es mit den Namensteilen der im Backend angegebenen diff --git a/docs/DE/mpform/referenz-der-optionen/workflow-einstellungen.html b/docs/DE/mpform/referenz-der-optionen/workflow-einstellungen.html index dadcc61..92256af 100644 --- a/docs/DE/mpform/referenz-der-optionen/workflow-einstellungen.html +++ b/docs/DE/mpform/referenz-der-optionen/workflow-einstellungen.html @@ -93,7 +93,8 @@

    MPForm-Dokumentation: Workflow-Einstellungen

    Nachdem ein Formular fehlerfrei ausgefüllt und abgeschickt wurde, gibt es zwei Möglichkeiten. Falls keine Folgeseite angegeben wurde, bleibt der Benutzer auf der aktuellen Seite, es wird aber statt des Formulars der Text ausgegeben, der im nächsten - Feld eingegeben wurde. Falls eine Folgeseite ausgewählt wurde, so wird diese angezeigt.
    + Feld eingegeben wurde. Falls eine Folgeseite ausgewählt wurde, so wird diese angezeigt. + Bei mehrseitigen Formularen muss hier die folgende Seite eingestellt werden.
    Dankestext
    Falls keine Folgeseite angegeben wurde, wird dieser Text statt des Formulars angezeigt, nachdem dieses fehlerfrei ausgefüllt wurde.
    diff --git a/docs/DE/mpform/standardformular.xml b/docs/DE/mpform/standardformular.xml index 607fe9c..23c4e48 100644 --- a/docs/DE/mpform/standardformular.xml +++ b/docs/DE/mpform/standardformular.xml @@ -1,9 +1,13 @@ - mpform 1.1.20.1 mod_mpform_fields field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value

    Hiermit erklären Sie sich damit einverstanden, dass der Websitebetreiber Ihre Daten verkaufen oder verschenken kann.

    -

    Außerdem bestätigen Sie, dass Sie unsere AGB gelesen und verstanden haben.

    ]]>
    extra help
    field_id section_id page_id position title type required value extra]]> help field_id section_id page_id position title type required value extra help
    mod_mpform_settings section_id page_id header]]> field_loop{TITLE}{REQUIRED}:{HELP}{FIELD}{ERRORTEXT}]]> footer - -]]> email_to mpform 1.3.0 mod_mpform_fields field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value

    Hiermit erklären Sie sich damit einverstanden, dass der Websitebetreiber Ihre Daten verkaufen oder verschenken kann.

    +

    Außerdem bestätigen Sie, dass Sie unsere AGB gelesen und verstanden haben.

    ]]>
    extra help
    field_id section_id page_id position title type required value extra]]> help field_id section_id page_id position title type required value extra help
    mod_mpform_settings section_id page_id header field_loop{TITLE}{REQUIRED}: +
    {HELP}
    +
    {FIELD}{ERRORTEXT}
    +
    ]]>
    footer + +]]> email_to email_from email_replyto email_fromname email_subject email_text{DATA}
    Verweisseite: {REFERER}
    IP-Adresse: {IP}
    Datum: {DATE}]]>
    success_page success_textDanke für das Ausfüllen des Formulars. Wir haben folgende Daten erhalten:
    {DATA}]]>
    submissions_text success_email_to success_email_from success_email_fromname success_email_text{DATA}]]> success_email_subject stored_submissions max_submissions heading_html{HEADING}]]> short_html{TITLE}: {DATA}
    ]]>
    long_html{TITLE}:
    {DATA}

    ]]>
    email_html{TITLE}: {DATA}
    ]]>
    uploadfile_html{TITLE}: {DATA}
    ]]>
    use_captcha upload_files_folder date_format max_file_size_kb attach_file upload_file_mask upload_dir_mask upload_only_exts is_following value_option_separator tbl_suffix enum_start
    \ No newline at end of file +Datum: {DATE}]]>
    success_email_to success_email_from success_email_fromname success_email_text success_email_subject stored_submissions max_submissions heading_html{HEADING}]]> short_html{TITLE}: {DATA}
    ]]>
    long_html{TITLE}:
    {DATA}

    ]]>
    email_html{TITLE}: {DATA}
    ]]>
    uploadfile_html{TITLE}: {DATA}
    ]]>
    use_captcha upload_files_folder date_format max_file_size_kb attach_file upload_file_mask upload_dir_mask upload_only_exts is_following value_option_separator tbl_suffix enum_start
    diff --git a/docs/DE/mpform/tabelle-oder-div.html b/docs/DE/mpform/tabelle-oder-div.html index 2e773b0..f697c7e 100644 --- a/docs/DE/mpform/tabelle-oder-div.html +++ b/docs/DE/mpform/tabelle-oder-div.html @@ -72,27 +72,49 @@

    Formatierung

    MPForm-Dokumentation: Tabelle oder nicht?

    Schwierigkeitsgrad B 

    -

    Das Standardlayout für ein Formular ist ein Tabellenlayout. Oft wird jedoch auch ein - tebellenloses Layout gewünscht. Das hat zum Beispiel den Vorteil, dass bei kleineren +

    Das Standardlayout für ein Formular basiert auf einem <div>-Layout. + Das hat zum Beispiel den Vorteil, dass bei kleineren Browserfenstern oder auf Mobilgeräten statt einen waagerechten Scrollbalken anzuzeigen - die Antworten einfach unter die Fragen rutschen, was ergonomisch als angenehmer empfunden wird.

    -

    Ein einfaches Beispiel für die Umstellung der Optionen auf tabellenloses Layout wäre:

    + die Antworten einfach unter die Fragen rutschen, was ergonomisch als angenehmer empfunden wird. + Manchmal wird jedoch ein Tabellenlayout gewünscht, bei dem die Positionierung der Elemente + strikter kontrolliert ist. Bis Version 1.2.x war dies auch die Default-Einstellung in mpform. +

    +

    Ein einfaches Beispiel für ein tabellenloses Layout (dies ist mittlerweile die Standardeinstellung) + sieht wie folgt aus:

    Kopfzeile:
    bleibt leer
    Feld Schleife:
    -
    <div class="questionbox">{TITLE}{REQUIRED}:</div>
    - <div class="answerbox">{FIELD}<br />{HELPTXT}</div>
    - <div class="newline">&nbsp;</div>
    +
    <div class="questionbox {CLASSES} mpform_title">{TITLE}{REQUIRED}:
    + <div class="mpform_help">{HELP}</div></div>
    + <div class="answerbox mpform_field">{FIELD}{ERRORTEXT}</div>
    + <div class="newline"></div>
    Fußzeile:
    <div class="submitbox">
    - <input type="submit" name="submit" value="Submit Form" />
    + <input type="submit" name="submit" class="mpform_submit" value="Formular Absenden" />
    </div>
    -

    Die angegebenen Klassen sind bereits in der Datei frontend.css enthalten. Sie könnten jedoch - noch etwas Feinschliff gebrauchen.

    -

    Beachten Sie, dass der Platzhalter {HELP} nur in Tabellen funktioniert. Falls Sie ein anderes - Layout verwenden möchten, müssen Sie also {HELPTXT} verwenden!

    +

    Ein tabellenbasiertes Layout hingegen würde so aussehen:

    +
    +
    Kopfzeile:
    +
    <table cellpadding="2" cellspacing="0" border="0">
    +
    Feld Schleife:
    +
    + <tr class="{CLASSES}"><td class="mpform_title">{TITLE}{REQUIRED}:</td>
    + <td class="mpform_help">{HELP}</td>
    + <td class="mpform_field">{FIELD}{ERRORTEXT}</td></tr> +
    +
    Fußzeile:
    +
    + <tr><td></td><td></td> + <td><input type="submit" name="submit" class="mpform_submit" value="Formular absenden" /></td></tr> + </table> +
    +
    +

    Die angegebenen Klassen sind bereits in der Datei frontend.css enthalten.

    +

    Beachten Sie, dass der Platzhalter {HELP} bis Version 1.2.x nur in Tabellen funktioniert hat. + Falls Sie ein anderes Layout verwenden möchten, müssen Sie entweder eine + aktuelle Version von mpform einsetzen oder in alten Versionen mussten Sie {HELPTXT} verwenden!

    diff --git a/docs/EN/images/SF_en.png b/docs/EN/images/SF_en.png index d205c5541ee89d215f0eed5dd415ab810980da71..b3b66bf8a1d070d0924a7f446372b16d027e586f 100644 GIT binary patch literal 31663 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 QX>B|?8Ks8>(t29@twN%FIW(kHTOuW)(C_ z3kIVr0hicM2f!VB%rge?i@^zP;0l8=vO^agEGgv#xOv1)MP2F0rz1SocpEsSt_{c#rX9%rhE>m0>E)vN@3DZpa3Q1mBG@hXQwX zJU%r>?0Nt7L%t^e$~*r2I7-n(@xp|X@~_VtjoC>fD6Xj3TMAM1C+NLzSIT?4a3?A* z`~R{uLuH-$>^w$Q8&8wJxWe~1K0dyrq@-IGi9}XZRJ5l^yOuPRyUz6Jk@$!s(njr= zk3&N~)bGoW9zAMr*C;n_@ue=)&(GgZEmx3@UR-n-6e@C^dd}^Wf^?s&!?IHf?dYV)XqWjZ!>gwSO`iTi91s?gvN?-NQ z$V*ck-MT&UM>1p(-d>awKBL6c1^vxDk9_L)+*9YS71Y#VJf2ZU^3snc;;Kb2Do66} z>~1ejJ0dQ+sBE4|NKY{W%PvkyG|E@YSi0AeeXDG)=?diZrz3Or+(b8uwxr)=?ZEE- z%c+oR`iu8XIu%6F3bwd>D=P@W_C^U?OjSB~7=eQYAU{g+;}C2LOFHI6IhJ}9*>}7i+h@5=>1@3hL9+(i$R8 zRi0ws9L}0`%!;!%RZ|nb>eThI#Hp=;POa2W&nn8e-OqoeYieR#nKL%PHx_k($J*2Y z-gY_G`^b^U%aaXOR#rxWMTLd8@V&N|xcT_ftEyx!OFK{0{qoD9ZIw(9%mki+?+9^V z{f?LJr=l>S_-vv1n)uWxQ^U2oq5`5I$1XWsbQ_IOfD@58`Vd97LA&Dy+S-#76VY*T z0+U@`T6%hVucul&I>g1rOVd#rz5#8afn%EseDYKix5bghg{S$lMang~Na-cn(UC@0 zjK=rxxc(~%yfQc7bS%Y0E4a3nmie-Ejnl1LxBUF7PVriA%O!l9nEQF}*KS$9(n(K= zO}+&}lpr{W^*9{*ZXp3KzU|i5D}o3U6(Ep(f~k&B?Vtje}vU z(y%u*H8)mPNPF3K>kHz^yA!4u|Jt)|lQS!mjFNKl)a&!JrKJm)SmV{l#U?|W^Dgo` zFW=W)90GHPP~71+l$9HHwl|D4`uh7TD=RsV9ZL!PYGz`BMxzZ362sh)sTg8uMnXio zlz-7iA=yQw8do6bUl>CSO4YeNNT{|Zv49rWFs;s=*k<%ylY|NTl56@Fg zH7J4Jqaz=SsnL#=mB?#b8}z7vr$KMi8iVuNdd6&Q3uGuJyF#W8n}tql8fKQe+1q;o zIo&-| z2?~O>aA|6Gh}V3dsK{>U?@vG-DBEF^_E;EjpYIzjL)}nP5)c$@e=5O$=FAx+G6_6R zWh?hyAy+QdR1ydTJvgbTNKiBF{J6%`3upNGuUoS4$t{q{9Gsj&j2#m9>mLjhnl(iW zkSyD{n3+A-#rIlYl9QA3_V$*{=%0W8?i~*g&%5{U&xwd=41dlZi9!dV z*5exU^73ZVd>zKByyLMCY;C#a{K_=4W4LBBj9aZQ>FVkN!WR@0YBAT+ijIlVc5ons z@$>V~v?lV0Bqecka&p?>!_?H&OiWDhc>HuHT1#77`{2QY!@hEog7WgURaGe<9A-A} zsYcvnLu4fPrUhwhb z$1~R-`K|TpC8%fC^^A^IKYON7@9ypn@@QdU(dU`hJ-g~73y^S4K~HA@V_u*!d8@}FS~f!)TY?#chue*Yl;NZ*UP+(4`lKf=lzYgEV+g@%=S z!h2`V8gts)+xPbN0s(_*PJMp=cywfBVq)UJfdlnnTqLvij|9}>Tazx^0mc9D;lrGy zfq?|9965p%fo zL)i;n@=rhKu_w|}`~_ehP;a_AsNTkO_Qa=8ue#6OiD^Q3a&U8tC{pL}L^L8OIKB}> z4CRq}pdZL4e6C@TWaaDa-4yJhp`qdA^sUT!QdLzIjeyC~ITuz{K0+Npup!t0Mf{y8 z?v`R#S67PzK4-Qy*_j12uwV~e_{f$!mh12S;>8O#c6O`Qr?{x7f1Nr7wli=WUZ80$ zI59a1gmL@LLDus|B{%8w9`(gMW;w+z?J`A~Zke73_&dtT_}Z}GM#l2;a#Kr-c6MZn zd|*vNLPBY2X>ILZjsJGO)vAxbzW&pYkn3JvUP?+2jqN7tu+eI444*iJy2uP|nc5(b ztgI|a;aqN{TTahMvblvt7Lz&GS$yMuWit?r6~xGMbA~1+si~==)pqvwaZSa=#mCR- z>UT8WXa4CYkS1m(raSmfDwRs1xPZ0$h)@9WDJe4GMAxzfV{8C7XH>TUFuxsmX>*LL%qQs$*CH-ju*^qNLOSs20prow^mJ3xQC!wNef@!0 zVQn#q>mUnyK$Je_=jY!%TIRWgDSwlvgTKRUuVE;tb##7lk&rf!i^nrEFyQd{1|-YR z?;g5LN|xJnzif&TGV0J*R?Y67UGw?6Yw81p5DWhKW5st?upS0ZBmQ+&MDxAT2U7lJAiZr^XGePUvr1oH#7)|i)#|#f&8@S)&UJ+?^ z8u#X|in+WVuE;|>U1Mb`M)PG>R<6oyERZf6o7^w~o$HTT;<$%WKyqV)&mXk-lh@;n z3N5dw0Br~Wl-g2{Ra5goW04PC!H zRlb1lpTQaT`nkAJdUCaU2h1gzPfFdiwRY9=Z|v{PP_~d15K!WXB%fqGdNf*RCQa6N zWMm{dIy!<+ov`%^_J2o53 z)DRrMvaXI!q7{cYhFX8pF~{_l-1ko*wpx^IxvRtE%xUEhFSE0^H#gUG_zXlIJ$$I1 zC^^k`5m3Ln>Xh`kYM0ZGD=u2K7pDxqw(BPbteu-p%@@cD^4(aBYtq5%=7QrazG?37 zUkyB=&%JB{K@6myP-NMb^pKIWd0b8Kiv7?fZ;Ckp^qpBZWHm+;oL-U66ftnePS}Ll z=3Xj zsj@vm2cm)hNz=^qarabH3w?VxidfHkEDD$%Rcv9Zq1&e2hI(CI0_JA|~727pxh2m5qAqOFQqUF2@*kJ46vUOqMxx-dU_ z8A7IJ=JfEt_SaHcBAfws@-(hQGk19YCI{`!UG)YHkdE)`J+_LXJ%`zHEmnjFD<(7s z1RQ{)5f=tni~lraN+B8AF|vjZ2V5%TR3Tpr*-|!dQ7pBS<0zWuZJ~YsG3_^U_>+Hy z*o3BEP@{mL?F`}!aQ&TU2qEh)LzLxyLi@iBg&uOwKG-tcDwCzAGwU3N=9J|`>I?=H z1;olV)2wrKBvJaKAP%-AQ$vQf`(@>O(m{JRhG!jtMG(~VQu&{Ur2a(+n5xa4d9&%r*Z#hKVD1o<0O3emD4WVj4*$w@eZm+NM63& z+tIPqer?Ik)zx5nQuWMl2`Ex}}V3{(L=QK+lMn&e;xs2Bj2n!1r zd0iTRu-_Y3^kLbBdNT8QvV!8Vv9Iz4ETR$<2Zx55gQaNa3lSi2+?TFgF-m|73f^Gx zZ5yxo_Kq=>LsUyt`=Y7e@`q8+@q+r{5_@gg>V?DRxo1OB`{rQ4z@(+>Y4zUjHn832 z*_(i_Iw-=Elac~9TTBU<>LC}(&c=9xz*K$sNl`uA+qZAe=@F{dQ9qc`=LCR{te}?Y z{3BLAG381ZH)B0Lq4A3H@+OHQp7rKu!1;@4XTOZc?Wegi$sl&F#2J--Ik{}rk`&c?=uRdzLsXK&2C-$YSSvC?x%N)v z=-*8$t+e+UgI1T zqbD1FoR#mYAzBL}$$iFBp^XHeVXWFyZpXzEp&cQjb!dbrzI6t|7e;)`>^Q`3KgLo$ zaXi*B;C-06S?-54^4*PXbk#iz5jFx(WB*+Nt?Ea{)nO_7k5kaS4d8p^{w92n+wk6^ z(RBKFhUk0)f!9{y2dRT^ZP#~0u5gDJ6ckW&MkQ(bA(P%nCX?giIYQok?CC+63dGVj zNy$bfk#gdrD17oqhM=s<3lvpXSCdHH)KGL^~^Ue}Nkm$f4gu`hRaMIC!b}bK@)OIAU*J9#a2L6LM04dU~sld}6(qzQ_xJh~Fsr z%aqSQWaWrNQU>X{XrqK)#>Zr@*QD)6lWGv!%uwu3W(>KJ?cV7bJy8VYMm zRgU>}oVUVm$0+_FID}xuK)=zx5#2c5qAve!zVsy^^a!>S3qy7;wbYdzzS@=OH7M%4 zh1=U(+n&3#rZ*cXKFmzvYY=ckOqyM}CpVPhjP^QR?pn(Xu3S@Pv$=we4P=s%lJXrU e$l~@`#nr?8zib34fPV= 5.3 ? diff --git a/docs/EN/mpform/after-submitting.html b/docs/EN/mpform/after-submitting.html index 095b29c..6c99809 100644 --- a/docs/EN/mpform/after-submitting.html +++ b/docs/EN/mpform/after-submitting.html @@ -125,7 +125,7 @@

    Ways to show data to the site owner

    • The table with the suffix defined in the workflow settings at Name suffix for results table must exist and contain - a column for each field of the form. Starting with version 1.2 mpform should + a column for each field of the form. Starting with version 1.2.x mpform should always keep these tables consistent.
    • diff --git a/docs/EN/mpform/faq-to-mpform.html b/docs/EN/mpform/faq-to-mpform.html index c4984d0..9f5e0fb 100644 --- a/docs/EN/mpform/faq-to-mpform.html +++ b/docs/EN/mpform/faq-to-mpform.html @@ -117,7 +117,7 @@

      Frequently asked questions regarding MPForm

      in \modules\mpform\evalform.php on line 533" - What does this mean?
      Answer: You probably changed the suffix of the results table after you created the first field of the form. - Starting with version 1.2 of mpform the problem should not occur anymore, but if you have changed + Starting with version 1.2.x of mpform the problem should not occur anymore, but if you have changed the suffix of the results table in an earlier version of mpform when already fields were present, it should help to open the general settings page in the backend and simply save the settings again. This should trigger a scan of the fields and update the results table accordingly.
      diff --git a/docs/EN/mpform/field-types.html b/docs/EN/mpform/field-types.html index baae321..60c2170 100644 --- a/docs/EN/mpform/field-types.html +++ b/docs/EN/mpform/field-types.html @@ -211,13 +211,9 @@

      MPForm Documentation: Field types of MPForm

      hidden field input type="hidden" handing over values between individual pages of multi page forms - in conjunction with the private function - private_function_before_new_form this field type can be used to - submit values of a previous page once again. This may help to keep each page simple - and at the same time have all values available on the last page for sending them - by email. However, you have to define a hidden field for each field on all subsequent - pages of the form. The results table, however, will hold not only the original input - values, but the values of teh hidden fields as well. + private functions for instance can process these values. + since mpform 1.3.x all the submissions of individual pages are handed through at least + for sending the confirmation mail at the end. diff --git a/docs/EN/mpform/index.php b/docs/EN/mpform/index.php index b76579b..6588b68 100644 --- a/docs/EN/mpform/index.php +++ b/docs/EN/mpform/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/EN/mpform/multi-page-forms.html b/docs/EN/mpform/multi-page-forms.html index 06859c0..1cfab54 100644 --- a/docs/EN/mpform/multi-page-forms.html +++ b/docs/EN/mpform/multi-page-forms.html @@ -81,7 +81,13 @@

      MPForm Documentation: Multi page forms

      (On the last page it is recommended to forward to a text page where yo can thank the user for her participation on the poll.)
    • Finally add all the fields to the pages already created in the previous steps.
    • - + +

      Up to mpform 1.2.x the confirmation mails to the user and to the site owner were only able +to show the fields of the current page. Starting with 1.3.x the submissions are handed over +from one page of a multi page form to the next one, which allows the last page to send emails +of all the submissions compiled together and save these values into the submissions table. +

      + diff --git a/docs/EN/mpform/settings-of-mpform/confirmation-mail.html b/docs/EN/mpform/settings-of-mpform/confirmation-mail.html index c73a5a1..123cf7c 100644 --- a/docs/EN/mpform/settings-of-mpform/confirmation-mail.html +++ b/docs/EN/mpform/settings-of-mpform/confirmation-mail.html @@ -84,13 +84,13 @@

      MPForm Documentation: E-Mail Settings (confirmation mail to user)

      "To" address
      -
      Each page with content in this field tries to send a confirmation mail to the sender - after a form has been submitted successfully. This does not make much sense for a multi page form, - because the email always contains only the fields of the current form, even on multi page forms. - Hidden forms are handy to resubmit values which have been entered already on a previous page. +

      Each page with content in this field tries to send a confirmation mail to the sender + after a form has been submitted successfully. In multi page forms this only makes sense on + the last page of the series. On all other pages of a multi page form this field should be + left blank.
      To ask the user for his own email address you need to use a field of type - E-Mail-Address and select this one here.

      + E-Mail-Address and select this one here.

      "From" address
      This is the email address which the user sees when he receives the confirmation mail.
      diff --git a/docs/EN/mpform/settings-of-mpform/index.php b/docs/EN/mpform/settings-of-mpform/index.php index b76579b..6588b68 100644 --- a/docs/EN/mpform/settings-of-mpform/index.php +++ b/docs/EN/mpform/settings-of-mpform/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/EN/mpform/settings-of-mpform/mail-to-site-owner.html b/docs/EN/mpform/settings-of-mpform/mail-to-site-owner.html index b4def35..9455950 100644 --- a/docs/EN/mpform/settings-of-mpform/mail-to-site-owner.html +++ b/docs/EN/mpform/settings-of-mpform/mail-to-site-owner.html @@ -88,11 +88,8 @@

      MPForm Documentation: E-Mail Settings (mail to site owner)

      "To" address(es)

      Each page with content in this field tries to send an email after a form has been - submitted successfully. This maybe does not make much sense for a multi page form, - because the email contains always only the fields from the current form. If you - want to send an email there, hidden fields are handy to resubmit values which have - been entered already on a previous page of the multi page form. -

      + submitted successfully. This does not make much sense for a multi page form except + for the last page of the series. By default the email is sent to all recipients listed in the settings field "To" address(es). You can also add a field of type E-Mail recipient to the form. diff --git a/docs/EN/mpform/settings-of-mpform/workflow-settings.html b/docs/EN/mpform/settings-of-mpform/workflow-settings.html index 984eb10..80952ca 100644 --- a/docs/EN/mpform/settings-of-mpform/workflow-settings.html +++ b/docs/EN/mpform/settings-of-mpform/workflow-settings.html @@ -92,7 +92,8 @@

      MPForm Documentation: Workflow Settings

      There are two possible ways after the form has been submitted successfully. If no Following page has been set, the user will stay on the current page. Instead of the form the text from the followng setting will be shown. - If a Following page is set, the user is redirected to that page instead.
      + If a Following page is set, the user is redirected to that page instead. + For multi page forms the following page has to be set here.
      Success text
      If no Following page has been set, this text will be shown after the form has been submitted successfully.
      diff --git a/docs/EN/mpform/standardform.xml b/docs/EN/mpform/standardform.xml index ab26d3c..609e3a2 100644 --- a/docs/EN/mpform/standardform.xml +++ b/docs/EN/mpform/standardform.xml @@ -1,11 +1,18 @@ - mpform 1.1.20.1 mod_mpform_fields field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value

      Hereby you agree that the owner of this web site may sell or give away all data you entered in this form.

      -

      Besides you acknowledge that you did read and understand our general terms and conditions.

      ]]>
      extra help
      field_id section_id page_id position title type required value extra]]> help field_id section_id page_id position title type required value extra help
      mod_mpform_settings section_id page_id header]]> field_loop{TITLE}{REQUIRED}:{HELP}{FIELD}{ERRORTEXT}]]> footer - -]]> email_to mpform 1.3.0 mod_mpform_fields field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value extra help field_id section_id page_id position title type required value

      Hereby you agree that the owner of this web site may sell or give away all data you entered in this form.

      +

      Besides you acknowledge that you did read and understand our general terms and conditions.

      ]]>
      extra help
      field_id section_id page_id position title type required value extra]]> help field_id section_id page_id position title type required value extra help
      mod_mpform_settings section_id page_id header field_loop{TITLE}{REQUIRED}: +
      {HELP}
      +
      {FIELD}{ERRORTEXT}
      +
      +]]>
      footer + + + +]]> email_to email_from email_replyto email_fromname email_subject email_text{DATA}
      Referer page: {REFERER}
      IP address: {IP}]]>
      success_page success_textThank you for submitting your data. We received the following data:
      {DATA}
      Referer page: {REFERER}
      Your IP address: {IP}]]>
      submissions_text success_email_to success_email_from success_email_fromname success_email_text{DATA} -
      Referer page: {REFERER}
      Your IP address: {IP}]]>
      success_email_subject stored_submissions max_submissions heading_html{HEADING}]]> short_html{TITLE}: {DATA}
      ]]>
      long_html{TITLE}:
      {DATA}

      ]]>
      email_html{TITLE}: {DATA}
      ]]>
      uploadfile_html{TITLE}: {DATA}
      ]]>
      use_captcha upload_files_folder date_format max_file_size_kb attach_file upload_file_mask upload_dir_mask upload_only_exts is_following value_option_separator tbl_suffix enum_start
      \ No newline at end of file +Date: {DATE}]]>
      success_email_to success_email_from success_email_fromname success_email_text success_email_subject stored_submissions max_submissions heading_html{HEADING}]]> short_html{TITLE}: {DATA}
      ]]>
      long_html{TITLE}:
      {DATA}

      ]]>
      email_html{TITLE}: {DATA}
      ]]>
      uploadfile_html{TITLE}: {DATA}
      ]]>
      use_captcha upload_files_folder date_format max_file_size_kb attach_file upload_file_mask upload_dir_mask upload_only_exts is_following value_option_separator tbl_suffix enum_start
      diff --git a/docs/EN/mpform/table-or-div.html b/docs/EN/mpform/table-or-div.html index 89768ba..a3b85d1 100644 --- a/docs/EN/mpform/table-or-div.html +++ b/docs/EN/mpform/table-or-div.html @@ -71,27 +71,52 @@

      Using table or div in MPForm

      MPForm Documentation: Table or not?

      Level of difficulty: B 

      -

      The standard layout for a form is a table layout. Sometimes a layout without tables is more apropriate +

      The standard layout for a form is based on a <div>-layout. This has, for instance, the advantage that in a small browser window or on mobile devices no horizontal scroll bar is required. Instead, the answers slide from beside the questions to below the questions - automagically. Most users feel this as designed more ergonomically.

      -

      A simple example for a layout without tables could look like this:

      + automagically. Most users feel this as designed more ergonomically. + Sometimes however, a table based layout is requested, which is more strict in terms of alignment of + the enclosed elements. Up to version 1.2.x this was the default setting in mpform. +

      + +

      A simple example for a layout without tables looks like this (this is the default setting now):

      Header:
      stays empty
      Field Loop:
      -
      <div class="questionbox">{TITLE}{REQUIRED}:</div>
      - <div class="answerbox">{FIELD}<br />{HELPTXT}</div>
      - <div class="newline">&nbsp;</div>
      +
      <div class="questionbox {CLASSES} mpform_title">{TITLE}{REQUIRED}:
      + <div class="mpform_help">{HELP}</div></div>
      + <div class="answerbox mpform_field">{FIELD}{ERRORTEXT}</div>
      + <div class="newline"></div>
      Footer:
      <div class="submitbox">
      - <input type="submit" name="submit" value="Submit Form" />
      + <input type="submit" name="submit" class="mpform_submit" value="Submit Form" />
      </div>
      +

      a layout based on tables on the other hand would look ass follows:

      +
      +
      Header:
      +
      <table cellpadding="2" cellspacing="0" border="0">
      +
      Field Loop:
      +
      + <tr class="{CLASSES}"><td class="mpform_title">{TITLE}{REQUIRED}:</td>
      + <td class="mpform_help">{HELP}</td>
      + <td class="mpform_field">{FIELD}{ERRORTEXT}</td></tr> +
      +
      Footer:
      +
      + <tr><td></td><td></td> + <td><input type="submit" name="submit" class="mpform_submit" value="Formular absenden" /></td></tr> + </table> +
      +
      + +

      The classes above are already part of the file frontend.css.

      -

      Please remember that the place holder {HELP} only works in tables. If you use another layout, you need - to use {HELPTXT} instead!

      +

      Note that in versions until 1.2.x the place holder {HELP} only worked + in tables. If you used another layout, you either need an up-to-date version of mpform + or you needed to use {HELPTXT} instead!

      diff --git a/docs/images/index.php b/docs/images/index.php index b76579b..6588b68 100644 --- a/docs/images/index.php +++ b/docs/images/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/index.php b/docs/index.php index a29dc72..68e2700 100644 --- a/docs/index.php +++ b/docs/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/docs/style/index.php b/docs/style/index.php index b76579b..6588b68 100644 --- a/docs/style/index.php +++ b/docs/style/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/evalform.php b/evalform.php index a72908a..28e38b3 100644 --- a/evalform.php +++ b/evalform.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -216,15 +217,6 @@ function eval_form($section_id) { $files_to_attach = array(); $upload_filename = ''; - // Check that submission ID matches - if (!isset($_SESSION['submission_id_'.$section_id]) - OR !isset($_POST['submission_id']) - OR $_SESSION['submission_id_'.$section_id] != $_POST['submission_id']) { - include_once(WB_PATH .'/modules/mpform/paintform.php'); - paint_form($section_id); - return; - } - if(ENABLED_ASP && ( // form faked? Check the honeypot-fields. ( !isset($_POST['submitted_when'.$section_id]) OR !isset($_SESSION['submitted_when'.$section_id])) @@ -252,6 +244,24 @@ function eval_form($section_id) { if($query_settings->numRows() > 0) { $fetch_settings = $query_settings->fetchRow(); + $is_following = $fetch_settings['is_following']; + // Check that submission ID matches + if (!isset($_SESSION['submission_id_'.$section_id]) + OR !isset($_POST['submission_id']) + OR $_SESSION['submission_id_'.$section_id] != $_POST['submission_id']) { + if ($is_following) { + $sUrlToGo = WB_URL.PAGES_DIRECTORY; + if(headers_sent()) + $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$sUrlToGo); + else + header("Location: ". $sUrlToGo); + exit(0); + } + include_once(WB_PATH .'/modules/mpform/paintform.php'); + paint_form($section_id); + return; + } + $email_from = $fetch_settings['email_from']; if(substr($email_from, 0, 5) == 'field') { // Set the email from field to what the user entered in the specified field @@ -345,6 +355,9 @@ function eval_form($section_id) { $err_txt = array(); $html_data_user = ''; $html_data_site = ''; + $iSID = $_SESSION['submission_id_'.$section_id]; + if(isset($_SESSION['html_data_user'.$iSID])) $html_data_user = $_SESSION['html_data_user'.$iSID]; + if(isset($_SESSION['html_data_site'.$iSID])) $html_data_site = $_SESSION['html_data_site'.$iSID]; $format = DEFAULT_DATE_FORMAT. " " .DEFAULT_TIME_FORMAT; $now = date($format); @@ -1021,8 +1034,11 @@ function eval_form($section_id) { // Now check if the email was sent successfully if (isset($success) AND $success == true) { // can't do this in captcha module when multiple forms on one page! - if (isset($_SESSION['captcha_time'])) unset($_SESSION['captcha_time']); - + if (isset($_SESSION['captcha_time'])) unset($_SESSION['captcha_time']); + + $_SESSION['html_data_user'.$iSID] = $html_data_user; + $_SESSION['html_data_site'.$iSID] = $html_data_site; + // execute private function in private.php, if available if (function_exists('private_function_on_success')) { $success = private_function_on_success($section_id); @@ -1037,6 +1053,8 @@ function eval_form($section_id) { ); // delete the referer page reference after it did its work: unset($_SESSION['href']); + unset($_SESSION['html_data_user'.$iSID]); + unset($_SESSION['html_data_site'.$iSID]); } else { $query_menu = $database->query( @@ -1051,7 +1069,8 @@ function eval_form($section_id) { . PAGES_DIRECTORY . $fetch_settings['link'] . PAGE_EXTENSION; - echo ""; + $_SESSION['following_page_'.$success_page]=$iSID; + echo ""; } } } @@ -1059,6 +1078,8 @@ function eval_form($section_id) { // delete the referer page reference after it did its work: unset($_SESSION['href']); unset($success); + unset($_SESSION['following_page_'.PAGE_ID]); + if (isset($_SESSION['mpf'])) { unset ($_SESSION['mpf']); } diff --git a/export.php b/export.php index 9845406..cac60e4 100644 --- a/export.php +++ b/export.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/frontend.default.css b/frontend.default.css index e42bcca..3812c50 100644 --- a/frontend.default.css +++ b/frontend.default.css @@ -1,5 +1,22 @@ +@import url("../../include/jscalendar/calendar-system.css"); + +/* calendar: */ + +.calendar .nav { + background: #DDDDDD url("../../include/jscalendar/menuarrow.gif") no-repeat 100% 100%; +} + +.calendar .combo { + z-index: 99; +} + + /* new classes: */ -/**/ + +div.mpform { + background-color:#fff; +} + div.mpform p { padding:1px; margin:1px; @@ -44,6 +61,10 @@ div.mpform div.newline { clear: both; margin: 0; padding: 0; + margin: 0px; + border-width: 0px; + height: 0px; + width: 100%; } div.mpform div.questionbox { @@ -51,12 +72,9 @@ div.mpform div.questionbox { float:left; width:180px; height:auto; - background:#ffd; padding: 4px; margin: 2px 0px 2px 2px; - border-width: 1px 0px 1px 1px; - border-style: solid; - border-color: #aa3; + border-width: 0px; text-align: right; } @@ -65,12 +83,9 @@ div.mpform fieldset div.questionbox { float:left; width: 172px; height:auto; - background:#ffd; padding: 4px; margin: 2px 0px 2px 2px; - border-width: 1px 0px 1px 1px; - border-style: solid; - border-color: #aa3; + border-width: 0px; text-align: right; } @@ -78,7 +93,6 @@ div.mpform div.answerbox { float:left; width:420px; height:auto; - background:#ffd; padding: 4px; margin: 2px 2px 2px 0; } @@ -87,10 +101,9 @@ div.mpform fieldset div.answerbox { float:left; width: 412px; height:auto; - background:#ffd; padding: 4px; - margin: 2px 2px 2px 0; - border: 1px solid #aa3; + margin: 2px 2px 2px 0px; + border: 0px; } div.mpform div.submitbox { @@ -119,6 +132,7 @@ div.mpform div.submitbox input { vertical-align: top; padding: 6px; background-color: #f7f7f7; + text-align: left; color: black; } @@ -184,7 +198,8 @@ div.mpform_missing { background-color: white; } -.mpform_date, .mpform_err_date{ +.mpform_date, +.mpform_err_date{ width: 120px; } @@ -193,7 +208,8 @@ div.mpform_missing { border: 0; vertical-align: middle; } -.mpform_email, .mpform_err_email { +.mpform_email, +.mpform_err_email { width:410px; } @@ -263,8 +279,7 @@ span.mpform_small { } .mpform_help_box_div{ - -/*background-color:#5587B1;*/ + background-color:#5587B1; } .mpform_help_box_hr { @@ -297,272 +312,59 @@ div.mpform_results { padding: 6px; } -/* >>> Start Calendar */ -.calendar { - position: relative; - display: none; - border: 1px solid; - border-color: #fff #000 #000 #fff; - font-size: 11px; - cursor: default; - background: Window; - color: WindowText; - font-family: tahoma,verdana,sans-serif; -} - -.calendar table { - border: 1px solid; - border-color: #fff #000 #000 #fff; - font-size: 11px; - cursor: default; - background: Window; - color: WindowText; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; - background: ButtonFace; -} - -.calendar .nav { - background: ButtonFace url(../../include/jscalendar/menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000; - background: ActiveCaption; - color: CaptionText; - text-align: center; -} - -.calendar thead .headrow { /* Row containing navigation buttons */ -} - -.calendar thead .daynames { /* Row containing the day names */ -} - -.calendar thead .name { /* Cells containing the day names */ - border-bottom: 1px solid ButtonShadow; - padding: 2px; - text-align: center; - background: ButtonFace; - color: ButtonText; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - border: 2px solid; - padding: 0px; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - border-width: 1px; - padding: 2px 0px 0px 2px; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid ButtonShadow; - background: ButtonFace; - color: ButtonText; -} - -.calendar tbody .rowhilite td { - background: Highlight; - color: HighlightText; -} - -.calendar tbody td.hilite { /* Hovered cells */ - padding: 1px 3px 1px 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar tbody td.active { /* Active (pressed) cells */ - padding: 2px 2px 0px 2px; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; - padding: 2px 2px 0px 2px; - background: ButtonFace; - color: ButtonText; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody td.disabled { - color: GrayText; -} - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell */ - background: ButtonFace; - padding: 1px; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; - color: ButtonText; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - padding: 1px; - background: #e4e0d8; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; +/*** Don't remove the class nixhier, this is required for ASP ***/ +.mpform_hiddenfield, +.nixhier { + display:none; } -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; - background: Menu; - color: MenuText; - font-size: 90%; - padding: 1px; +/*** Popup box for displaying the help text ***/ +.HelpDiv { + display: none; + position: fixed; z-index: 99; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - padding: 0px; - border: 1px solid #000; -} - -.calendar .combo .hilite { - background: Highlight; - color: HighlightText; -} - -.calendar td.time { - border-top: 1px solid ButtonShadow; - padding: 1px 0px; - text-align: center; - background-color: ButtonFace; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: Menu; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; + padding-top: 100px; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgb(0,0,0); + background-color: rgba(0,0,0,0.4); +} + +.HelpDiv-content { + background-color: #fefefe; + margin: auto; + padding: 20px; + border: 1px solid #888; + width: 65%; +} + +.close { + color: #aaaaaa; + float: right; + font-size: 28px; font-weight: bold; + padding-right: 10px; } -.calendar td.time span.hilite { - border-color: #000; - background-color: Highlight; - color: HighlightText; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; } -/* <<< End Calendar */ -/*** Don't remove the class nixhier, this is required for ASP ***/ -.mpform_hiddenfield, -.nixhier { - display:none; -} /* deprecated definitions, only for forms created with mpform < 0.3.0 mpform_td_help is now called mpform_help */ .mpform_td_help{ - width:16px; - vertical-align:top; + width: 16px; + vertical-align: top; } + diff --git a/frontend_body.js b/frontend_body.js new file mode 100644 index 0000000..ed0029e --- /dev/null +++ b/frontend_body.js @@ -0,0 +1,74 @@ + function helpme(id,msg,title,help) { + if( document.getElementById(id).parentNode.parentNode.parentNode.parentNode.tagName.toUpperCase()=="TABLE" ){ + // document.getElementById(id).parentNode.tagName!="DIV"){ + var theTableBody = document.getElementById(id).parentNode.parentNode.parentNode.parentNode.tBodies[0]; + var row = 1+document.getElementById(id).parentNode.parentNode.rowIndex; + if ((theRowOpened == row) && (theTableOpened == theTableBody)) { + removeRow(theRowOpened, theTableOpened); + theRowOpened = -1; + } else { + if (theRowOpened > 0) { + if(theRowOpened' + +((title) + ? '
      ' + +help + +': ' + +title + +'

      ' + : '') + +'
      ' + +msg + +'
      '; + } + function removeRow(row,theTableBody) { + theTableBody.deleteRow(row); + } diff --git a/functions.php b/functions.php index a545a8f..2333378 100644 --- a/functions.php +++ b/functions.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/help.php b/help.php index 5cfe00b..c3bf2f5 100644 --- a/help.php +++ b/help.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/htt/backend_modify.htt b/htt/backend_modify.htt index 0a14204..8df8bcc 100644 --- a/htt/backend_modify.htt +++ b/htt/backend_modify.htt @@ -71,27 +71,27 @@ - + - +
        [{TEXT_MODIFY}] {field_field_title}{field_field_title} {type_field}   {REQUIRED_ICON} {multiselect_field} - ^ + ^ - v + v - {TEXT_DELETE} + {TEXT_DELETE} diff --git a/htt/index.php b/htt/index.php index 0d49d28..750993f 100644 --- a/htt/index.php +++ b/htt/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/images/index.php b/images/index.php index 0d49d28..750993f 100644 --- a/images/index.php +++ b/images/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/import.php b/import.php index b35ab0c..d8c0bb1 100644 --- a/import.php +++ b/import.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/index.php b/index.php index b76579b..6588b68 100644 --- a/index.php +++ b/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/info.php b/info.php index da74bae..c20f8c3 100644 --- a/info.php +++ b/info.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -21,7 +22,7 @@ $module_directory = 'mpform'; $module_name = 'mpForm'; $module_function = 'page'; -$module_version = '1.2.3'; +$module_version = '1.3.0'; $module_platform = '2.8.x'; $module_status = 'stable'; $module_author = 'Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others'; diff --git a/install.php b/install.php index c51ba99..e3d0cfd 100644 --- a/install.php +++ b/install.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/jscalendar.php b/jscalendar.php index 0c9214d..037eb42 100644 --- a/jscalendar.php +++ b/jscalendar.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/DE.php b/languages/DE.php index 8d0d687..a6a9176 100644 --- a/languages/DE.php +++ b/languages/DE.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/EN.php b/languages/EN.php index 34f5825..d4f986a 100644 --- a/languages/EN.php +++ b/languages/EN.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/FR.php b/languages/FR.php index b8ab1ad..46e3508 100644 --- a/languages/FR.php +++ b/languages/FR.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/IT.php b/languages/IT.php index 58e9fd2..df05b5d 100644 --- a/languages/IT.php +++ b/languages/IT.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/NL.php b/languages/NL.php index 21a651d..2030c99 100644 --- a/languages/NL.php +++ b/languages/NL.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/NO.php b/languages/NO.php index 800d73b..cc1a7f2 100644 --- a/languages/NO.php +++ b/languages/NO.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/languages/index.php b/languages/index.php index 0d49d28..750993f 100644 --- a/languages/index.php +++ b/languages/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/modify.php b/modify.php index 557de32..909c86d 100644 --- a/modify.php +++ b/modify.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -101,7 +102,7 @@ // Include the ordering class require_once(WB_PATH.'/framework/class.order.php'); -// Create new order object an reorder +// Create new order object and reorder $order = new order(TP_MPFORM.'fields', 'position', 'field_id', 'section_id'); $order->clean($section_id); require_once(WB_PATH.'/modules/'.$mod_dir.'/functions.php'); diff --git a/modify_adv_settings.php b/modify_adv_settings.php index e851770..77b77dc 100644 --- a/modify_adv_settings.php +++ b/modify_adv_settings.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/modify_field.php b/modify_field.php index 5f395a9..07ee0cc 100644 --- a/modify_field.php +++ b/modify_field.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/modify_settings.php b/modify_settings.php index fd8228e..a02ce43 100644 --- a/modify_settings.php +++ b/modify_settings.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/move_down.php b/move_down.php index 3f27b0f..9605507 100644 --- a/move_down.php +++ b/move_down.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -19,20 +20,36 @@ /* This backend file changes the ordering of the fields in the form. */ require('../../config.php'); -// Get id -if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) { - header("Location: index.php"); - exit(0); -} else { - $field_id = $_GET['field_id']; -} - require_once(dirname(__FILE__).'/constants.php'); - // Include WB admin wrapper script +$update_when_modified = true; // Tells script to update when this page was last updated +$admin_header = FALSE; require(WB_PATH.'/modules/admin.php'); +// Get id +if ( method_exists( $admin, 'checkIDKEY' ) ) { + $field_id = $admin->checkIDKEY('field_id', false, 'GET'); + if (!$field_id) { + $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], + ADMIN_URL.'/pages/modify.php?page_id='.(int)$page_id); + exit(); + } +} else { + if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) { + $sUrlToGo = ADMIN_URL."/pages/index.php"; + if(headers_sent()) + $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$sUrlToGo); + else + header("Location: ". $sUrlToGo); + exit(0); + } else { + $field_id = $_GET['field_id']; + } +} + +$admin->print_header(); + // Include the ordering class require(WB_PATH.'/framework/class.order.php'); diff --git a/move_up.php b/move_up.php index cd33a18..4b3df88 100644 --- a/move_up.php +++ b/move_up.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -19,32 +20,53 @@ /* This backend file changes the ordering of the fields in the form. */ require('../../config.php'); -// Get id -if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) { - header("Location: index.php"); - exit(0); -} else { - $field_id = $_GET['field_id']; -} - - require_once(dirname(__FILE__).'/constants.php'); - // Include WB admin wrapper script +$update_when_modified = true; // Tells script to update when this page was last updated +$admin_header = FALSE; require(WB_PATH.'/modules/admin.php'); +// Get id +if ( method_exists( $admin, 'checkIDKEY' ) ) { + $field_id = $admin->checkIDKEY('field_id', false, 'GET'); + if (!$field_id) { + $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'], + ADMIN_URL.'/pages/modify.php?page_id='.(int)$page_id); + exit(); + } +} else { + if(!isset($_GET['field_id']) OR !is_numeric($_GET['field_id'])) { + $sUrlToGo = ADMIN_URL."/pages/index.php"; + if(headers_sent()) + $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$sUrlToGo); + else + header("Location: ". $sUrlToGo); + exit(0); + } else { + $field_id = $_GET['field_id']; + } +} + +$admin->print_header(); + // Include the ordering class require(WB_PATH.'/framework/class.order.php'); // Create new order object an reorder -$order = new order(TP_MPFORM.'fields', 'position', 'field_id', 'section_id'); +$order = new order( + TP_MPFORM.'fields', + 'position', + 'field_id', + 'section_id' +); + if($order->move_up($field_id)) { - $admin->print_success($TEXT['SUCCESS'], - ADMIN_URL.'/pages/modify.php?page_id='.(int)$page_id); + $admin->print_success($TEXT['SUCCESS'], + ADMIN_URL.'/pages/modify.php?page_id='.(int)$page_id); } else { - $admin->print_error($TEXT['ERROR'], - ADMIN_URL.'/pages/modify.php?page_id='.(int)$page_id); + $admin->print_error($TEXT['ERROR'], + ADMIN_URL.'/pages/modify.php?page_id='.(int)$page_id); } // Print admin footer diff --git a/paintform.php b/paintform.php index 66dbea3..95ddb44 100644 --- a/paintform.php +++ b/paintform.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -182,48 +183,14 @@ function new_submission_id() { } if (!function_exists('js_for_help')) { -function js_for_help() { -echo << - // 0) { - if(theRowOpened\"\n" - ." +((title) ? '
      '+help+': '\n" - ." +title+'<\/h5>
      ' : '')\n" - ." +'
      '+msg+'<\/h6><\/div>'\n"; -echo << - -JS2; + function js_for_help() { + echo '\n"; } } @@ -244,7 +211,7 @@ function remove_comments($content) { if (!function_exists('paint_form')) { function paint_form( $iSID /*section_id*/, $aMissing = array(), $aErrTxt = array(), $isnew = true) { - global $database, $MENU, $TEXT, $LANG; + global $database, $MENU, $TEXT, $LANG, $admin; $mpform_code=""; if($aMissing != array()) { @@ -289,9 +256,23 @@ function paint_form( $iSID /*section_id*/, $aMissing = array(), } // Set new submission ID in session if it is not a follower on a multipage form - if (!$is_following) { - $_SESSION['submission_id_'.$iSID] = new_submission_id(); + if ($is_following) { + if (!isset($_SESSION['following_page_'.PAGE_ID]) + || ($_SESSION['following_page_'.PAGE_ID]!=$_SESSION['submission_id_'.$iSID])) { + $sUrlToGo = WB_URL.PAGES_DIRECTORY; + if(headers_sent()) + $admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$sUrlToGo); + else + header("Location: ". $sUrlToGo); + exit(0); + } + } else { + $new_SID = new_submission_id(); + $_SESSION['submission_id_'.$iSID] = $new_SID; + //$_SESSION['submission_id'] = $new_SID; } + + if ($success_page != 'none') { $qs = $database->query( @@ -303,7 +284,9 @@ function paint_form( $iSID /*section_id*/, $aMissing = array(), if($qs->numRows() > 0) { $s = $qs->fetchRow(); $sid = $s['section_id']; - $_SESSION['submission_id_'.$sid] = substr($_SESSION['submission_id_'.$iSID], 0, 8); + $new_SID = substr($_SESSION['submission_id_'.$iSID], 0, 8); + $_SESSION['submission_id_'.$sid] = $new_SID; + //$_SESSION['submission_id'] = $new_SID; } } @@ -848,21 +831,25 @@ function paint_form( $iSID /*section_id*/, $aMissing = array(), } } - if ($field['type'] != 'html') { - - $aReplacements['{CLASSES}'] = $classes; - $aReplacements['{ERRORTEXT}'] - = (isset($aErrTxt[$iFID])) ? '

      '.$aErrTxt[$iFID].'

      ' : ''; - if($field['type'] != '') { - echo str_replace( - array_keys($aReplacements), - array_values($aReplacements), - $field_loop - ).PHP_EOL; - } + if(($field['type'] == 'hiddenfield') && (!$bTableLayout)){ + echo $aReplacements['{FIELD}'].PHP_EOL; } else { - if(($field['extra'] == '') or (preg_match('/form/',$field['extra']))) - echo remove_comments(htmlspecialchars_decode($field['value'])); + if ($field['type'] != 'html') { + + $aReplacements['{CLASSES}'] = $classes; + $aReplacements['{ERRORTEXT}'] + = (isset($aErrTxt[$iFID])) ? '

      '.$aErrTxt[$iFID].'

      ' : ''; + if($field['type'] != '') { + echo str_replace( + array_keys($aReplacements), + array_values($aReplacements), + $field_loop + ).PHP_EOL; + } + } else { + if(($field['extra'] == '') or (preg_match('/form/',$field['extra']))) + echo remove_comments(htmlspecialchars_decode($field['value'])); + } } if (isset($tmp_field_loop)) { $field_loop = $tmp_field_loop; diff --git a/pear/FixPHP5PEARWarnings.php b/pear/FixPHP5PEARWarnings.php index 9be7ec7..9189d3d 100644 --- a/pear/FixPHP5PEARWarnings.php +++ b/pear/FixPHP5PEARWarnings.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/pear/index.php b/pear/index.php index f7b8300..a53a1c0 100644 --- a/pear/index.php +++ b/pear/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/pear/languages/DE.php b/pear/languages/DE.php index dc0ec87..6a8efde 100644 --- a/pear/languages/DE.php +++ b/pear/languages/DE.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/pear/languages/EN.php b/pear/languages/EN.php index 8f5ed54..bb5de46 100644 --- a/pear/languages/EN.php +++ b/pear/languages/EN.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/pear/languages/FR.php b/pear/languages/FR.php new file mode 100644 index 0000000..0856b77 --- /dev/null +++ b/pear/languages/FR.php @@ -0,0 +1,46 @@ += 5.3 ? + * + **/ +/* The file provides strings in French language for the PEAR part. */ + +$UPLOAD_MESSAGE['TOO_LARGE'] = "La taille du fichier est trop grand." + . "La taille maximale autorisée est: %s octets"; +$UPLOAD_MESSAGE['MISSING_DIR'] = 'Le répertoire de destination manquant. '; +$UPLOAD_MESSAGE['IS_NOT_DIR'] = 'Le répertoire de destination n\'existe ' + . 'ou est un fichier régulier.'; +$UPLOAD_MESSAGE['NO_WRITE_PERMS'] = 'Le répertoire de destination n\'a pas ' + . 'autorisations en écriture.'; +$UPLOAD_MESSAGE['NO_USER_FILE'] = 'Vous n\'importe quel fichier sélectionné ' + . 'pour le téléchargement. '; +$UPLOAD_MESSAGE['BAD_FORM'] = 'Le formulaire html ne contenir le nécessaire ' + . '"Méthode = "post" enctype = "multipart/form-data".'; +$UPLOAD_MESSAGE['E_FAIL_COPY'] = 'Impossible de copier le fichier temporaire.'; +$UPLOAD_MESSAGE['E_FAIL_MOVE'] = 'Impossible de déplacer le fichier.'; +$UPLOAD_MESSAGE['FILE_EXISTS'] = 'existe déjà le fichier de destination.'; +$UPLOAD_MESSAGE['CANNOT_OVERWRITE'] = 'Le fichier de destination existe déjà ' + . 'et ne pouvait pas être écrasé. '; +$UPLOAD_MESSAGE['NOT_ALLOWED_EXTENSION'] = 'extension de fichier non autorisé'; +$UPLOAD_MESSAGE['PARTIAL'] = 'Le fichier a été que partiellement ' + . 'téléchargé.'; +$UPLOAD_MESSAGE['ERROR'] = 'Upload d\'erreur:'; +$UPLOAD_MESSAGE['DEV_NO_DEF_FILE'] = 'Ce nom de fichier est pas défini dans la forme ' + . 'comme <input type="file" name=?>.'; + + diff --git a/pear/languages/IT.php b/pear/languages/IT.php new file mode 100644 index 0000000..f43768b --- /dev/null +++ b/pear/languages/IT.php @@ -0,0 +1,43 @@ += 5.3 ? + * + **/ +/* The file provides strings in Italian language for the PEAR part. */ + +$UPLOAD_MESSAGE['TOO_LARGE'] = "dimensione del file troppo grande. " + . "La dimensione massima consentita è %s bytes."; +$UPLOAD_MESSAGE['MISSING_DIR'] = 'directory di destinazione mancante.'; +$UPLOAD_MESSAGE['IS_NOT_DIR'] = 'La directory di destinazione non esiste ' + . 'o è un file regolare.'; +$UPLOAD_MESSAGE['NO_WRITE_PERMS'] = 'La directory di destinazione non ha ' + . 'permessi di scritto.'; +$UPLOAD_MESSAGE['NO_USER_FILE'] = 'si rifugio selezionato un file per il caricamento. '; +$UPLOAD_MESSAGE['BAD_FORM'] = 'Il form html non contenere la richiesta ' + . 'method="post" enctype="multipart/form-data".'; +$UPLOAD_MESSAGE['E_FAIL_COPY'] = 'Impossibile copiare il file temporaneo.'; +$UPLOAD_MESSAGE['E_FAIL_MOVE'] = 'Impossibile spostare il file.'; +$UPLOAD_MESSAGE['FILE_EXISTS'] = 'Il file di destinazione esiste già.'; +$UPLOAD_MESSAGE['CANNOT_OVERWRITE'] = 'Il file di destinazione esiste già ' + . 'e non poteva essere sovrascritti.'; +$UPLOAD_MESSAGE['NOT_ALLOWED_EXTENSION'] = 'estensione del file non è permesso.'; +$UPLOAD_MESSAGE['PARTIAL'] = 'Il file è stato caricato solo parzialmente.'; +$UPLOAD_MESSAGE['ERROR'] = 'Carica di errore:'; +$UPLOAD_MESSAGE['DEV_NO_DEF_FILE'] = 'Questo nome non è definito nella forma ' + . 'Come <input type="file" name=?>.'; + diff --git a/pear/languages/index.php b/pear/languages/index.php index 72916f9..a61c821 100644 --- a/pear/languages/index.php +++ b/pear/languages/index.php @@ -7,11 +7,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/private.default.php b/private.default.php index 6bf1b11..621ded7 100644 --- a/private.default.php +++ b/private.default.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/save_adv_settings.php b/save_adv_settings.php index fbea3b0..a7fec97 100644 --- a/save_adv_settings.php +++ b/save_adv_settings.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/save_field.php b/save_field.php index 385a8d4..5876245 100644 --- a/save_field.php +++ b/save_field.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/save_settings.php b/save_settings.php index 322baf2..1f794a0 100644 --- a/save_settings.php +++ b/save_settings.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/uninstall.php b/uninstall.php index 93a3c2b..0b7ac89 100644 --- a/uninstall.php +++ b/uninstall.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/upgrade.php b/upgrade.php index 7e22183..fcaa152 100644 --- a/upgrade.php +++ b/upgrade.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? diff --git a/view.php b/view.php index 94d7888..07dbb02 100644 --- a/view.php +++ b/view.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ? @@ -41,6 +42,13 @@ echo "\n\n"; } +// check if frontend_body.js file needs to be included into the of view.php +if((!function_exists('register_frontend_modfiles_body') + || !defined('MOD_FRONTEND_BODY_JAVASCRIPT_REGISTERED')) + && file_exists(WB_PATH .'/modules/mpform/frontend_body.js')) { + echo '' . "\n"; +} + require_once(WB_PATH.'/include/captcha/captcha.php'); // include private functions, if available diff --git a/view_submission.php b/view_submission.php index 86da4e0..fed91d0 100644 --- a/view_submission.php +++ b/view_submission.php @@ -6,11 +6,12 @@ * * @category page * @module mpform - * @version 1.2.3 + * @version 1.3.0 * @authors Frank Heyne, NorHei(heimsath.org), Christian M. Stefan (Stefek), Martin Hecht (mrbaseman) and others * @copyright (c) 2009 - 2016, Website Baker Org. e.V. * @url http://forum.websitebaker.org/index.php/topic,28496.0.html * @url https://github.com/WebsiteBaker-modules/mpform + * @url https://forum.wbce.org/viewtopic.php?id=661 * @license GNU General Public License * @platform 2.8.x * @requirements probably php >= 5.3 ?