Radicore Forum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » RADICORE » RADICORE announcements » RADICORE V2.21.0 released
RADICORE V2.21.0 released [message #7742] Tue, 07 June 2022 10:32
AJM is currently offline  AJM
Messages: 2347
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following changes:

Database changes:
- none

Other changes:
  • checked that code will run in PHP 8 without any errors.
  • updated xsl/std.list1.xsl to set the "multiple" argument when calling the "display_horizontal" template. This was to fix a small bug.
  • fixed bug in audit_tbl_s01.class.inc which caused task audit_dtl(list)3 to misbehave if the $where string was empty and the $parent_data variable contained columns with null values.
  • updated dict_database_s02.class.inc to set the SVN variables to empty when exporting the database details.
  • updated dict_table_s02.class.inc to set the SVN variables to empty when exporting a table's structure file.
  • updated wf_workitem.class.inc to include transition_name in the SELECT list.
  • modified logon.php, logon.class.inc and mnu_user.class.inc to check for usage of Amazon Web Services Application Load Balancer (AWSALB).
  • modified dml.???.class.inc to convert sort string from literal 'NULL' to actual NULL. This will prevent an empty $orderby string from being set to the primary key by default.
  • modified function 'append2ScriptSequence' in include.library.inc to remove check for duplicate task_id as the same task could be used on different records.
  • modified function 'array_update_associative' in include.library.inc to error if $array1 is not associative and the $object->rows_per_page != 1.
  • modified function 'array_update_associative' in include.library.inc to set a blank date to '9999-12-31' if that field has 'infinityisnull' set to 'y'.
  • modified function 'convertTZdate' in include.library.inc to convert an empty time to '12:00:00' instead of '00:00:00'.
  • added function 'getParentKeyValues' to include.library.inc to return the primary key for $parentOBJ.
  • modified function 'logstuff' in include.library.inc to include an extra $force argument which will force the input to be logged even if the constant LOGSTUFF has not been set.
  • modified function 'number_unformat' in include.library.inc to trim() the input before it is processed.
  • modified function 'send_email' in include.library.inc so that if the SWIFTMAILER option is being used it will deal properly with any Cc or Bcc values if they are supplied.
  • modified function 'splitWhereByRow' in include.library.inc to return immediately if the input has already been converted into an array, and to add a 4th regex pattern.
  • modified function 'unqualifyWhere' in include.library.inc to ignore any field value which is enclosed in quotes.
  • modified function 'where2array' in include.library.inc so that if the input string starts with '(' and ends with ')' with no embedded '(' or ')' characters then the start and end characters will be removed.
  • modified function 'where2indexedArray' in include.library.inc to include an extra regex pattern for 'function() [NOT] IN ...'.
  • modified function 'chooseButton' in include.session.inc so that if multiple rows were selected then they are returned as an array of primary keys instead of a string containing a single primary key.
  • modified function 'initSession' in include.session.inc to ignore any CSRF checking if the QUIT button has been pressed.
  • modified function 'initSession' in include.session.inc so that if $_SESSION['awsalb'] it will instantiate awsalb_class.class.inc and call the verifyToken method to validate the passed credentials.
  • modified function 'createXMLdoc' in include.xml.php5.inc to remove the default 'root' from the $root_name argument.
  • modified 'std.add1.inc' to replace two calls to $dbobject->errors with just one.
  • modified 'std.add2.inc' to replace two calls to $dbobject->errors with just one.
  • modified 'std.add4.inc' to allow it to be run from the command line.
  • modified 'std.curl.class.inc' so that CURLOPT_HEADER is only set if the $curlopt_header argument is not empty.
  • modified 'std.curl.class.inc' so that it checks the $error_no variable instead of $err.
  • modified 'std.list1.inc' so that it returns $dbobject->sql_where instead of $sql_where if no entries are found after processing the criteria from a search screen.
  • modified 'std.multi1.inc' to replace two calls to $dbobject->errors with just one.
  • modified 'std.multi4.inc' to call $dbouter->getFieldArray() after call to $dbinner->getExtraData() in case $dbinner->getExtraData() contained a call to ->setParentData().
  • modified 'std.output4.inc' so that each call to $dbinner->validateUpdate() includes the current $rownum.
  • modified 'std.search1.inc' so that it only ignores a field with the 'noedit' attribute set if the 'control' attribute is not set to 'hidden'.
  • updated the 'array_update_associative' method in 'std.table.class.inc' so that the call to $this->custom_pre_array_UpdateAssociative() is made before the call to $this->convertTimeZone() instead of after.
  • updated 'std.table.class.inc' so that the 'custom_pre_arrayUpdateAssociative()' and '_cm_pre_array_update_associative()' methods pass the $postarray argument by reference so that it may be updated.
  • fixed bug in the 'custom_adjustColumnNames' method in 'std.table.class.inc' so that it uses the variable $column_names instead of $columnnames.
  • updated 'std.table.class.inc' so that the 'deleteRecord()', 'validateDelete()', 'insertMultiple()', 'insertRecord()', 'updateMultiple() and 'updateRecord()' methods will use $fieldarray['rdc_skip_validation'] as well as $this->skip_validation to skip over any validation routines.
  • updated 'std.table.class.inc' to include calls to '_cm_pre_deleteSelection()' and '_cm_post_deleteSelection()' within the 'deleteSelection' method.
  • updated 'std.table.class.inc' to include a call to '_cm_pre_formatData()' within the 'formatData()' method. This will be called before the standard formatting and the call to '_cm_formatData()'.
  • updated 'std.table.class.inc' so that the call to 'getData()' returns an empty array instead of nothing if the call to isPkeyComplete() detects an error.
  • updated 'std.table.class.inc' so that the call to 'getInitialData()' will leave a field alone if it is currently a non-empty array.
  • updated 'std.table.class.inc' so that the 'getOrderBy()' method will set $orderby to the literal 'NULL' if it is not empty but contains only spaces. This will be converted to actual NULL in the relevant database object.
  • updated 'std.table.class.inc' so that the 'getWhere()' method will copy the $offset argument to $this->offset so that it is available in calls to subsequent methods.
  • updated 'std.table.class.inc' to create a new 'loadFieldSpec()' method which is an alias for 'getFieldSpec_original()'.
  • updated 'std.table.class.inc' so that the 'popupReturn()' method will convert the string $selection argument into an array of strings indexed by row number. If it is an associative array it will turn it into an indexed array for row number zero. This will enable the receiving task to deal consistently with the selection from a popup screen regardless of whether it was a single row or multiple rows.
  • updated 'std.table.class.inc' so that when the RESET button is pressed the 'sqlSelectInit()' method will set the $object->sql_* variables to their correct initial values instead of NULL.
  • updated 'std.table.class.inc' so that the 'updateFieldArray()' method does not call the 'array_update_associative()' function more than once.
  • updated 'std.table.class.inc' so that the 'updateSelection()' method will convert an array which is indexed by row number into a single string.
  • updated 'std.table.class.inc' so that the 'validateUpdate()' method will function correctly if the $fieldarray argument indicates a row in an object which contains multiple rows.
  • updated 'std.table.class.inc' to allow the '_cm_deleteSelection()' method to either delete the selected records (which is the default operation) or to nullify the foreign key fields in the selected rows.
  • updated 'std.table.class.inc' so that the 'deleteSelection()' method will call new methods called '_cm_pre_deleteSelection()' and '_cm_post_deleteSelection()'.
  • updated 'std.table.class.inc' so that the '_sqlAssembleWhere()' method will not attempt to modify the $object->sql_select string if $object->temporary_table is set.
  • updated 'std.table.class.inc' so that the '_sqlForeignJoin()' method will not add another JOIN to the current query if the count of JOINs goes over 50 as this will overflow the limit in the RDBMS. Any missing JOINs will be handled separately in the getForeignData() method.


Previous Topic: RADICORE V2.20.0 released
Next Topic: RADICORE V2.22.0 released
Goto Forum:
  


Current Time: Fri Apr 19 11:20:14 EDT 2024

Total time taken to generate the page: 0.00920 seconds