RADICORE v2.19.0 released
This version contains support for derived tables as well as some minor enhancements and bug fixes.
This version contains the following changes:
Database changes:
- noneOther changes:
- updated all dml.???.class.inc files to deal with derived tables as discussed in http://www.tonymarston.net/php-mysql/infrastructure-faq.html#faq179
- updated the getForeignKeyValues() function to call the getForeignKeyValues() method which in turn calls the _cm_getForeignKeyValues() hook method as explained in http://www.tonymarston.net/php-mysql/functions-and-variables.html#notes._cm_getforeignkeyvalues
- updated the clearEditableData() method so that it calls the _cm_clearEditableData() hook method. This is used is search screens when the CLEAR button is pressed.
- updated std.table.class.inc to fix a bug in the convertTimeZone() method.
- updated std.table.class.inc so that the formatData() method deals with values ‘IS NULL’ and ‘IS NOT NULL’ in search screens.
- updated std.table.class.inc so that the getOrderBy() method does not prefix column names with table names when either a CTE or a derived table is being used.
- updated std.table.class.inc to fix a bug in the getWhere() method which was triggered from a zone containing multiple rows.
- updated std.table.class.inc to move code from the initialise() method to a new initialiseSearch() method.
- updated std.search1.inc so that it calls the new initialiseSearch() method.
- updated std.table.class.inc so that the popupReturn() method will correctly set $select_array to either an associative array or an indexed array of associative arrays depending on how many rows were selected.
- updated std.table.class.inc so the the scriptNext() and scriptPrevious() methods will save and restore the current value for $GLOBALS['transaction_has_started'].
- updated std.table.class.inc so that the setOrderBy() method inserts the correct value into $this->sql_orderby_seq when the user clicks on a column heading.
- updated std.table.class.inc to automatically set $this->reuse_previous_select to TRUE if $this->sql_select is not empty or FALSE if it is. This can still be changed manually if desired.
- updated std.table.class.inc to fix a bug in the _dml_ReadBeforeUpdate() method.
- updated std.output4.inc so that it contains the ‘select all’ and ‘unselect all’ links.
- updated std.filepicker.inc to set the $rows_per_page value to 50 instead of 100.
- updated various std.<pattern>.inc scripts to fix small bugs or remove redundant code.
- updated std.pdf.class.inc so that the outputPDF_DetailView() method does not perform a COMMIT if $this->errors is not empty.
- updated std.validation.class.inc to ignore ‘size’ attribute on boolean data types, and to set correct values for ‘true’ and ‘false’ attributes if the ‘optionlist’ is set to either ‘boolean_YN’, ‘boolean_TF’ or ‘boolean_10’.
- updated std.session.inc to fix bug with $_POST[‘select’] in transaction patterns other than SEARCH.
- updated std.session.inc so that the initSession() function will properly report when reading the session data fails because of an error when it is being unserialised. This situation can be caused when the session data is truncated when being written to the database.
- updated include.xml.php5.inc so that if $fieldarray from any object contains an entry with an empty key it will not write it out to the XML document as this will cause an error.
- update include.xml.php5.inc so that it will perform array_unique() on the $messages array to remove any duplicate entries.
- updated std.datevalidation.class.inc so that the getInternalDateTime() method will use the value in $this->date_format_input if the value in $fieldspec[‘date_format’] is empty.
- updated std.datevalidation.class.inc so that the getInternalDateTime() method can deal better with different date formats.
- updated include.library.inc so that the array_remove_nulls() function can also deal with the string value ‘IS NULL’.
- updated include.library.inc to improve the qualifyOrderBy() and unqualifyOrderBy() functions.
- updated include.library.inc to improve the qualifyWhere() function.
- updated include.library.inc so that the send_email() function will set the ‘from’ address to either GLOBALS['MAIL_FROM_OVERRIDE'] or the MAIL_FROM_OVERRIDE constant if any is present.
- DICT subsystem: updated the ORDER BY processing in dict_database_s02.class.inc which is used the export the database info.
- MENU subsystem: updated mnu_subsystem(pdf).php so that it uses a subquery instead of a GROUP BY.
- MENU subsystem: updated mnu_pattern(list1).php, mnu_role(list1).php, mnu_role(popup1).php and mnu_subsystem(list1).php so that the values for $sql_select and $sql_from are set in the class instead of the component script.
- MENU subsystem: fixed bugs in mnu_user_role_s01.class.inc and mnu_user_role_s02.class.inc so that the MOVE UP and MOVE DOWN tasks work properly.
- MENU subsystem: fixed bugs in mnu_favourite_s01.class.inc and mnu_favourite_s02.class.inc so that the MOVE UP and MOVE DOWN tasks work properly.
- MENU subsystem: updated mnu_user.class.inc to fix bug when the login type is EMAIL instead of USER_ID and the browser language on the login screen is different from the language_id on the user’s MNU_USER record.
- MENU subsystem: updated mnu_task.class.inc to add a call to the _cm_getForeignKeyValues() method.
- MENU subsystem: updated mnu_role_s01.class.inc to add a call to the _cm_getForeignKeyValues() method.
- MENU subsystem: updated mnu_role.class.inc to use a derived table in its sql query.
- MENU subsystem: updated mnu_control.class.inc so that the getControlData() methods initially sets $result to an empty array instead of NULL.
Published: 01 June 2021