* Multi Plain Vertical & Horizontal, Checkbox Multi BS.
* Fixed that label of 'checkbox' are bold and label of 'checkbox-inline' are normal.
* #7974 / TinyMCE: ReadOnly.
* #9424 / modeSql: skip if it starts with '#'.
* #9531 / File Upload Required.
* #9674 / Select Required Dynamic Update.
* #9678 / textarea now trigger DynamicUpdate.
* #9679 / FormModeGlobal: add STORE_USER - system wide readonly.
* #9690 / Select Required.
* #9691 / Checkbox: dynamic update > readonly. HTML ID for checkbox elements. Dynamic update switch 'readonly' for 'checkbox plain multi' and 'radio plain multi'.
* #9692 / Keyboard Select Checkbox.
* #9720 / Checkbox: Various setups with dynamic update.
* #9733 / Identiy different tabs. Record lock for same tab will always be granted.
* #9734 / Fix 'dirty lock release' - leaving a dirty form without closing, leaves a stale lock record. Added a releaselock() before window.unload. Dirty remove on goBack.
* #9735 / File Delete: no dirty trigger.
* Download / PDF merge: skip leading errors, interpret only 'Could not merge encrypted files'.
* DragAndDrop broken: after refactoring Support.php, the dragAndDrop was broken - missed init of '$store'.
Version 19.11.3
---------------
Date: 29.11.2019
Notes
^^^^^
Features
^^^^^^^^
* #8886 / Check pattern: after focus lost.
* #9655 / Checkboxes and radios now defined with a min-width in horizontal plain mode.
* #9617 / formModeGlobal:
* Two modes of 'formModeGlobal' available: 'requiredOff' and 'requiredOffButMark'.
* 'requiredOffButMark':
* Renamed temporary 'skipRequiredCheck' to 'requiredOffButMark'.
* Keep required marks after save.
* Stop hiding helpblocks per default, set with class qfq-only-active-error.
* Radio: new class 'qfq-disabled' if readonly is set. Softer blue. Mark disabled - changed hover. Text in darker orange.
Simple-error renamed to qfq-notify - removed box around error.
* New default class for 'form' tag: 'qfq-notify'.
* Manual.rst: Add info for 'letter-no-break'.
* Add validator.js to list of used packages.
Bug Fixes
^^^^^^^^^
* #9670 / If `qpdf` fails to decrypt a PDF, try `gs`.
* #3995 / Implemented partly: CheckBox and Radio can now be locked.
* #8091 / Checkbox required:
* If radio or checkbox is required and empty on submit, form save brings the element to front.
* #9638 / Textarea Sizing: Now also listens for paste.
* #7891 / Added missing 'type="button"' to button element.
* Remove ' style="font-size: 1em;"' in extraButton - this causes extra space between multiple extraButton inline in one input element.
Version 19.11.2
---------------
Date: 25.11.2019
Notes
^^^^^
* Enhance formModeGlobal=requiredOff/-ButMark (temporarily skipRequiredCheck): fill's '{{allRequiredGiven:V}}' before
save to 1 (all given) else 0.
Offers user to save form, even if not all required data are given and offers application logic to check easily if all
required fields has been filled.
Features
^^^^^^^^
* #9526 / Mark required fields more visible.
* #9617 / Improve 'formModeGlobal=requiredOff'.
* Feature `Form.formModeGlobal` implemented - STORE_SIP overwrites form definition.
* New STORE_VAR variable 'allRequiredGiven'. Becomes '1' if all required fields are given, else 0.
* Add param 'L' & 'type' automatically to form save.
* Manual.rst: Procedure to find an irreproducible error.
* Change definition of QFQ system tables for 'modified' and 'created'. Use DATETIME instead of TIMESTAMP.
Bug Fixes
^^^^^^^^^
* #7639 / subrecord drag n drop:
*`orderInterval` has not been respected.
* Update Manual.rst.
* Fake STORE_SIP so it can be used during processing sql1.
* The record, currently loaded into form, is available via STORE_RECORD.
* Check for id/_id and ord/_ord.
* Throw meaningful exception if missing 'id' or 'ord'.
* Fixes bug that no mime_type_content is called if there is on file.
* Fix broken regex101 url.
Version 19.11.1
---------------
Date: 11.11.2019
Bug Fixes
^^^^^^^^^
* #9532 / 'Advanced Upload' broken - slaveId/sqlUpdate/... have been processed two times, after multiform code changes.
Version 19.11.0
---------------
Date: 08.11.2019
Notes
^^^^^
New CSS Class:
* 'qfq-sticky' - to make an element sticky.
Update/new stored procedures:
* QMORE: change symbols from '..more' / '..less' to '...' / '<<'.
* QIFEMPTY: add empty detection for a) date, b) datetime, c) '0'.
* QDATE_FORMAT(timestamp). Return text in 'dd.mm.yyyy hh:mm' format or '-' if timestamp is empty.
Features
^^^^^^^^
* #9521 / Textarea auto-grow. Update Manual.rst. New class qfq-auto-grow for textareas.
* Update FormEditor to 80,1,350.
* Alerts a) changed overlay to blur and white, b) optimized to better reading for developer - ':hover' inside of error messages: black text and blue highlight.
* Add new CSS class 'qfq-sticky-element' - to stick individual elements.
Bug Fixes
^^^^^^^^^
* #9354 / Missing border around form if there are no pills / no title
* #9053 / Using the tablesorter filter in form triggers dirty detection for save. Set qfq-skip-dirty on all tablesorter-filter.
* #2720 / Formelement 'radio' - required failed.
* #9512 / PDF merge fails on encrypted PDFs. Try to use qpdf to decrypt.
* #6232 / Missing required: Pill/Input not 'bring to front' - Textarea, Editor, Radio.
* #9300 / Fix Name restMethod-FormElement.
* Add '@' to various PHP/IO function to suppress generic OS exception - now QFQ will report customized messages.
* FormEditor / error message: fix missing formId in STORE_SIP on calling FE directly from error message.
* Manual.rst: Tip for wkhtml added. Add description for 'fileButtonText'. Adjustments for 'slaveId' concept.
Version 19.10.0
---------------
Date: 17.10.2019
Notes
^^^^^
* Background color of popups & error messages changed.
* slaveId/sqlInsert/sqlUpdate/sqlDelete are now available for all FormElements.
* New MySQL stored procedure strip_tags() function.
Features
^^^^^^^^
* #5695 / First implementation of multiform.
* #7495 / Removed dirty flag when 'enable-save-button' is set.
* Add MySQL strip_tags() function.
Bug Fixes
^^^^^^^^^
* #9329 / Fabric annotations. Fixed Scaling Problem on Static Canvas instances.
* #9298 / Fix timeout of file_get_contents. Extend timeout for downloadPage to 10min.
* #9269 / fillStoreForm now fired two times in API calls. The first time during loadFormDefinition and the second time after the STORE_TYPO3 has been faked via SIP.
* Manual.rst: Add '!' to fillStoreVar Query
* Increase z-index in CSS 'dropdown-menu' class to 1060. The 'tablesorter > columnselector' will be hidden with 'qfq-sticky' by values < 1000.
* Reduce z-index in CSS 'qfq-sticky' class from 9999 to 1000. The 'tablesorter > columnselector' will be hidden with values > 1060.
Version 19.9.1
--------------
Date: 21.09.2019
Notes
^^^^^
* Use the CSS class 'qfq-sticky' in `<thead>` to make a table header 'sticky' - on long pages such tables headers are always
visible.
* The page with the list of all forms: a new best practice report includes useful statistics `Form-Editor-Usage`_ - best
is to replace the old code.
Features
^^^^^^^^
* #9203 / Pin the header of table (CCS 'sticky'), to make it always visible even if the page scrolls down.
* #9172 / AutoCron: new colum 'autoGenerated', 'xId'
* #9089 / Move Stored Procedure to SECURITY=INVOKER
* Manual.rst: Best practice `Form-Editor-Usage`_
* Reduce BS legend.font-size from 21 to 17.
* Change doc of tablesorter to use 'sorter-false' as class.
Bug Fixes
^^^^^^^^^
* #9074 / QFQ query with nested QFQ query failed, if the outer QFQ query is a multi column query ( ='{{!' ). Fixed.
Version 19.9.0
--------------
Date: 09.09.2019
Notes
^^^^^
* Size of input elements now might be specified dynamically (with min and max height).
* Twig converts json objects to an array.
Features
^^^^^^^^
* Report.php: Twig, convert json object into associative array.
* Test SQL stored procedure in Form report.
* qfq-bs.css.less: a) reduce 'qfq-note' padding-top from 7 to 2 px, b) reduce 'legend' margin-bottom from 25 to 0.
* Debug output sendmail redirect all: addresses now always space delimited.
* FormEditor:
* Remove FormElement 'tabindex'.
* Change FormElement.class from 'Select' to 'Radio'.
* Manual.rst:
* Clean syntax highlight.
* Update realtime log file QFQ code.
* Add 'Best Practice' code to show QFQ log files in realtime. Reformat some content.
* #7849 / New option 'fileTrash' and 'fileTrashText'.
* #7682 / 'Input textarea auto height'
* #4434 / Special column names now have to start with underscore. Earlier it was recognised even if there was no underscore.
Bug Fixes
^^^^^^^^^
* #7860 / Special column name 'mailto' no handles text correctly if multi byte encoded. Fixed.
* #7849 / Missed filename after the file chooser selected an file. Fixed.
* #1201 / FE.parameter option 'tabindex' has never been implemented. Removed.
According https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex only the values '0' and '-1' are good.
* Add table html-id to subrecords, created by QFQ. Needed for tablesorter.
* Add TinyMCE to list of 'Software distributed together with QFQ'
Version 19.8.0
--------------
Date: 28.08.2019
Notes
^^^^^
Features
^^^^^^^^
* Manual.rst:
* Update tablesorter `class="sorter-false"`.
* Add note to include font-awesome.
* QFQ_LOG documentation.
* Enhance wkhtml debug info.
* Add link to https://mariadb.com/kb/en/library/stored-routine-privileges/
* Increase Length of column Form.forwardPage limit from 255 to 511.
* Index.rst: Add Rafi, Elias, Nicola as further contributors.
* Add SQL stored procedure QIFEMPTY().
* #8806 / Add SQL stored procedure QNL2BR().
* #8851 / Add sqlLogMode modifyAll and restrict sqlLogMode modify.
* #8859 / FormEditor: Filter + ColumnSelector.
* #8856 / AutoCron: SQL logMode should be defined separately.
Bug Fixes
^^^^^^^^^
* #8933 / Broken record lock: lock extend does not work - fixed
* #8846 / FormEditor: subrecord of FormElement might be wider than Form.
* #8853 / fe.class=action: container should be hidden - hidden is wrong - FE-action might be assigned to templateGrou
Container. New solution: if FE.class='action' only templateGroups are in the 'container' list.
* #6656 / DragnDrop' into 'master'
* Update compatibility: API change in T3 makes QFQ incompatible with Typo3 >=9.4. Change compatibility back to <9.3.
Problem: sys_language_uid
* Update QFQ from earlier/equal version than 0.19.2 fails to create table 'Cron'.
Version 19.7.1
--------------
Date: 17.07.2019
Notes
^^^^^
* TWIG integration
Features
^^^^^^^^
* TWIG:
* Add Twig Extension to parse QFQ Links
* Pass assoc-array of query result as context
* allow to pass template as string
* Database.php: extend function sql error message
* #8179 / extraButtonLock and extraButtonPassword might be specified without a value or with 0 or with 1.
Bug Fixes
^^^^^^^^^
* Database.php: fix CodeException
* Fabric: Readonly now displays annotations again.