RADICORE v2.14.0 released

This version updates the TCPDF library as well as containing a few enhancements and bug fixes

This version contains the following changes:

Database changes:

- none

Other changes:

  • updated dml.mysqli.class.inc to deal with the fact that SQL_CALC_FOUND_ROWS has been deprecated in MySQL version 8.0.17 and will be removed in a future release.
  • updated dml.sqlsrv.class.inc to modify the way it replaces “now()” with “SYSDATETIME()”.
  • updated dml.sqlsrv.class.inc so that the adjustFrom() method will deal correctly with temporary table names.
  • updated dml.sqlsrv.class.inc so that the adjustGroupBy() method will deal correctly with the WITH ROLLUP option.
  • updated dml.sqlsrv.class.inc so that the adjustSelect() method can deal with more complicated expressions.
  • updated dml.sqlsrv.class.inc so that the fixReservedWords() method includes both ‘percent’ and ‘yield’.
  • updated dml.sqlsrv.class.inc so that the adjustTempTable() method can deal with statements containing column specifications.
  • updated dml.sqlsrv.class.inc so that the getCount() method will work correctly.
  • updated dml.sqlsrv.class.inc so that the getData() method deals differently with Common Table Expressions.
  • updated dml.sqlsrv.class.inc so that the insertRecord() and updateRecord() methods will enclose each column name in ‘[’ and ‘]’.
  • updated include.library.inc to include an optional 4th argument on the array_update_associative() function.
  • updated include.library.inc so that the array2where() function will perform stripslashes() before addcslashes() to prevent double slashes.
  • updated include.session.inc to deal with deprecations introduced in PHP 7.4.
  • updated nusoap.php from version 1.114 to 1.123.
  • updated radicore.simplexmlelement.inc so that addArray() function can deal with 2nd argument being a text node instead of an array.
  • updated std.add2.inc to format $errors array correctly before calling the $view->buildXML() method.
  • updated std.add7.inc to refetch $inner_data in case it has changed.
  • updated std.filepicker.inc to deal properly with multiple levels of subdirectories. This allows the screen to include directories as well as files, and if a directory is chosen the screen will then display that directory’s contents.
  • updated std.multi4.inc to call quitButton() method on $dbouter and $dbinner when the QUIT button is pressed.
  • updated std.output3.inc to terminate if there is no document to display.
  • updated std.pdf_list.class.inc to use the contents of $dbobject->dynamic_column_headings to replace the current set of column headings.
  • updated std.search1.inc to ignore contents of $task_button if $errors is not empty.
  • updated std.singleton.php5.inc so that if $class variable contains ‘<subsystem>/<class>’ it will deal with <subsystem> being the current working directory or 1 or 2 levels higher.
  • updated std.soap.inc so that convertTypes() function looks for an xmlrpc_type of ‘dateTime’ instead of ‘datetime’.
  • updated std.soap.inc to add check_response() and display_soap_debug() functions.
  • removed std.soap.php4.inc and std.soap.php5.inc as code is now contained in std.soap.inc.
  • updated std.table.class.inc to remove $no_convert_timezone as it is redundant.
  • updated std.table.class.inc to include the $dbobject->_cm_getFieldArray() method.
  • updated std.table.class.inc so that the $dbobject->array_update_associative() method calls the array_update_associative() function in a try/catch block.
  • updated std.table.class.inc so that the $dbobject->checkMessageDirectory() method uses the constant TEXT_DIRECTORY if it is set.
  • updated std.table.class.inc so that if the $dbobject->getData() method contains all the columns from that table’s primary key in the $where argument then any additional non-pkey columns will be ignored.
  • updated std.table.class.inc so that $this->getOrderBy() method will qualify the table name if $this->sql_from contains references to multiple tables.
  • update std.tree_view2.inc so that call to $dbinner->initialise() does not lose the contents of the $where argument.

Published: 08 January 2020