RADICORE v1.37.0 released

This version contains a few enhancements and bug fixes.

This version contains the following updates and fixes:

  • modified template 'scripting_events' within 'std.data_field.xsl' to include the 'id' attribute.
  • modified 'validateField()' method within 'std.validation.class.inc' so that if a field's size (obtained using strlen()) is greater than $fieldspec['size'] then it will test for multi-byte characters using mb_strlen() before failing.
  • fixed bug in 'audit_tbl_s02.class.inc' which incorrectly determined that a database change where all the previous values were NULL was an insert. However, if the list of field names does not include all the primary key fields it is in fact an update.
  • fixed bug in 'filterWhere1Where2()' of 'include.general.inc' which caused a WHERE clause of 'EXISTS (SELECT ...)' to be accidentally filtered out in some circumstances.
  • fixed bug in 'splitNameOperatorValue()' which failed to recognise a 'MATCH(...) AGAINST(...)' condition which contained the 'IN BOOLEAN MODE' option.
  • modified 'std.fileupload1.inc' so that it sets the file permissions to 664 after it has been uploaded instead of relying on the default permissions which are sometimes random and unpredictable.
  • modified 'table_export.php' in DICT subsystem to set the file permissions to 664 after creating the '*.class.inc' and '*.dict.inc' files.
  • added function 'rangeFromTo()' which combines '<whatever>_from' and '<whatever>_to' values into the '<whatever>' field as "BETWEEN '<whatever>_from' AND '<whatever>_to'".
  • added function 'unqualifyFieldArray()' which removes table names from field names in the input array.
  • fixed bug in 'extractTableNames()' of 'include.general.inc' which failed to deal correctly with the first tablename in the FROM string being prefixed with a database name.
  • modified 'filterWhere1Where2()' so that if field name exists in both $where1 and $where2 is not removed from $where2 unless it has the same operator.
  • fixed bug in 'initial_value_user_s01.class.inc' and 'initial_value_role_s01.class.inc' which failed to deal with empty input.
  • modified 'mnu_task' screen to make 'initial_passthru' a popup instead of a text box.
  • fixed bug in 'dict_related_column_multi2.php' which allowed the alias names for the two tables to be more than one word.
  • fixed bug in 'std.data_field.xsl' which prevented multiple selections from appearing in the $_POST array.
  • modified 'std.multi3.inc' so that it now has a 'submit+next' button.
  • added new transaction pattern 'OUTPUT4' which will allow columns to be selected before they are output to the CSV file.
  • modified 'std.search1.inc' so that if a value is input with an operator such as '<', '<=', '>' and '>=' then the operator will be preserved when returning to the search screen.
  • updated the MENU database so that the 'initial_value' field on the 'mnu_initial_value_role' and 'mnu_initial_value_user' tables is increased from 40 to 255 characters. You will need to run script radicore\menu\sql\mysql\alter_table(2008-06-24).sql in order to implement this change.
  • modified 'dict.column.class.inc' so that when a column is changed from CHAR(1) to BOOLEAN then 'boolean_true' is set to 'Y' and 'boolean_false' is set to 'N'. These are initial values which may be changed later.

Published: 01 July 2008