Currently the CLI command config:set
changes all integer values to string values when saving changes, regardless whether these values were changed or not.
Values which seem to be boolean because they have content "true" or "false" are saved as booleans, but that is not really safe.
See the comment here: #42618 (comment) .
The CLI should save configuration in the same way as the administrator does, so the data types of the particular values are determined by the administrator/components/com_config/forms/application.xml
file or by the existing configuration.php
file.
The should not be a data type conversion based on the content of a value like it is currently done for boolean here https://github.com/joomla/joomla-cms/blob/5.0-dev/libraries/src/Console/SetConfigurationCommand.php#L445-L450 .
Labels |
Added:
No Code Attached Yet
|
Labels |
Added:
Feature
Removed: No Code Attached Yet |
Hmm, but the code which does that is still here: https://github.com/joomla/joomla-cms/blob/5.3-dev/libraries/src/Console/SetConfigurationCommand.php#L445-L450
@brianteeman Yes, the issue is vice versa. If you save a string value which has value 'true'
it might be saved as boolean, and that would be wrong. See my comment here: #42618 (comment)
That means: Test if you can save e.g. $smtphost
with a string value 'true'
. IF the result is saved as string: No issue. If it is saved as boolean: Issue.
now i am even more confused.
changes all integer values to string values when saving changes, regardless whether these values were changed or not.
The only values that were changed were the values I instructed to be changed and yes the integers were changed to strings which i agree is wrong but the true/false did not change data type
Maybe I am testing this wrong but when I tried to use config:set to change the smtpport ONLY that field was changed from an integer to string. No other values were changed. Changing massmailoff from true to false didnt change to a boolean