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


Today's Messages (off)  | Unanswered Messages (on)

Forum: RADICORE announcements
 Topic: RADICORE v1.63.0 released
RADICORE v1.63.0 released [message #2620] Wed, 01 September 2010 04:01
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version includes an upgrade of the TCPDF library, and a few bug fixes.

  • updated std.help.inc so that the script id and script description are on separate lines.
  • fixed bug in 'std.add3.inc' which caused it to return the wrong count when inserting more than one record.
  • updated 'std.data_field.xsl' to copy across any 'class' attribute found with any in the area for dropdown lists.
  • modified 'include.xml.php4/5.inc' so that the reference to file 'style_custom.css' will be excluded from the HTML output if it does not exist.
  • when converting a selection string to or from an array ensure that the difference between a field value of '' (empty string) and NULL is maintained.
  • updated TCPDF library to version 5.8.013
  • fixed bug which caused the creation of a PDF file which could not be read. This was caused by running the initialisation code a second time after detecting a change in language, and this re-initialisation caused a corruption.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.62.0 released
RADICORE v1.62.0 released [message #2596] Sun, 01 August 2010 04:55
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version adds the ability to specify favourite tasks, the 'run at end' and 'run at cancel' options, and a few bug fixes.

  • fixed bug in unFormatNumber() where it processed an empty field.
  • fixed bug in getWhere() where it returned multiple selections when the current task only displayed one.
  • fixed bug in 'append2ScriptSequence()' which caused the 'prepend' option to fail if the $_SESSION['script_sequence'] array did not currently exist.
  • created some extra popups for 'Choose Task'. You will need to run the following script:

    • radicore\menu\sql\menu.menu_export(2010-07-18).sql in order to update the contents of your MENU database.

  • updated the MNU_TASK table in the MENU database to include columns for 'task_id_run_at_end' and 'task_id_run_at_cancel'. You will need to run the following script:

    • radicore\menu\sql\mysql\alter_table(2010-07-18).sql in order to update the structure of your MENU database.

  • added the MNU_FAVOURITE table to the MENU database. This stores a user's favourite tasks which are displayed as buttons on the Menu/Home Page screen. You will need to run the following scripts:

    • radicore\menu\sql\mysql\alter_table(2010-07-20).sql in order to update the structure of your MENU database.
    • radicore\menu\sql\menu.menu_export(2010-07-20).sql in order to update the contents of your MENU database.

  • added navigation buttons to the 'List To-Do' screens to set the selection criteria to either COMPLETE or INCOMLETE. You will need to run the following script:

    • radicore\menu\sql\menu.menu_export(2010-07-24).sql in order to update the contents of your MENU database.

  • added task 'Delete Logon Errors' to AUDIT subsystem. You will need to run the following script:

    • radicore\audit\sql\audit.menu_export(2010-07-31).sql in order to update the contents of your MENU database.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.61.0 released
RADICORE v1.61.0 released [message #2577] Thu, 01 July 2010 05:18
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few enhancements and bug fixes.

  • modified 'std.validation.class.inc' and 'logon.class.inc' to deal with situation where $_SESSION['rdcaccount_id'] is not present.
  • modified 'error.inc' to skip logoff function if $logon_user_id is 'INTERNET' or 'BATCH'.
  • amended XMLRPC functions to obtain the value for $GLOBALS['dbprefix'] before the database is accessed.
  • modified 'dml.mysqli.class.inc' so that if an errno of 2006 (MySQL server has gone away) is returned it will attempt to reconnect.
  • modified 'config.xmlrpc.inc.default' to change the server encoding from 'utf8' to 'iso-8895-1'. This is because the client has already changed any utf8 characters into numeric entities, and to decode them using 'utf8' again would produce the wrong results.
  • modified 'getLanguageFile()' within 'include.library.inc' so that if it cannot find a file beginning with 'sys' then it uses a literal error message instead of one supplied by 'getLanguageText()' as this would also fail with 'file not found'.
  • modified 'std.table.class.inc' so that 'getForeignData()' will not clear out any key fields if a lookup failed while within a search screen as the key may only contain a partial value.
  • modified 'std.table.class.inc' so that 'unFormatData()' will not insert '9999-12-31' into a field which has 'infinityisnull' set while within a search screen.
  • fixed bug in convertTZdate() and convertTZtime() which failed to ensure that date is converted to internal format (ccyy-mm-dd) before being converted.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.60.0 released
RADICORE v1.60.0 released [message #2546] Tue, 01 June 2010 07:17
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contans a few enhancements and bug fixes.

  • modified 'config.inc' file to include optional 'port' and 'socket' parameters for MySQL database connections. See 'config.inc.default' for details.
  • modified 'std.batch.inc' and 'dml.???.class.inc' so that if a batch job fails on a duplicate candidate key during an insert or an update then the error log will contain the key value.
  • modified XML/XSL processing to allow a field's HTML control to be set to 'button'. See FAQ137 for details.
  • modified 'std.add1.inc', 'std.add2.inc', 'std.add5.inc' and 'std.update1.inc' to deal with 'button' controls.
  • fixed bug with cascadeDelete() when called from deleteRelations() method which failed to pass down the identity of the parent table.
  • modified processing of MNU_INITIAL_VALUE_ROLE and MNU_INITIAL_VALUE_USER so that both will be read and combined, with USER values taking precedence over ROLE values.
  • fixed bug in 'std.validation.class.inc' involving a MySQL field type of 'SET' which uses a screen control of MULTI CHECKBOX. This bug resulted in unselected values being represented as '0' in the sql query, thus causing an error. This does not happen if the control is MULTI DROPDOWN. See this bug for details.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.59.0 released
RADICORE v1.59.0 released [message #2518] Sat, 01 May 2010 06:49
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few enhancements and bug fixes.

  • fixed bug when writing to the AUDIT database when it has a dbprefix which is different from that of the table being audited.
  • updated TCPDF library to version 4.9.007.
  • added the ability to execute a task between the logon screen and the display of the first menu. This task can be specified as the 'initial passthru' on the 'menu' (Home Page) task. See FAQ132 for details.
  • fixed bug in wf_workitem.class.inc and workflow_engine.class.inc where rdcaccount_id was not included in the SELECT list. See Forum Thread #554 for details.
  • amended function append2ScriptSequence() to include an optional second argument, which, if set to TRUE, will cause the task details to be prepended to the $_SESSION['script_sequence'] array instead of being appended. This is to force any AUTO tasks generated by the workflow system to go to the head of the queue in front of any non-workflow tasks. See Forum Thread #556 for details.
  • amended 'workitem(timeout).php' so that it will process records for all values of rdcaccount_id.
  • updated 'wf_transition' table in 'workflow' database so that the time_limit can be specified in minutes instead of hours. You will need to run script radicore\workflow\sql\mysql\alter_table(2010-04-07).sql in order to implement this change.
  • fixed bug in 'std.multi4.inc' which prevented it from changing the rows-per-page setting.
  • fixed bug with the regular expression within the 'unFormatNumber()' method in 'std.table.class.inc'.
  • fixed bug which prevented a task of pattern 'batch' to be run from a menu button.
  • amended the 'auditWrite()' method inside 'audit_tbl.class.inc' so that it ignores BLOB fields. This is to prevent an error when attempting to write to a string field which contains invalid characters.
  • updated the data dictionary to allow a column to have a control of 'image'. This is similar to the 'control=filepicker' with 'subtype=image', but without the filepicker option.
  • updated XML/XSL processing to allow the specification of 'alt' text for an image field. See FAQ133 for details.
  • updated XML/XSL processing to allow a hyperlink field to have separate parts for 'label' and 'url'. See FAQ133 for details.
  • updated XML/XSL processing to allow a hyperlink field to be specified as an array so that multiple entries can be displayed. See FAQ133 for details.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.58.0 released
RADICORE v1.58.0 released [message #2458] Thu, 01 April 2010 05:50
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements.

  • updated PDF processing to allow the page footer to contain an image.
  • updated PDF processing to allow the page margins to be changed from the defaults.
  • updated PDF processing to allow 'ignore_if_empty' to be set for an entire style. This saves having to specify it for every line that uses that style.
  • updated PDF processing to allow title elements to be printed once per database row (not on overflow pages). This facility uses the 'print_only_once' option.
  • fixed database export and table export functions within the data dictionary so that when they link to the MENU database to find the subsystem's directory name they use the correct dbprefix from the config.inc file.
  • change 'singleton' class to 'RDCsingleton' so that it wll not clash with a class/interface with the same name when being integrated with other software. YOU WILL NEED TO CHANGE ALL REFERENCES TO THIS CLASS IN YOUR CODE.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: Forum has been offline
Forum has been offline [message #2449] Sun, 28 March 2010 10:56
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
Some of you may have noticed that this forum has been offline since the start of this month. This was because I (foolishly) tried to upgrade the forum software from version 2 to version 3, and this upgrade did not go as smoothly as expected.

After the 1st upgrade the admin page reported that all the forum posts were there, but when I visited each individual forum there were no posts visible!

I tried the upgrade a 2nd time, but afterwards it would not let me unlock the forum, so I could not see if the posts were there or not.

I decided that the upgrade from 2 to 3 was a failure, so I took a backup, uninstalled the entire forum, and tried a fresh install of version 3. This went OK, but left me with an empty forum. "No problem" I thought, "I'll just reload from the backup which I just made". This appeared to go well - all the forum groups were there, each group showed all the old postings, but when I examined individual posts I found that the message bodies were garbled. Some of the text was correct, but some of it was missing, and some of the text appeared to be from a different post.

I gave up at this point and contacted the authors of his software via there own forum. That was a waste of time as they were as helpful as a hole in a sinking ship. I gave up at this point as I had my own software to write and my own deadlines to meet.

I tackled it again this weekend, and by installing the forum software on my laptop and importing my last backup, I managed to manipulate the text files until the messages became ungarbled. I then took a backup from my laptop and uploaded that to my hosted server. When I imported that latest backup it ran for quite a while, then fell over with an "uncaught exception". What plonker wrote this software?

When I examined the forum contents I discovered that it had all been recovered except for all the private messages and a few of the earliest attachments. That I can live without as all the really important stuff has been recovered.

If somebody asks me "I see that you are using the FUDforum software. Would you recommend it?" my answer would be an emphatic NO! When it works it's OK, but just you try uprading to a later version, or reloading from a backup, and see just where that gets you.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.57.0 released
RADICORE v1.57.0 released [message #2448] Mon, 01 March 2010 07:00
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following enhancements:

  • modified the workflow system to allow more than 2 Explicit OR-Splits to come out of a transition. Any number can be specified, but they must all have a pre-condition that can be tested for TRUE except for the last one. This will be used as the default when none of the pre-conditions evaluates to TRUE.
  • allow the text on the menu/home page for pending workflow items to be customised. For details see FAQ130.
  • added 'soap' directory to assist in the development of web services. Point your browser to 'radicore/soap/index.html' to see some working examples.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.56.0 released
RADICORE v1.56.0 released [message #2433] Mon, 01 February 2010 14:55
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following changes:

  • fixed bug in startTransaction() method within 'std.table.class.inc' so that, when setting up the lock array, if the multiple database server option is employed it will use a separate dbprefix for each server rather than a single dbprefix for all servers.
  • modified the '_cm_ListView_print_after()' method within 'std.table.class.inc' so that it includes $next_row as the second argument. This will allow a comparison to be made with the current row before printing any extra lines.
  • fixed bug in processing of MULTI4 pattern which failed to associate error messages with the correct rows of the inner entity.
  • modified screen structure files to allow the 'align' and 'valign' attributes to be specified for cells in the vertical view.
  • modified 'std.multi1.inc' so that it calls the 'validateDelete()' method before the 'deleteRecord()' method.
  • modified 'update column' in the data dictionary to allow a new control called 'image hyperlink'. The field value should be the path to an image, and this will be displayed as a thumbnail image which will also be a hyperlink to the full-sized image.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.55.0 released
RADICORE v1.55.0 released [message #2389] Fri, 01 January 2010 15:16
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following changes:

  • updated 'std.validation.class.inc' to allow a numeric field to contain text such as 'field+1' so that it can be incremented from its current value instead of just being set to a new value.
  • updated 'std.delete1.inc' to display a message after a record has been deleted.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: Patch for version 1.54.0
Patch for version 1.54.0 [message #2386] Thu, 03 December 2009 05:38
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
A small change I made to the generic table class for a new script I was working on was found to break other scripts, so I have had to reverse it.

It only affects those table classes which have code in the _cm_post_updateRecord() method which compares the contents of $rowdata and $old_data to see if a particular value has changed.

My apologies if this has caused any inconvenience.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.54.0 released
RADICORE v1.54.0 released [message #2385] Tue, 01 December 2009 12:06
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements, including some sample code for XML-RPC web services.

  • fixed bug in setDefaultOrderBy() function which set the default sequence to 'asc', only to have it switched to 'desc' in the setOrderBy() function.
  • fixed bug in 'dict_table_key.class.inc' which failed to include the value of $dbprefix when accessing the database schema.
  • fixed bug in 'std.update4.inc' to change '$dbobject->getErrors' to '$dbobject->getErrors()'.
  • fixed bug in the 'import tables' function in the data dictionary which added $dbprefix twice to $dbname, thereby creating an invalid database name.
  • added 'xmlrpc' directory to assist in the development of web services. Point your browser to 'radicore/xmlrpc/index.html' to see some working examples.
  • replaced all POSIX functions which have been deprecated in PHP 5.3.0 with their PCRE equivalents.
  • updated the MENU database to include tables MNU_TASK_IP_ADDRESS and MNU_USER_IP_ADDRESS. This can be used to restrict access to machines with specified IP addresses. You will need to run the following scripts:

    • radicore\menu\sql\mysql\alter_table(2009-11-15).sql to alter the structure of your MENU database.
    • radicore\menu\sql\menu.menu_export(2009-11-15).sql to update the contents of your MENU database.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.53.0 released
RADICORE v1.53.0 released [message #2329] Sun, 01 November 2009 06:31
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following changes:

  • modified error handler so that it only displays verbose error messages when the server is 'localhost'. Verbose messages will still be sent to file 'errorlog.html' and emailed to the system administrator.
  • fixed bug in 'runInBackground()' function which failed to pass back any error message to the calling function.
  • fixed bug in 'std.filepicker1.inc' which failed to process the 'selectall/unselectall' options.
  • fixed bug in 'initialise()' function within 'std.table.class.inc' which incorrectly replaced $where with $selection.
  • modified search screen so that a dropdown list or radio group can be temporarily converted to a MULTIDROP. This will allow multiple options to be selected instead of just one, and will result in SQL similar to the following being inserted in the WHERE string: "field IN ('option1','option2','option3',...)".


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.52.0 released
RADICORE v1.52.0 released [message #2321] Sun, 04 October 2009 15:38
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements.

  • upgraded TCPDF to version 4.8.005
  • updated 'include.general.inc' to add functions 'convertTZdate()' and 'convertTZtime()'. These will allow timezone conversions on fields of type 'date' and 'time' instead of 'datetime'.
  • updated footer processing in PDF output so that 'date' and 'time' values are converted into the user's timezone.
  • updated 'std.table.class.inc' to replace the '_cm_ListView_pre_print()' method with the '_cm_ListView_print_before()' and '_cm_ListView_print_after()' methods.
  • updated 'std.pdf.class.inc' to include the 'getLinesRemaining()' method.
  • fixed bug in login screen where the email address was entered in mixed/upper case instead of lower case, causing the error message "A record already exists with this key" to be displayed.
  • updated 'std.validation.class.inc' to change all 'str*()' functions to 'mb_str*()' (if the mbstring extension has been loaded) as the func_overload option is no longer supported in htaccess files as of PHP version 5.2.7
  • fixed bug in 'std.update5.inc' which failed if $where was empty, ignoring the fact that $selection was not empty.
  • updated AUDIT database to add 'email_addr' field to 'audit_logon_errors' table. This is to fix bug when a login fails when using an email address instead of a user id. You will need to run script 'radicore\audit\sql\mysql\alter_table(2009-09-29).sql' in order to update your database schema.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.51.0 released
RADICORE v1.51.0 released [message #2296] Tue, 01 September 2009 07:10
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements.

  • fixed bug in 'std.search1.inc' which caused changes to $this-fieldspec in '_cm_validateSearch()' to be ignored.
  • changed 'std.data_field.xsl' to remove the need for the 'id' attribute when defining labels for options in radio groups and checkboxes. The 'id' attribute always used a value which was the same as the 'value' attribute for the control, which caused duplicate id's if more than one field had the same value. This in turn caused only the last label entry with that id to have any effect.
  • fixed bug in 'std.list2/3.inc', 'std.multi2/3/4.inc' where the RESET button caused action to be taken on the outer/parent entity when it should not.
  • fixed bug in 'childForm()' function which passed $search as a separate string to child forms of type 'list' instead of merging in the $where string.
  • fixed bug in 'childForm()' function which failed to include $script_vars in its arguments on the call to the runInBackground() function.
  • fixed bug in 'std.table.class.inc' which failed to set up the value for rdcaccount_id when the getData_serial() method was called.
  • fixed bug in '__sqlProcessJoin()' where $select (the current SELECT list) contained a field with an alias name and the contents of $parent_field contained more than one new field name.
  • fixed bug in 'dict_database_s01.class.inc' which referred to task 'dict_table(list)2' instead of 'dict_table(list2)'.
  • removed "header('content-length: ...')" from XSLclient() function as this caused problems when the XML document contained multibyte characters.
  • changed HELP text for DICT subsystem to reflect the latest task id's.
  • added custom method '_cm_reset()' which is called whenever the RESET button is pressed.
  • changed the processing of _cm_initialise() so that the 2nd argument, $selection, will be available for all tasks, not just those of pattern ADD2.
  • changed '_cm_pre_output()' method so that the $filename argument is available for CSV output. This will allow the filename to be changed in OUTPUT1 tasks.
  • changed 'std.pdf.class.inc' to allow the 'ignore_if_empty' attribute for a cell in the title area.
  • fixed bug in 'recover password' function which failed to decrypt the user's password before it was emailed.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.50.0 released
RADICORE v1.50.0 released [message #2234] Sat, 01 August 2009 11:01
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following changes:

  • fixed bug in 'include.xml.php4/5.inc' which mis-spelled a call to getLanguageText().
  • modified the _sqlSelectAlternateLanguage() method inside 'std.table.class.inc' so that it allows more options.
  • modified 'dml.pgsql.class.inc' to include the adjustGroupBy() and adjustHaving() functions which are used for the Oracle database.
  • added function replaceScreenColumns() which will replace a column id in a screen structure file with a different column id (and label) at runtime. This is similar to replaceScreenHeadings() which will only replace the column label.
  • updated 'mnu_subsystem_s01.class.inc' (subsystem export) so that it includes the MNU_ACCOUNT and MNU_MOTD tables when exporting the MENU subsystem.
  • updated various 'std.*.inc' files to use $object->getErrors() instead of $object->errors.
  • updated Virtual Private Database processing so that users whose rdcaccount_id is greater than 1 cannot modify or delete any shared records (where rdcaccount_id = 1).
  • allow the selection/choice made in popup screens to be locked for the next activation.
  • updated 'std.output1/2/3/4.inc' so that $search is available as a 3rd argument to _cm_initialise() in case it was called from a search screen.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.49.0 released
RADICORE v1.49.0 released [message #2183] Wed, 01 July 2009 10:14
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements, including support for different time zones.

  • added field 'user_timezone' to MNU_USER table. You will need to run script radicore\menu\sql\mysql\alter_table(2009-06-01).sql in order to amend the database schema.
  • added the ability to convert datetime fields between the timezone of the server and the timezone of the client. This is only available if your PHP version is 5.2 or greater.
  • updated 'std.pdf.class.inc' to use $this->getAliasNbPages() instead of the deprecated $this->AliasNbPages (used to insert 'page n of n' in page footers).
  • modified ListView in PDF processing so that each line can have a border top and bottom instead of alternate lines having a different background colour. Also allow 'border=P' to put a border around the page instead of each cell.
  • modified all page controllers to use '$dbobject->getMessages()' instead of '$dbobject->messages' which will allow $dbobject->messages to be either a string or an array.
  • modified 'dml.oracle.php4.class.inc' and 'dml.oracle.php5.class.inc' in order to manipulate the GROUP BY and HAVING clauses as what is acceptable to MySQL will not work in Oracle.
  • added method 'post_search()' and '_cm_post_search()' to 'std.table.class.inc'.
  • modified 'std.search1.inc' to call the new 'post_search()' method in order to perform any final processing before the entered values are passed back to the calling form. This may be because the search form is being used to enter selection details before firing off a batch process.
  • all tasks and scripts in the DICT subsystem have been renamed to conform to the current Radicore naming conventions. You will need to run script radicore\dict\sql\dict.menu_export(2009-06-25).sql to update your MENU database.
  • modified search screens so that required fields will be indicated as such. The 'required' property is removed from every entry in $this->fieldspec by default, but can be reinstated in '_cm_changeConfig()'.
  • fixed bug in 'dict_table_s02.class.inc' (export table) which failed to error when a related table was in a different subsystem but with no value for SUBSYS_DIR.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.48.0 released
RADICORE v1.48.0 released [message #2096] Mon, 01 June 2009 07:19
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few enhancements and bug fixes. It adds a new table for 'Message Of The Day" (MOTD) as well as upgrading the TCPDF library.


  • updated 'std.buttons.xsl' to include the total row count after 'show 25 | ... | show 100'.
  • added table 'mnu_motd' to the MENU database to deal with Message Of The Day. You will need to run the following scripts:

    • radicore\menu\sql\mysql\alter_table(2009-05-05).sql to update the structure of the MENU database. This will also add 'mnu_motd(show)' to the mnu_role_task table for each role_id so that it is accessible to all users.
    • radicore\menu\sql\menu.menu_export(2009-05-05).sql to add the new tasks to the MENU database.

  • modified the logon process so that a 'Show Message of the Day' screen will appear immediately after passing through the LOGON screen. It will show the latest unexpired message, with the ability to scroll through earlier unexpired messages.
  • fixed bug in 'mnu_user(add1)' which failed to encrypt the password field.
  • updated the dictionary import scripts to take account of $dbprefix when reading the target database. Database names in the dictionary do not have this prefix.
  • modified the method of looking up language files, screen and report structure files. It will now look for the specified file individually in one of the possible language directories instead of assuming that if the language directory exists then the file must exist in that directory.
  • renamed script 'mnu_pattern_enq.php' to 'mnu_pattern(enq1).php' and 'mnu_role_search.php' to 'mnu_role(search).php' to conform to current naming standards. You will need to run script radicore\menu\sql\menu.menu_export(2009-05-14).sql in order to update your copy of the MENU database.
  • fixed bug which caused the BACK button from a help page to go back to the wrong page.
  • changed the MULTI1 pattern to remove the RETRIEVE button and replace the CLEAR button with RESET as it resets the screen to its previous values which may not mean clearing it to an empty state.
  • upgraded TCPDF library to version 4.6.011.
  • fixed bug in 'std.validation.class.inc' which failed to validate a string's length against the column size in the data dictionary.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.47.0 released
RADICORE v1.47.0 released [message #2032] Sat, 02 May 2009 03:01
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates:

  • updated 'include.session.inc' to include the getPreviousPattern() function.
  • updated 'std.table.class.inc' to include $this->scriptPrevious() method which will call $this->commit() if there is a database transaction which is open.
  • updated 'std.table.class.inc' to include $this->no_duplicate_error which, if set to TRUE, will prevent an error message when inserting a record which already exists. Instead it will set $this->numrows to zero to signify 'no insert', and the _cm_post_insertRecord() method will not be called. If the new record is not a duplicate then $this>numrows will be set to 1 to signify 'record inserted'.
  • updated batch_log(filepicker) task so that by default each file hyperlink will open up in the browser window. If 'download=TRUE' is entered into the task's settings field then each hyperlink will be processed by the batch_log(filedownload) task.
  • updated 'std.table.class.inc' to include the post_fileUpload() and _cm_post_fileUpload() methods.
  • updated 'std.fileupload1.inc' to call the post_fileUpload() method so that the file may be processed after it has been uploaded.
  • updated the 'selections' area of the navigation bar so that a selection can be locked, which will enable the same records to be automatically reselected when returning to the screen.
  • modified the processing of the rdcaccount_id field so that it is qualified with the table name when included in any SQL statement that is generated by the framework.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.46.0 released
RADICORE v1.46.0 released [message #1980] Wed, 01 April 2009 09:24
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following changes:

  • fixed bug in php_session.class.inc which accepted a session_id greater than 32 chars when the request string had '/.../...' appended to it.
  • updated the deleteRelations() method in 'std.table.class.inc' so that when deleting or nullifying child relations the value of $this->audit_logging for the parent table is passed down to the child table.
  • updated the 'dict_table' table in the DICT database to include columns 'nameof_start_date' an 'nameof_end_date' when the table has fields which represent 'start_date' and/or 'end_date', but with different names. You must run script radicore\dict\sql\mysql\alter_table(2009-03-08).sql in order to update your database schema.
  • updated PDF processing to allow '<imagename>' to be expressed as '%%name' instead of the hard-coded path to an image file so that the path name can be provided from data which is obtained at runtime.
  • fixed bug in 'mnu_user.class.inc' which tried to validate the password when attempting to update a different field, such as the role_id. As the password is not present on the screen the validation always failed.
  • fixed bug in 'std.pdf.class.inc' where variables in the title were not being shown correctly if the printing of _cm_ListView_total() caused a new page to be started.
  • updated 'std.table.class.inc' to include $this->scriptNext() method which will call $this->commit() if there is a database transaction which is open.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.45.0 released
RADICORE v1.45.0 released [message #1969] Sun, 01 March 2009 10:22
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes.


  • fixed bug in lookup of language directories which used format 'xx-XX' instead of 'xx_xx' (all lower-case characters, with '_' (underscore) instead of '-' (hyphen)).
  • fixed bug in conversion of WHERE string into array to allow operator of NOT LIKE as well as LIKE.
  • updated TCPDF library to version 4.5.018


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.44.0 released
RADICORE v1.44.0 released [message #1939] Sun, 01 February 2009 06:47
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following bug fixes:

  • ensure that if a screen is refreshed after a database update it is done via GET instead of POST.
  • fixed bug in 'std.detail1.xsl' which prevented a field's 'size' attribute in the screen structure file from being used to override the default size.
  • fixed bug in getData_raw() when $this->sql_orderby contains a field which does not exist in either $this->sql_select or $this->fieldspec, thus causing an error.
  • fixed bug in 'mnu_user.class.inc' which corrupted the password when the COPY button is pressed while running mnu_user(add1).
  • fixed bug in 'std.encryption.class.inc' regarding multibyte characters.
  • fixed bug in 'include.xml.php4/5.inc' which tried to output a numeric field name as an element id. These are invalid in XML, so are ignored.
  • fixed bug in 'std.filedownload1.inc' to allow spaces in the file name.
  • fixed bug in 'std.head.xsl' which failed to append the session name to the meta refresh line.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.43.0 released
RADICORE v1.43.0 released [message #1931] Thu, 01 January 2009 07:49
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few updates for PDF processing.

  • added variable $this->sql_no_foreign_db (default value is FALSE) to 'std.table.class.inc'. If this is set to TRUE then when $this->_sqlForeignJoin() is executed it will ignore any tables which exist in other databases. This is to deal with the situation where an application contains several databases which are spit across more than one server, in which case cross-database JOINs would fail.
  • replaced 'getColumnHeadings()' and 'setColumnHeadings()' functions with replaceScreenHeadings().
  • added replaceReportHeadings() function for PDF output.
  • updated PDF report structure files to allow column widths to be expressed as a percentage as well as a number.
  • upgraded TCPF library to version 4.4.006.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.42.0 released
RADICORE v1.42.0 released [message #1888] Tue, 02 December 2008 11:13
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements which include connections to MySQL databases using SSL, and initiating background tasks from a web page.

  • made it possible to connect to a remote MySQL database using SSL encryption. This is only possible when using the 'improved' mysqli extension for version 4.1 and above. Refer to FAQ115.
  • fixed bug in 'std.pdf.class.inc' in order to allow an image to appear in the 'multi*' area.
  • modified 'insertOrUpdate() method within 'std.table.class.inc' so that the input array is checked to see if the full primary key has been specified. If it has not then a lookup cannot be performed and the record will be inserted. This is to deal with auto_increment columns.
  • modified the 'getColumnNames()' method within 'std.table.class.inc' so that it calls custom method '_cm_getColumNames()'. This will allow both the list of column names (defined within $this->fieldpsec) and their initial values to be customised.
  • fixed bug in 'logon.class.inc' which caused the wrong error message to be displayed if the login is via email address and the address does not exist in the MNU_USER table.
  • updated the processing of radio groups to allow individual entries to be given their own CSS style. Refer to FAQ117.
  • updated 'std.batch.inc' so that it will use the INCLUDE_PATH from the local {.}htaccess{.txt} file instead of the 'batch.ini' file. You will need to copy the updated version from the 'radicore/default' directory.
  • modified list of patterns to include 'BATCH' for tasks which are to be run in the background. Refer to FAQ119. You will need to run script 'radicore\menu\sql\menu.menu_export(2008-11-21).sql' in order to update your copy of the MENU database.
  • updated directory structure to include 'radicore/logs' for the output from background tasks. You will need to create this directory and change its permissions so that it can be written to by the application.
  • created task 'batch_log(filepicker)' to read the contents of the 'radicore/logs' directory. Clicking on a file name will download/display its contents.
  • updated 'std.filepicker1.inc' to include a call to the 'filePickerSelect()' method after a selection has been made in case some further processing is necessary.
  • updated 'std.filedownload1.inc' to include a call to the 'initialise()' method to perform any processing before the 'initialiseFileDownload()' method is called.
  • added task 'file(search)' to be used as the search function for the 'filepicker' pattern.
  • added task 'file(delete)' as a navigation button in 'batch_log(filepicker)', to allow selected entries to be deleted.
  • updated 'std.filepicker1.inc' to include optional 'size' and 'date' column, and to allow sorting on these columns.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.41.0 released
RADICORE v1.41.0 released [message #1787] Sat, 01 November 2008 07:34
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates and fixes:

  • fixed bug in 'initSession()' function within file 'include.session.inc' which lost the value of a task's pattern_id in the session data.
  • updated 'std.add2.inc' so that if 'getExtraData()' produces an error it will return immediately to the previous task.
  • fixed bug in 'std.validation.class.inc' which failed to pick up a custom validation class in the subsystem's 'classes' directory.
  • fixed bug in 'std.datevalidation.class.inc' which failed to deal correctly with dates which were input in the format 'dd/mm/yyyy'.
  • added option on Menu Control Data to allow login via email address instead of user_id.
  • upgraded TCPDF library to version 4.0.029 (after overcoming some new bugs in TCPDF which the author won't recognise as bugs).
  • modified the pagination and scrolling functionality to allow 'google style' which shows (Page 1 2 3 4 5 6 7 8 9 10 of 99) instead of (Page 5 of 99). My thanks to Ian Katz for contributing this code.
  • modified the 'help' template inside 'std.buttons.xsl' so that all help screens use the same session name as the application screens. This will ensure that the user's language will be taken into account when finding text to be displayed.
  • modified 'std.pdf.class.inc' to accept 'notext' => 'y' on images so that the image will be displayed on its own without the file name.
  • fixed bug in 'radicore/default/screens/en/output4.screen.inc' which had 'party' as the table name instead of '#tablename#'.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.40.0 released
RADICORE v1.40.0 released [message #1722] Wed, 01 October 2008 06:06
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and enhancements, including the ability to perform user authentication via an LDAP server.

  • fixed bug in 'qualifySelect()' of 'std.table.class.inc' so that it will not try to qualify any element in the select list which starts with 'function(SELECT ...)' as well as '(SELECT ...)'.
  • added sqlSelectDefault() method to 'std.table.class.inc' so that the components of an object's sql SELECT statement can be set to their default values before being modified.
  • modified 'std.datevalidation.class.inc' and 'config.inc' to allow dates to be displayed in the format 'dd.mm.yyyy' and 'dd/mm/yy'.
  • modified 'Generate SQL' function in AUDIT system to replace chr(10) with '\n' and chr(13) with '\r' in field values.
  • modified the filepicker pattern so that if a fileupload task is activated then the uploaded file will automatically be passed back to the user as the selected file without any further action.
  • modified 'std.help.inc' so that it includes both the taskid and description in the screen title.
  • added the ability to authenticate the logon screen via an LDAP server, in addition to the existing RADIUS server.
  • updated MNU_TASK table to include a new column to hold max_execution_time, to allow a script to run for longer than the limit defined in the PHP.INI file. You will need to run script radicore\menu\sql\mysql\alter_table(2008-09-19).sql to update the structure of the MENU database.
  • made it possible to force a page break in a PDF report with the code "$this->pdf->AddPage();"
  • fixed bug in getForeignData() which dealt incorrectly with a field list containing multiple fields, some of which were aliased.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.39.0 released
RADICORE v1.39.0 released [message #1593] Mon, 01 September 2008 05:27
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates and fixes:

  • modified 'std.table.class.inc' so that if the 'getData()' or 'getData_serial()' methods need to check that the primary key has been supplied they will also accept a candidate key.
  • fixed bug in 'dml.*.class.inc' which caused the value zero in an integer field to be treated as empty, thus causing an error if a field had the 'required' property set. The test has been changed from 'if (empty($value)) to 'if (strlen($value) > 0)'.
  • modified 'std.table.class.inc' so that the 'initialise()' method saves the contents of $where in $this->where. This will allow $where in an ADD1 pattern to be passed to a popup form.
  • fixed bug in 'isPkeyComplete()' where the primary key was not supplied but because the table had additional unique keys no error was raised even though none of these keys was supplied.
  • modified 'std.table.class.inc' so that the '_cm_initialiseFilePicker()' method accepts an argument which is the $where string converted into an associative array.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.38.0 released
RADICORE v1.38.0 released [message #1521] Fri, 01 August 2008 10:09
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates and fixes:

  • modified 'setColumnAttributes()' and 'std.data_field.xsl' so that the 'nodisplay' attribute can be set for fields which occur in multi-field rows for a single occurrence (eg: the 'outer' entity in a LIST2 pattern).
  • modified 'std.add1.inc' so that $selection will be made available as a second argument for the '_cm_initialise()' method if it is required.
  • modified 'icon' template within 'std.data_field.xsl' so that width and height are only output when they are non-zero.
  • fixed bug in 'dict_table_s02.class.inc' which failed to deal correctly with multiple candidate keys.
  • modified the 'actbar' template within 'std.buttons.xsl' so that the script time is not included in the HTML output if it is not included in the XML document. This can be achieved by adding the line "$GLOBALS['no_script_time'] = true;" in the subsystem's 'include.subsystem.inc' file.
  • upgraded TCPDF library to version 4.0.008.
  • modified popup processing so that _cm_popupCall() can set $this->errors and change the value in $popupname.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.37.0 released
RADICORE v1.37.0 released [message #1419] Tue, 01 July 2008 11:46
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
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 '_from' and '_to' values into the '' field as "BETWEEN '_from' AND '_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.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.36.0 released
RADICORE v1.36.0 released [message #1333] Fri, 02 May 2008 05:20
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few enhancements and bug fixes.

  • switched license from GPL (GNU General Public License) to AGPL (GNU Affero General Public License) to include 'remote network interaction' in the definition of 'sharing' (ie: non-private usage).
  • modified 'std.data_field.xsl' so that the select box will not be shown for any row that has the 'noselect' attribute set. This can be achieved by adding the pseudo-column 'rdc_rowspecs' with the value "array('noselect' => 'y')" to the row in question.
  • modified 'std.table.class.inc' so that it deals with 'allow_empty_where=true' passed down in the 'settings' field from the 'Update Task' screen.
  • modified 'std.table.class.inc' so that if an object's 'allow_empty_where' property is set it will also ignore the 'checkPrimaryKey' property.
  • modified 'logon.class.inc' so that if radius authentication is turned on the user is not prompted to change his menu password.
  • modified 'std.list1.inc' so that 'getExtraData()' method is called after 'getData()' instead of 'initialise()'.
  • fixed bug in 'validateSortItem()' which failed to remove trailing 'asc' or 'desc' from field name before testing it against the field list of the current object.
  • fixed bug in 'getFieldAlias3()' function within 'include.general.inc' so that if an expression contains more than one '.. AS ..' it deals with the last one, not the first.
  • modified 'std.data_field.xsl' so that when processing a MULTI2, MULTI3 or MULTI4 pattern it is possible to set the 'outer' or 'inner' zones to 'noedit' with the statements "$this-xsl_params['outer_noedit'] = 'y'" and "$this-xsl_params['inner_noedit'] = 'y'". This can be reversed using the "unset()" statement.
  • added '_cm_getWhere()' method to 'std.table.class.inc' to allow $where string to be modified before it is passed to the next task.
  • modified 'std.update1.inc' so that if $dbobject->errors is set after the call to $dbobject->getData() then all the fields in the data area are set to 'noedit'.
  • modified 'std.search1.inc' to allow date fields to be preceded by operators such as '<', '<=', '>' and '>='.
  • the file 'std.multi3.xsl' is now redundant as it is a duplicate of 'std.list3.xsl'.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.35.0 released
RADICORE v1.35.0 released [message #1303] Tue, 01 April 2008 10:45
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates and fixes:

  • fixed bug in the 'validateField()' method inside 'std.validation.class.inc' which translated a field name using the contents of the 'language_text.inc' file, then used the translated name as the key to the $errors array insead of using it in the body of the message.
  • fixed bug in the 'qualifySelect()' function within 'std.general.inc' so that fields within a 'function(...)' statement are also qualified, but fields within a subselect are not.
  • modified the 'filterWhere()' method inside 'include.general.inc' so that all field names are converted to lowercase before being compared with the contents of the $fieldspec array.
  • modified the 'getInitialData()' method inside 'std.table.class.inc' so that if a field is currently empty but it has a default value defined, then the default value will be used as the field's initial value (unless it has a datatype of date and/or time).
  • modified the '_sqlProcessJoin()' method inside 'std.table.class.inc' so that if a field being added to the select string has an alias name which is already being used, that alias name will be appended with an 'x' to make it unique.
  • modified LIST2, LIST3, MULTI2, MULTI3 and MULTI4 controllers so that the $where string passed to the 'initialise()' method of the inner objects is the original string, not the one filtered by the outer object.
  • fixed bug in ADD2 pattern which caused $selection to be used instead of $where. However, $selection will be made available as a second argument for the '_cm_initialise()' method if it is required.
  • modified XSL files so that each <body> element in the HTML output will include a CSS class name which is based on the script name (but without the '.php' extension, and with parentheses changed to underscores). This will allow custom CSS styles to be set for individual scripts.
  • added pattern ADD5 which will allow multiple database rows to be created from a single input screen. You will need to import script radicore\menu\sql\menu.menu_export(2008-03-28).sql to update your copy of the MENU database.
  • added '_cm_setParentData()' method to 'std.table.class.inc' to allow changes made in a parent object to be made available to the child object in the ADD5 pattern.
  • added functions 'setColumnAttributes()' and 'unsetColumnAttributes()' to 'include.general.inc' to allow columns in a horizontal display to be hidden or unhidden.
  • added functions 'getColumnHeadings()' and 'setColumnHeadings()' to 'include.general.inc' to allow column headings in a horizontal display to be modified.
  • added the ability to specify that all the fields in a particular row in a multi-row update area, such as in a MULTI2 pattern, should be set to 'noedit'. This can be achieved by adding the pseudo-column 'rdc_rowspecs' with the value "array('noedit' => 'y')" to the row in question.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: Fix for version 1.34.0
Fix for version 1.34.0 [message #1287] Thu, 13 March 2008 07:27
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
Here is a fix for the bug reported in http://www.radicore.org/forum/index.php?t=msg&th=319


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.34.0 released
RADICORE v1.34.0 released [message #1275] Sat, 01 March 2008 09:13
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few enhancements and bug fixes.
  • made it possible to include '../menu/logon.php' from another script in order to allow additional logon screens for different purposes. Each logon can have its own footer.txt and CSS entries.
  • modified LIST2, LIST3, MULTI2, MULTI3 and MULTI4 controllers so that the contents of 'Selection (fixed)' from the MNU_TASK table is made available in $this->sql_where for all middle and inner entities. This is because the value may get filtered out when the $where string is extracted from the previous entity.
  • modified the _sqlAssembleWhere() method in 'std.table.class.inc' so that if the WHERE string contains a reference to a name which appears as an alias name in the select list (i.e: 'name AS alias') it will be moved to the HAVING string, thus avoiding an SQL error. This makes the solution in FAQ 85 obsolete.
  • modified the mechanism by which primary keys are extracted from one object for passing to another object, either within the same task or a different (child) task. By default only the fields which are part of the primary key will be included in the $where string, but this list can be altered at runtime within the _cm_getPkeyNames() method.
  • modified the mechanism by which the $where string which is passed down from the previous object, either within the same task or a different (parent) task, is filtered during the initialise() method. By default any field which does not exist in the $fieldspec array will be filtered out, but additional fields can be added to list within the _cm_filterWhere() method.
  • fixed bug in dict_database(import) which failed to deal correctly with a non-null value in $GLOBALS['dbprefix'].
  • added the ability to change the hyperlinks above the menu bar from text to images. Refer to FAQ 99 for details.
  • added 'Search' navigation buttons to the various 'mnu_initial_value_role/user' tasks. Please run script radicore\menu\sql\menu.menu_export(2008-02-07).sql to import these changes.
  • modified structure of USER and TASK_FIELD tables in the MENU database. You will need to run script radicore\menu\sql\mysql\alter_table(2008-02-27).sql to modify your existing database.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.33.0 released
RADICORE v1.33.0 released [message #1250] Fri, 01 February 2008 06:34
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains enhancements for internationalisation, multiple database servers, Two Factor Authentication (2FA) via a RADIUS server, and silent logons.
  • modified MENU database to include a new LANGUAGE table which will help when providing application data in multiple languages. This is documented in http://www.tonymarston.net/php-mysql/internationalisation2.h tml. You will need to run the following scripts:
    • radicore\menu\sql\mysql\alter_table(2008-01-03).sql to modify the database structure.
    • radicore\menu\sql\menu.menu_export(2008-01-03).sql to modify the contents of the MENU database.
  • modified DICT database to add new columns to DICT_TABLE table. You will need to run the following script:
    • radicore\dict\sql\mysql\alter_table(2008-01-04).sql
  • updated 'dict_table_s02.class.inc' so that the dictionary export facility will include alternative language details in the '<table>.dict.inc' file.
  • updated 'std.table.class.inc' to include 'getLanguageEntries()' which ensures that each alternative language table contains a default entry for each supported language.
  • updated 'std.list2.inc' so that when the inner table is the same as the alternative language table of the outer table it will call 'getLanguageEntries()' automatically.
  • updated 'std.table.class.inc' so that when 'insertRecord()' is used on a table which has an alternative language table it will automatically call 'getLanguageEntries()' to create default entries on the alternative language table for all the supported languages.
  • modified the XAMPLE subsystem to demonstrate how the alternative language feature works. You will need to install that subsystem before you can view it.
  • modified tables 'initial_value_role' and 'initial_value_user' in the MENU database to include a new 'is_noedit' column. If this is set to TRUE then the field will be set to NOEDIT so that the value cannot be changed.
  • modified 'std.table.class.inc' so that the '_getDBMSengine()' method will allow connections to multiple database servers, as documented in http://www.tonymarston.net/php-mysql/infrastructure-faq.html #faq92.
  • modified the logon process to include the option of additional authorisation via a RADIUS server. Please refer to http://www.tonymarston.net/php-mysql/infrastructure-faq.html #faq93 for details.
  • modified PDF List View so that additional lines can be printed both before and after the current database record, as documented in http://www.tonymarston.net/php-mysql/output-to-pdf.html#exam ple.list.view.line.breaks
  • modified the logon screen to accept user_id and user_password via the URL, thus removing the need for dialog with the user.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.32.0 released
RADICORE v1.32.0 released [message #1206] Tue, 01 January 2008 05:03
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates:
  • modified 'std.data_field.xsl' to allow the option lists for dropdowns and radio groups to have a separate set of values for each row in a MULTI2 or MULTI3 form.
  • modified 'std.data_field.xsl' so that if a text field contains a non-breaking space it will be output as a non-breaking space in the HTML output. This is because when '&nbsp;' is added to the XML document it becomes '&amp;nbsp;' which causes the HTML output to display '&nbsp;' instead of ' '. The string '&amp;nbsp;' is therefore replaced with '&#160' during the XSL transformation.
  • fixed bug in 'extractQualifiedFieldNames()' - used in 'qualifyOrderby()' - which failed to deal with 'CASE ... END AS alias' correctly.
  • fixed bug in resizeImage() function to use forward slashes instead of back slashes in path names so that it will work on *nix systems.
  • fixed bug in task wk_workflow(validate) which caused the SQL query to fail by qualifying a column in the ORDER BY clause with the wrong table name.
  • fixed bug in 'include.sesson.inc', 'include.xml.php4.inc' and 'include.xml.php5.inc' which failed to deal with "$_SERVER['HTTPS']=off" when using IIS.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.31.0 released
RADICORE v1.31.0 released [message #1179] Sun, 02 December 2007 09:50
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates and fixes:
  • modified 'audit_tbl_s01.class.inc' to prevent it from using addslashes() twice with WHERE clauses containing 'name LIKE 'foobar%' as this is now handled differently within each DBMS object.
  • fixed bug in 'dml.pgsql.class.inc' which failed to deal correctly with an empty field of type 'varray' when inserting or updating.
  • fixed bug in 'dml.pgsql.class.inc' which failed to deal correctly with fields in a WHERE string which contain either a backslash or a single quote.
  • fixed bug in 'dml.oracle.php4/5.inc' which failed to deal correctly with fields in a WHERE string which contain either a backslash or a single quote.
  • modified 'geLanguageArray()' and 'getLanguageText()' functions to replace 'require_once' with 'require' as files may have to be reloaded.
  • modified 'std.table.class.inc' so that all insert/update/delete methods can detect when they are being accessed from a script in a different subsystem in order to set $GLOBALS['classdir']. This is used to retrieve messages from the directory associated with the table class, and not the directory associated with the calling script.
  • modified 'std.singleton.php4/5.inc' so that they call the 'initialise()' method after instantiating a new object.
  • modified 'include.general.inc' so that 'array2where()' replaces [name=''] with [name IS NULL].
  • fixed bug in 'std.data_field.xsl' concerning a multi-line text box in a MULTI2 pattern.
  • modified 'include.general.inc' so that if the php.ini setting for 'precision' is less than 15 (the default is 14) it will be set to 15. This is to allow the Data Dictionary to deal properly with the minimum and maximum values for BIGINT columns.
  • modified numerous 'std.???.inc' files so that $dbobject->initialise() is called before $dbobject->setOrderBy() so that the contents of $this->fieldspec can be modified before the sort string is validated.
  • modified 'std.filepicker1.inc' to allow it to accept search criteria for 'filename' from a 'search' screen which can be activated from the navigation bar.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.30.0 released
RADICORE v1.30.0 released [message #1156] Thu, 01 November 2007 11:17
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes and minor enhancements.
  • modified 'include.general.inc' to allow 'MATCH(...) AGAINST(...)' in query strings for the MySQL database.
  • modified getForeignData() method inside 'std.table.class.inc' so that if the lookup on the foreign table fails then the foreign key field(s) are only cleared if they do not form part of the primary key.
  • modified 'std.table.class.inc' so that if the insertOrUpdate() method is given an associative array (containing a single database row) it will return an associative array, and if it is given an indexed array (containing a number of database rows) it will return an indexed array.
  • modified 'std.table.class.inc' so that the getInitialDataMultiple() method can deal with a $where string that contains ') OR (' to indicate a selection of multiple rows. The input to the _cm_getInitialDataMultiple() method will now be a multi-dimensional array, indexed by row number.
  • modified File Picker pattern to enable pagination. This currently has a fixed page size of 100 rows which will be displayed in 2 columns of 50 rows each.
  • fixed bug in Search pattern which treated '0' as empty instead of false for boolean fields.
  • fixed bug in the 'setAction()' method within 'std.table.class.inc' which caused a ghost entry to be inserted into an otherwise empty array when either the 'selectall' or 'unselectall' hyperlinks were used in a Multi2, Multi3 and List2 pattern.
  • fixed bug in 'std.data_field.xsl' when, for a field with a control of 'popup', the field name is the same as the foreign field.
  • fixed bug in 'setScreenStructure()' of 'include.xml.php4/5.inc' so that 'size=<string>' is treated as a field name and 'size=<numeric>' is treated as an field attribute.
  • fixed bug in Add 2 pattern which caused it to use $selection instead of $where.
  • fixed bug in processing of Multi 4 pattern which caused popup in outer table to be directed to the inner table instead.
  • fixed bug in Enquire 1 pattern which caused it to process the previous selection when restarted with a new selection.
  • fixed bug in logon processing which failed to use addslashes() when building the WHERE string from the user's input.
  • modified 'dml.mysql.class.inc' and 'dml.mysqli.class.inc' to deal correctly with backslashes in the WHERE string. Values such as [name='value\\'] must be left alone while [name LIKE 'value\\'] must be changed to [name LIKE 'value\\\\'].
  • modified 'std.validation.class.inc' so that an integer of size=3 will accept a maximum value of 999, not 127.
  • added function resizeImage() to 'include.general.inc'.
  • modified File Upload pattern to call resizeImage() if $object->resize_array is not empty.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.29.0 released
RADICORE v1.29.0 released [message #1108] Mon, 01 October 2007 14:42
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains a few bug fixes, plus the ability to provide Row Level Security (RLS) or a Virtual Private Database (VPD).
  • renamed MENU tasks in the MENU database so that they conform to the format 'table_name(pattern)suffix'. You will need to run script radicore\menu\sql\menu.menu_export(2007-09-10).sql in order to update any previous installations.
  • fixed bug in 'dict_table(export)' when using a PostgreSQL database which failed to deal properly with column types of tinyint and mediumint.
  • fixed bug in 'language_detection.inc' which failed to recognise France when the language array contained [fr] instead of [fr-fr].
  • fixed bug in 'std.validation.class.inc' which failed to convert French decimal point ',' to '.' before testing for a numeric value.
  • fixed bug in 'std.search.inc' which failed to convert French decimal point ',' to '.' before passing search string back to previous form.
  • changed 'dict_column(import)' so that it reports the column name instead of the column number in any error messages.
  • fixed bug in 'std.tree_view2.inc' which caused the saved version of $dbouter to be lost from the $_SESSION array.
  • fixed bug in 'dml.mysql.class.inc' and 'dml.mysqli.class.inc' which did not deal properly with column names used in unique or non-unique keys which contained uppercase characters.
  • added an option for Virtual Private Databases (VPD), also known as Row Level Security (RLS). This allows a database table to contain data for multiple accounts, but each user can only access the data for his/her account. This feature is documented in http://www.tonymarston.net/php-mysql/virtual-private-databas e.html. This will require the following scripts to be run:
    • radicore\menu\sql\mysql\alter_table(2007-09-14).sql - to update the structure of the MENU database
    • radicore\menu\sql\menu.menu_export(2007-09-14).sql - to update the contents of the MENU database
    • radicore\workflow\sql\mysql\alter_table(2007-09-17).sql - to update the structure of the WORKFLOW database
  • Added function 'free_result()' to 'std.table.class.inc' to release the resource created by 'getData_serial()'.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.28.0 released
RADICORE v1.28.0 released [message #1078] Sat, 01 September 2007 06:42
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates:
  • fixed bug which caused message produced by 'Recover Password' task to be lost when returning to the logon page when it is displayed using the HTTPS protocol.
  • fixed bug which allowed invalid characters in user passwords to be allowed if they were not encrypted. This caused a problem when using the Control screen to set all passwords from unencrypted to encrypted as this processing would fail if it hit a password which contained invalid characters.
  • PDF library changed from http://www.fpdf.org/ to http://tcpdf.sourceforge.net/ as this includes support for UTF-8 unicode fonts and barcode generation.
  • fixed bug in $where string processing (converting from string to array and back again) which caused problems when the leading characters of a string field contained relative operators such as '<', '>', '<=', '>=', etc.

For details on the new barcode generation facility please refer to http://www.tonymarston.net/php-mysql/output-to-pdf.html#barc ode.generation.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
 Topic: RADICORE v1.27.0 released
RADICORE v1.27.0 released [message #1061] Mon, 20 August 2007 08:41
AJM  is currently offline AJM
Messages: 1206
Registered: April 2006
Location: Surrey, UK
Senior Member
This version contains the following updates:
  • fixed bug in dictionary import when dealing with unsigned FLOAT columns.
  • created function 'append2ScriptSequence()' for adding entries to $_SESSION['script_sequence'] to include additional standard processing.
  • updated 'std.add1/2.inc', 'std.update1/3.inc' and 'std.multi1/2/3.inc' to check for errors after calling the $dbobject->getExtraData() method.
  • fixed bug in 'std.delete2.inc' which made it ignore the contents of $where in favour of $selection.
  • updated workflow subsystem to add a new task to list expired workitems (timed items which have gone past their time limit) and a child task to trigger the expired item. This is for those users who do not use a cron job to trigger a selected expired item. Please use script radicore\workflow\sql\workflow.menu_export(2007-08-05).sql to update your menu database.
  • fixed bug in getLanguageText() caused when obtaining text from a subsystem other than the current subsystem.
  • added tasks 'mnu_menu(list2)a' and 'mnu_nav_button(list2)a' which will show the parents of the selected task instead of its children. You will have to import script 'radicore\menu\sql\menu.menu_export(2007-08-12).sql' to change your menu database.
  • fixed bug in 'qualifyWhere()' function where $this->sql_search_table contained 'tablename AS alias'.
  • fixed bug which caused 'recover password' function to fail.
  • fixed bug which failed to show 'Reset User Password' screen when user is forced to change his password after 'n' days or 'n' logons.


Tony Marston
http://www.tonymarston.net
http://www.radicore.org
Pages (2): [1  2    »]


Current Time: Fri Sep 10 00:16:34 EDT 2010

Total time taken to generate the page: 0.15597 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.1.
Copyright ©2001-2010 FUDforum Bulletin Board Software