RADICORE v1.24.0 released

This version contains a few bug fixes and a few enhancements.

This version contains the following updates:

  • changed 'std.session.inc' so that the argument 'csxslt=on' in the URL (which turns on client-side XSL transformations) will propagate itself via a cookie instead of being repeated in all subsequent URLs. This is because a session abort will cause this setting in the URL to be lost, which means that the session would restart without that setting in effect.
  • amended 'std.table.class.inc' so that the _dml_ReadBeforeUpdate() method will use an additional argument called $this->reuse_previous_select. This is boolean and set to FALSE by default, but can be set to TRUE within the _cm_pre_updateRecord() method. This will allow _dml_ReadBeforeUpdate() to reuse the previous SELECT statement instead of the default 'SELECT * FROM $this->table WHERE pkey=X' in those cases where a field obtained from another table via a JOIN is retrieved and made available for update. Although this other field cannot be updated in the standard updateRecord() mechanism, a change in values can be detected in the _cm_post_updateRecord() method where code can be inserted to update the other table.
  • modified 'dml.pgsql.class.inc' to allow columns of type BOOLEAN to be imported correctly into the data dictionary.
  • modified 'std.add3.inc' so that error messages generated within the database object are appended to the array which is returned to the previous form instead of being replaced with a generic message.
  • modified 'std.data_field.xsl' so that it will process a "class" attribute on a field entry when constructing a vertical display. This will allow CSS properties to be applied to an individual field instead of all fields which occupy that column in the HTML table.
  • modified 'dict_column.class.inc', 'include.xml.php4/5.inc' and 'std.data_field.xsl' to include a new 'multi-checkbox' control which can be used instead of a multi-dropdown when the user can make multiple choices.
  • added new pattern 'Update 5' which will take an collection of records and perform either an INSERT or an UPDATE on each record depending on whether it currently exists or not.
  • added custom method '_cm_getPkeyNames()' to 'std.table.class.inc' so that the list of primary key fields can be adjusted before the selection string is constructed and passed to a child form when a navigation button is pressed.
  • added custom method '_cm_validateSearch() to 'std.table.class.inc' which will be called before any input to a search screen is passed back to the previous form, thus allowing any custom validation (or other processing) to be performed.

Published: 01 May 2007