1. 20 May, 2017 1 commit
    • Carsten  Rose's avatar
      #3766 / SQL_LOG per tt_content record einstellbar machen · 4b0d1413
      Carsten Rose authored
      Add `sqlLog` and `sqlLogMode` to QFQ tt-content records.
      Add mode 'error' and `none` to sqlLogMode.
      Manual.rst: Added explanations for SQL_LOG, SQL_LOG_MODE, and tt-content pendants sqlLog, sqlLogMode. Update config.qfq.ini to latest attributes.
      Database.php: rename $mode to $currentQueryMode to make it more descriptive. Recode dbLog().
      Logger.php: do nothing if there is no file defined.
      Report.php: new function checkUpdateLog().
      Config.php: Set defaults for config.qfq.ini SQL_LOG and SQL_LOG_MODE
      Store.php: Fix problem that an empty SQL_LOG will be prependad with SYSTEM_PATH_EXT.
      4b0d1413
  2. 10 May, 2017 1 commit
  3. 09 May, 2017 1 commit
    • Carsten  Rose's avatar
      #3679, Automatic DB update - Schema & FormEditor · 05b32a30
      Carsten Rose authored
      For updates of QFQ prior to 0.17.0, do:   ALTER TABLE  `Form` COMMENT =  'Version=<your old QFQ version>'
      DatabaseUpdate.php, DatabaseUpdateData.php: new class.
      QuickFormQuery.php: Add DB UpdateCheck
      Database.php: moved to new subdirectory `database`. Add 'ALTER' as a new SQL command.
      FormAction.php, TypeAhead.php, Report.php, Sendmail.php, FillStoreForm.php, Store.php, AbstractBuild.php, Delete.php, Evaluate.php: Update path to Database.php.
      05b32a30
  4. 03 May, 2017 1 commit
  5. 30 Apr, 2017 1 commit
  6. 24 Apr, 2017 3 commits
  7. 23 Apr, 2017 1 commit
  8. 22 Apr, 2017 1 commit
    • Carsten  Rose's avatar
      #3218 / download.php / export · e10937b6
      Carsten Rose authored
      * Recode the '_link' notation for download
      * Add 'ZIP' as export format
      * Add 'parameter' to wkhtmltopdf
      * Implemented 'SYSTEM_STORE / SYSTEM_DOWNLOAD_POPUP' for detecting if there are download links on the page. This eleminates passing parameters through dozens of functions.
      * Report/Columntype '_dDownload' broken!
      Coding.md: described `download` from a coding point of view.
      Manual.rst: Update '_link' to latest notation of 'download'.
      download.php: implemented catching of 'Undefined index'. Added further exceptions.
      Download.php: Added cache=off for downloading. Rename getFile() to getElement(). Make getElement() more generic. Add zipFiles(). Implement 'downloadMode' in doElements().
      Html2Pdf.php: recode to new download notation. Parameter to wkhtmltopdf implemented.
      Link.php: New TOKEN_* and NAME_DOWNLOAD_*, NAME_FILE. Move TOKEN_* to Constants.php. Will be used in Download.php too. Implemented 'SYSTEM_STORE / SYSTEM_DOWNLOAD_POPUP'. Implemented BASE64 encoding of multiple 'U' and 'u'.
      Report.php: Implemented 'SYSTEM_STORE / SYSTEM_DOWNLOAD_POPUP'.
      Sip.php: implement debugSip() to show Sip. New: base64 encoded parameter will be shown in clear.
      Store.php: some functions missed keyword 'static'. getVar() and getStore automatically decode base64 parameter.
      QuickFormQuery.php: Implemented 'SYSTEM_STORE / SYSTEM_DOWNLOAD_POPUP'.
      e10937b6
  9. 17 Apr, 2017 1 commit
  10. 02 Apr, 2017 1 commit
    • Carsten  Rose's avatar
      #3385 / templateGroup: insert/update/delete non primary records · 8db50d60
      Carsten Rose authored
      Manual.rst: update doc how to insert/update/delete non primary templateGroup records.
      FormAction.php: removed $templateGroupIndex - solved implicit by defining a LIMIT on 'slaveId' . Implemented '%D' (one below %d). Implemented FE_SQL_HONOR_FORM_ELEMENTS - reduces unecassary SQL queries.
      HelperFormElement.php: moved function 'explodeTemplateGroupElements()' to 'QuickFormQuery.php'
      Database.php: remove call to explodeTemplateGroupElements() - not necessary at that place.
      QuickFormQuery.php: fill STORE_RECORD during Formload - to read templateGroup records very early. Local copy of `getNativeFormElements()`, new `explodeTemplateGroupElements()`
      8db50d60
  11. 29 Mar, 2017 1 commit
    • Carsten  Rose's avatar
      #3463 / form.mode=readonly · d84dad1a
      Carsten Rose authored
      Implemented the option to make a form `readonly`. this can be done statically or dynamically via variable (e.g. SIP).
      QuickFormQuery.php, AbstractBuildForm.php: Force 'readonly' by overwriting FormElement individual 'mode' setting.
      BuildFormBootstrap.php: Introduced new variable F_SHOW_BUTTON.
      d84dad1a
  12. 28 Mar, 2017 1 commit
    • Carsten  Rose's avatar
      #3456 / LDAP: with Credentials to access 'webpass' · 8cb94e92
      Carsten Rose authored
      Manual.rst: Updated doc for a) config.qfq.ini: LDAP_1_RDN, LDAP_1_PASSWORD, b) Form.parameter|FormElement.parameter: ldapUseBindCredentials
      ErrorHandler.php: removed details - the end user should not too many details.
      FormAction.php, Ldap.php, QuickFormQuery.php: implement 'ldapUseBindCredentials'
      Ldap.php: set_error_handler() to catch ldap_bind() problems. Always set LDAP_OPT_PROTOCOL_VERSION=3 - this might cause problems with som LDAP Servers - we will see.
      8cb94e92
  13. 26 Mar, 2017 1 commit
    • Carsten  Rose's avatar
      #3433 | templateGroup on primary Record: Values of removed copies are not deleted · 5d817af7
      Carsten Rose authored
      The new implementation creates empty fake instances of all copies of templateGroup FormElements. Those are empty. Before save, the submitted form values will be expanded with the empty fake templateGroup FormElements and such empty values will be saved.
      FormAction.php: Rename constant SQL_FORM_ELEMENT_TEMPLATE_GROUP to SQL_FORM_ELEMENT_TEMPLATE_GROUP_FE_ID - to be more precise.
      HelperFormElement.php, Database.php: new function explodeTemplateGroupElements()
      5d817af7
  14. 23 Mar, 2017 1 commit
  15. 16 Mar, 2017 1 commit
  16. 05 Mar, 2017 1 commit
    • Carsten  Rose's avatar
      #3180=#2081 dynamicUpdate, rearrange 'input hidden' elements from checkboxes,... · 9a267b44
      Carsten Rose authored
      #3180=#2081 dynamicUpdate, rearrange 'input hidden' elements from checkboxes, radios to top of form.
      
      CODING.md: add some doc about STORE_ADDITIONAL_FORM_ELEMENTS.
      load.php (#2081): rearrange delivered JSON to fullfill client API.
      AbstractBuildForm.php: rename getJsonElementUpdate() to getFormElemenForJson(). Extend getFormElementForJson() to support changes for label and note. Fill store STORE_ADDITIONAL_FORM_ELEMENTS with 'hidden input' elments.
      QuickFormQuery.php: implement Client JOSN API update.
      9a267b44
  17. 02 Mar, 2017 1 commit
  18. 01 Mar, 2017 2 commits
    • Carsten  Rose's avatar
      Implemented generating of 'id' per FormElement. · 1d995d96
      Carsten Rose authored
      Support.php: new function insertAttribute().
      AbstractBuildForm.php: added 'id' to all FormElements.
      BuildFormBootstrap: extended customWrap to insert 'id' in every wrap element.
      QuickFormQuery.php: Add 'id' to Form ToolTip.
      1d995d96
    • Carsten  Rose's avatar
      Preparation 'DynamicUpdate' fuer beliebige Felder. · 70a4f34d
      Carsten Rose authored
      FillStoreForm.php, HelperFormElement.php, BuildFormBootstap.php, BuildFormPlain.php, BuildFormTable.php, QuickFormQuery.php: Rename buildFormElementId() to buildFormElementname(). New Function buildFormElementId(). Rename variable $htmlFormElementId to $htmlFormElementName.
      Support.php: tooltips now contain an html id.
      Constants.php: Preparation for API 'element-update'.
      70a4f34d
  19. 26 Feb, 2017 1 commit
    • Carsten  Rose's avatar
      #2064: Input Elemente die als JSON response 'value=false' bekommen, zeigen 'false' an. · 13d39fbe
      Carsten Rose authored
      #3253: STORE_TYPO3: steht waehrend Update / Save nicht zur Verfuegung - wird aber benoetigt. Bsp: feUser, beUser, pageId, ...
      
      Thought that problem of #2064 is based on #3253 - that was wrong.
      #3253 implemented, but not heavily tested.
      
      #2064: problem was that for a non existing tablecolumn, has been searched for a default value - which obviously does not exist. In AbstractBuildForm.php, Line 419, a check implemented if the current FormElement is an existing tablecolumn. If not, do not change the empty value.
      
      FormAction.php, FillStoreForm.php, Store.php, QuickFormQuery.php, Save.php: Refactor setVarArray() to setStore()
      
      #3253
      FillStoreForm.php: If there is no STORE_TYPO3, get the old values from SIP: CLIENT_TYPO3VARS.
      Store.php: new function fillTypo3StoreFromSip(), copyT3VarstToSip()
      13d39fbe
  20. 24 Feb, 2017 1 commit
    • Carsten  Rose's avatar
      Check that 'php*_intl' is installed. · cba08698
      Carsten Rose authored
      AbstractException.php: Add catch CodeException to not recursively throw the same exception again and again.
      Store.php: constructor of class Store seems to be the best place to do the check.
      cba08698
  21. 17 Feb, 2017 1 commit
  22. 16 Feb, 2017 1 commit
    • Carsten  Rose's avatar
      Add 'templateGroup' as a new 'container' option. · 10784233
      Carsten Rose authored
      Coding.md: Beschreibung in Deutsch wie die Formularelemente , rekursiv, gerendert werden.
      AbstractBuildForm.php: new function buildTemplateGroup()
      BuildFormBootstrap.php, BuildFormPlain.php, BuildFormTable.php: Preparation for new optional TemplateGroup wrap.
      QuickFormQuery.php: update comments.
      formEditor.sql: column 'type' definition extended - new 'templateGroup' enum. FormElement 'type' updated to new container element 'templateGroup'
      10784233
  23. 14 Feb, 2017 1 commit
    • Carsten  Rose's avatar
      'Upload advanced mode' implementiert. V2 (kein FormElement Action 'afterSave' mehr noetig) · 2e7b75b6
      Carsten Rose authored
      Default fuer Store Prioritaet hat sich geaendert: alt='FSRD', neu='FSRVD' - damit wird ist es ueberfluessig den V Store anzugeben.
      Variable '_filename' umbenannt in 'filename' und verschoben von STORE_FORM nach STORE_VARS. Damit ist es ueberfluessig eine Sanatize Klasse anzugeben.
      STORE_VAR hat zwei neue Variablen: 'filename', 'fileDestination'.
      Bei Form-Action Elemente gibt es zwei neue Typen: 'sqlBefore' und 'sqlAfter'
      
      Index.rst: Dokumentation auf V2 angepasst. Doku fuer V1 hat es nie gegeben.
      FormAction.php: Moved function initActionFormElement to HelperFormElement::initActionFormElement(), Implement sqlBefore & sqlAfter for Action Elemente.
      HelperFormElement.php: new class initActionFormElement(), initUploadFormElement().
      FillStoreForm.php, AbstractBuildForm.php, Evaluate.php: Implemented the $skip parameter to suppress unwanted variable expansion during form load.
      Constants.php: New STORE_USE_DEFAULT, VAR_FILE_DESTINATION, VAR_FILENAME,FE_SQL_AFTER, FE_SQL_BEOFRE, FE_TYPE_UPLOAD.
      Evaluate.php: moved 'decryptCurlyBraces()' up, in order to  create better error messages.
      Save.php: new doUploadSlave(), implement 'Upload advanced mode'.
      2e7b75b6
  24. 12 Feb, 2017 1 commit
    • Carsten  Rose's avatar
      AdminstratorManual/Index.rst: Update config.qfq.ini description to new... · 7e49d63f
      Carsten Rose authored
      AdminstratorManual/Index.rst: Update config.qfq.ini description to new parameter 'class'. Remove 'DB_NAME_TEST' cause that is only interesting to PHP Unit Tests and not to enduser.
      UserManual/Index.rst: Update STORE_SYSTEM description of known variables.
      Store.php, QuickFormQuery.php: Refactor building STORE_SYSTEM. Make it more generic if new parameters are introduced. Setting up new config.qfq.ini built in defaults and form defaults at one place. Renaming of parameter names in config.qfq.ini to STORE_SYSTEM at one place implemented with an extensible array.
      AbstractBuildForm.php, BuildFormBootstrap.php, BuildFormTable.php: User constant F_CLASS  in $this->formSpec['class']
      config.qfq.example.ini: comment empty variables - the new default setting is, that empty parameter in config.qfq.ini means EMPTY, not UNDEFINED.
      7e49d63f
  25. 10 Feb, 2017 1 commit
    • Carsten  Rose's avatar
      User Input will be UTF8 normalized - Webserver needs package php5-intl or php7.0-intl. · 7eeed2a8
      Carsten Rose authored
      Add FORM_BS_LABEL_COLUMNS, FORM_BS_INPUT_COLUMNS, FORM_BS_NOTE_COLUMNS to config.qfq.ini.
      
      AdministratorManual/Index.rst: added notes to install php-intl, new config.qfq.ini parameter (see above).
      UserManual/index.rst: Fix wrong store name SYSTEM: S > Y. Add new config.qfq.ini parameter (see above).
      Store.php: new general function to translate upper case config prameter names to to camel hook FormElement names. Split function fillSystemStore(). Add function normalizeArray().
      Constants.php: add new error, renumber error codes 1056-1073. Introduce new config.qfq.ini parameter SYSTEM_FORM_BS_*
      QuickFormQuery.php: Use of new bs*Column values defined in config.qfq.inc (not hardcoded here anymore)
      7eeed2a8
  26. 09 Feb, 2017 2 commits
    • Carsten  Rose's avatar
      Create function `Database->getNativeFormElements()` to unify all needed... · 2b29d2ca
      Carsten Rose authored
      Create function `Database->getNativeFormElements()` to unify all needed actions on fresh loaded FormElements like explodeParameterInArrayElements, duplicateRetypEelements, copyAttributesToFormElements. Native FormElements will be loaded on 4 different places in 3 classes.
      
      HelperFormElement.php: Moved copyAttributesToFormElements() from QuickFormQuery to HelperFormElement.
      AbstractBuildForm.php, BuildFormBootstrap.php, QuickFormQuery.php : Use of Database->getNativeFormElements()
      Database.php: HelperFormElement::copyAttributesToFormElements()
      2b29d2ca
    • Carsten  Rose's avatar
      FormAction.phhp, Store.php, AbstractBuildForm.php, Constants.php,... · 7fd36792
      Carsten Rose authored
      FormAction.phhp, Store.php, AbstractBuildForm.php, Constants.php, QuickForemQuery.php, Index.rst: Added STORE_BEFORE, #3146
      7fd36792
  27. 07 Feb, 2017 2 commits
  28. 06 Feb, 2017 1 commit
  29. 31 Jan, 2017 2 commits
  30. 29 Jan, 2017 1 commit
  31. 27 Jan, 2017 1 commit
  32. 17 Jan, 2017 1 commit
  33. 14 Jan, 2017 2 commits