1. 23 Jul, 2017 2 commits
  2. 22 Jul, 2017 1 commit
    • Carsten  Rose's avatar
      recordLocking · ecce620b
      Carsten Rose authored
      file.php, load.php, Html2Pdf.php: minor updates.
      Dirty.php, QuickFormQuery.php: optional $lockTimeout as parameter during instantiating. Return $lockTimeout where necessary. Otherwise read qfq.config.ini. Refactor process(), acquireDirty(), checkDirtyAndRelease().
      ecce620b
  3. 16 Jul, 2017 1 commit
  4. 10 Jul, 2017 3 commits
    • Carsten  Rose's avatar
      Feature #3981 / Record Locking · 700dd79d
      Carsten Rose authored
      Manual.rst: add documentation for record locking
      DatabaseUpdateData.php: Add new column 'dirtyMode'
      Dirty.php, Config.php, formEditor.sql: remove dirtyMode=readonly. Rename 'timeout' to 'exclusive' and 'overwrite' to 'advisory'.
      700dd79d
    • Carsten  Rose's avatar
      Feature #3981 / Record Locking · b0234a57
      Carsten Rose authored
      Fixed some 'unknown index' issues - deny save in a first version works.
      b0234a57
    • Carsten  Rose's avatar
      Feature #3981 / Record Locking · a0cd3709
      Carsten Rose authored
      First version for save - not working now.
      Manual.rst: document config var SYSTEM_DIRTY_RECORD_TIMEOUT_SECONDS.
      QuickFormQuery.php, Dirty.php: extend to support QFQ/save().
      Client.php: fixed broken PHP Unit test
      Config.php: set default for dirtyRecordTimeout.
      BuildFormBootstrap.php: No dirtyUrl if dirtyMode=none.
      formEditor.sql: extend definition to Form.dirtyMode, new table 'Dirty'
      Fixed several unit tests for new tables.
      a0cd3709
  5. 09 Jul, 2017 2 commits
  6. 07 Jul, 2017 1 commit
  7. 30 Jun, 2017 2 commits
  8. 23 Jun, 2017 1 commit
  9. 19 Jun, 2017 1 commit
  10. 17 Jun, 2017 2 commits
  11. 16 Jun, 2017 1 commit
  12. 14 Jun, 2017 3 commits
  13. 12 Jun, 2017 1 commit
    • Carsten  Rose's avatar
      #3899 / Copy/Paste · cc55f4fb
      Carsten Rose authored
      Manual.rst: various topics undocumented.
      DatabaseUpdate.php: New table Clipboard, New FE.type='paste', New Form.forwardMode='url-sip' - will be applied for 0.18.3.
      FormAction.php: New: doAllFormElementPaste(), prepareDuplicate(), checkNCopyFiles(), copyRecord()
      Store.php: New member in STORE_CLIENT 'CLIENT_COOKIE_QFQ' - might be used to identify current user.
      BuildFormBootstrap.php: New buildButtonCopyForm().
      QuickFormQuery.php: Calculating the target page now happens after saving the current record and processing all after save actions. New: pasteClipboard()
      formEditor.sql: New form 'copyForm'. New table 'Clipboard'
      cc55f4fb
  14. 10 Jun, 2017 2 commits
    • Carsten  Rose's avatar
      Bug #3647 / Dynamic Update: Multiple Elements in a row not updated properly. · a0243d9f
      Carsten Rose authored
      Current fix is just a workaround. Further implications might exist. E.g. 'text' and 'date' should be fine, but 'select' / 'checkbox' / 'radios' / ... are not tested and probably won't work.
      Support.php: set flags for 'row' / '/row'.
      AbstractBuildForm.php, BuildFormBootstrap.php: $flagRowUpdate switches logic between full 'row update' (only one FE in the row) and 'per element'. In 'per element'-Mode, not all input types are updated properly.
      a0243d9f
    • Carsten  Rose's avatar
      Recode · 0e2628cf
      Carsten Rose authored
      0e2628cf
  15. 07 Jun, 2017 1 commit
    • Carsten  Rose's avatar
      #3863 / DB Update Fails: Expected no record, got 2 rows: SHOW TABLE STATUS WHERE Name='Form' · 7fc80c24
      Carsten Rose authored
      Introduce new config var 'DB_UPDATE' in config.qfq.ini. Update the handling, if there exist table 'form' and 'Form'.
      Manual.rst:  document the new config option DB_UPDATE.
      Database.php: Typo fixed.
      DatabaseUpdate.php: Iterate over all found 'Form' tables, take the newest version number. Respect config option DB_UPDATE. Fixed a problem: if in the PHP DB updates a newer DB Version is configured than the PHP source itself is, such updates are now not played anymore.
      Config.php, QuickFormQuery.php, config.example.ini: handle config setting DB_UPDATE.
      7fc80c24
  16. 05 Jun, 2017 2 commits
    • Carsten  Rose's avatar
      #3569 / Input Optional '0' unterdruecken · 0e75d2bd
      Carsten Rose authored
      Manual.rst: add 'hideZero' to doc.
      AbstractBuildForm.php, Support.php: implement to suppress '0' if showZero=1
      0e75d2bd
    • Carsten  Rose's avatar
      #3568 / Form: fuer alle Buttons (save, close, new, delete) eine optionale... · 61d75fbb
      Carsten Rose authored
      #3568 / Form: fuer alle Buttons (save, close, new, delete) eine optionale class & text konfigurierbar machen
      Manual.rst: new configuration options listed at config.qfq.ini and Form.paramtert.
      Config.php: Defaults configured for F_SAVE|CLOSE|DELETE|NEW_BUTTON_TEXT|TOOLTIP|CLASS|GLYPH_ICON.
      BuildFormBootstrap.php: Changed code to take values from config.qfq.ini or (if given) from form.parameter definitions.
      QuickFormQuery.php: Copy new setup values from config.qfq.ini to Form.
      StoreTest.php: update unit test for new global configuration values
      config.qfq.example.ini: fill with new commented key/value pairs.
      61d75fbb
  17. 04 Jun, 2017 2 commits
    • Carsten  Rose's avatar
      #2337 / Checkbox: checked/unchecked parameters genügen nicht · f1786d0b
      Carsten Rose authored
      AbstractBuildForm.php: added 'elseif()' to accept missing set/enum/sql1 definition for checkbox is 'checked' is given.
      f1786d0b
    • Carsten  Rose's avatar
      #3854 / Wrong final page: a) New > Save > Close, b) New > Save > Delete · b6cb6285
      Carsten Rose authored
      QfqForm.js: Preparation for client, to handle window.location.replace() by new API status 'url-skip-history'. Also changed "(data.redirect === "url" || data['redirect-url'])" to "(data.redirect === "url" && data['redirect-url'])" - CR did not understand the former logic ('or' instead of 'and'). #OPEN#: window.location.replace = 'index.php....' throws an JS exception that it the attribute 'replace' is readonly. Instead "window.location.replace('index.php....')" works as expected.
      PROTOCOL.md: add 'url-skip-history'.
      save.php: recode to become more readable.
      QuickFormQuery.php: getForwardMode() - temporarily fix to update status 'page' to 'url' (bug never caused a problem as long as '||' has been used on client side). Will change 'page' to 'url' asap.
      b6cb6285
  18. 03 Jun, 2017 1 commit
    • Carsten  Rose's avatar
      3612 / Konflikt typeAheadLdap mit dynamic modesql: the problematic HTML input... · 1c63c477
      Carsten Rose authored
      3612 / Konflikt typeAheadLdap mit dynamic modesql: the problematic HTML input element, added with typeahead functionality, is completely JS controlled by a Twitter library. For hiding / showing elements via dynamicUpdate, QFQ uses now API_ELEMENT_UPDATE on the outer row element.
      AbstractBuildForm.php: add function elementUpdateAttrClassOnRow().
      BuildFormBootstrap.php: split the class definition in an extra var.
      1c63c477
  19. 29 May, 2017 1 commit
  20. 27 May, 2017 1 commit
  21. 25 May, 2017 1 commit
  22. 24 May, 2017 2 commits
  23. 22 May, 2017 1 commit
  24. 20 May, 2017 3 commits
    • Carsten  Rose's avatar
      #3770 / Attack Delay: merge processing to one codeplace · 27f01259
      Carsten Rose authored
      Config.php: new function attackDetectedExitNow().
      Sip.php: replace local sleep(PENALTY_TIME_BROKEN_SIP) with central function attackDetectedExitNow().
      27f01259
    • Carsten  Rose's avatar
      #3769 / Allow specific GET variables longer than SECURITY_GET_MAX_LENGTH. · c11f75ad
      Carsten Rose authored
      Manual.rst: notes how to setup length-exceptions to SECURITY_GET_MAX_LENGTH
      config.php: implemented special handling of GET vars, named with '..._<num>'.
      c11f75ad
    • 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
  25. 18 May, 2017 1 commit
  26. 12 May, 2017 1 commit