RADICORE v2.11.0 released

This version contains a few new transactions patterns, and removes the CROSS JOIN in the SQL query for LINK1 patterns. It also includes the ability for a POPUP form to return more than one entry in the calling screen, plus a few small bug fixes.

This version contains the following changes:

Database changes:

- run script menu\sql\mysql\menu.menu_export(2019-01-24).sql to update the contents of the MENU database

Other changes:

  • modified TREE1 and TREE2 patterns to allow extra fields in the screen.
  • added the LIST4, ADD6, ADD7 and TREE3 patterns.
  • updated the DICT subsystem to generate tasks from these new patterns.
  • updated std.list3.inc to fix bug when using the RESET button.
  • updated std.table.class.inc to set $object->no_read_lock to TRUE when accessing tables in the getForeignData() method while a transaction is in progress. This will prevent these tables from being locked.
  • updated std.table.class.inc to include $rows_to_be_appended variable. Refer to FAQ176 for details.
  • updated std.table.class.inc so that the commit() method removes such flags as 'rdc_to_be_inserted', 'rdc_to_be_updated' and 'rdc_to_be_deleted' from $this->fieldarray as they are redundant after the transaction has been completed.
  • updated std.table.class.inc so that the _cm_validateUpdate() method includes an additional $method argument. This can be set to either 'GET' or 'POST' depending on the circumstances under which it was called.
  • updated std.table.class.inc so that the fetchRow() method will call $this->_cm_post_fetchRow($row) even when $row is empty in order to allow any end-of-file processing.
  • updated std.table.class.inc to add an optional $set_fieldarray argument to the getExtraData() method. This has a default setting of TRUE, but if changed to FALSE it will cause the update $fieldarray to be NOT stored in the object.
  • updated std.table.class.inc so that the getForeignData() method will not bother reading the parent table if all the fields identified in $parent fields already have non-NULL values.
  • updated std.table.class.inc so that the getInitialDataMultiple() method will always return an array which is indexed by row number so that a single row is not returned as an associative array.
  • updated std.table.class.inc so that the initialise() method does not remove the 'curr_or_hist' pseudo-column from the $where/$selection argument.
  • updated std.table.class.inc to fix a small bug in the insertMultiple() and updateMultiple() methods.
  • updated std.table.class.inc so that the _cm_popupReturn() and _cm_post_popupReturn() methods include an additional $fieldname argument which identifies the field which triggered the popup.
  • updated std.table.class.inc to include the _cm_pre_getNodeData() method which is called once before the _cm_getNodeData() method, which may be called several times in a single execution of the script.
  • updated std.output6.inc to call the _cm_pre_getNodeData() method.
  • updated std.table.class.inc to make array_update_associative() and array_update_indexed() into object methods instead of plain functions.
  • updated include.session.inc so that the checkSelection() function can recognise the fact that the task was initiated because of an 'initial_passthru' setting on another task.
  • updated include.session.inc so that the childform() function will not pass any row selections to search screens.
  • updated std.list2.inc to fix bug where it used $fieldarray instead of $inner_data.
  • updated std.pdf.class.inc to allow '*' as a column width in the title area.
  • updated std.search1.inc so that it can deal with a javascript submit().
  • updated std.multi4.inc so that it updates the database before activating a task initiated from a navigation button.
  • updated std.update3.inc so that after the initial activation it provides $fieldarray as an associative array instead of an indexed array.
  • fixed bug in std.update4.inc which sometimes failed to call commit().
  • updated std.update1.inc to call the $dbobject->array_update_associative() method instead of the array_update_associative() function.
  • fixed bug in std.enquire1.inc which failed to deal with navigation buttons correctly.
  • updated include.xml.php5.inc so that the _cm_formatData() method can use the $fieldarray['rdc_rowspecs'] and $fieldarray['rdc_fieldspecs'] options.
  • updated dml.???.class.inc so that if multiquery() is called with a single query it will return the result of that query instead of just TRUE.
  • updated std.validation.class.inc to disallow the wildcard '%' character, or any control characters, from being used in a primary or candidate key.
  • updated std.filepicker1.inc so that it forces the $subdir variable to contain forward slashes instead of backslashes.
  • updated include.library.inc to include the extractPopupFields() function.
  • updated std.list3.xsl to fix a bug with pagination in the 'middle' area.
  • updated processing for LINK1 patterns to remove the CROSS JOIN in the generated SQL query.

Published: 02 February 2019