Yes, this is in fact a bug. After doing my own testing my own solution is as follows:
In the getFieldSpec_original() method change both occurrences of
if (!empty($this->audit_logging)) {
to
if (is_bool($this->audit_logging)) {
I shall include this fix in the next release.
The only 'standard' for setting variables in Radicore is to use the correct data type otherwise the results may be unpredictable.
In the case of some of the options which go into the $fieldspec array, they are switched on with:
$this->fieldspec['column']['keyword'] = 'y';
and switched off with
unset($this->fieldspec['column']['keyword']);
In these cases using
$this->fieldspec['column']['keyword'] = 'n';
will not have any effect as it is the existence of the keyword, not its value, that is checked.