The bug is caused in:
/administrator/components/com_modules/controllers/module.php
the backend save doesn't use the same code as the frontend save because the frontend passes 'json' as the jdocument's type. This leads to the params being process with line 208:
$data = array_replace_recursive($properties, $data);
Sub form field items are removed and reordered in the child items in the 'params' array. But array_replace_recursive merges the new params and the old params rather than replacing them entirely.
Presuming that the frontend module save will always pass all of the params upon save then the problem can be fixed simply be putting the following line right before the array_replace_recursive.
if(isset($data['params']))
{
unset($properties['params']);
}
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-09-11 08:33:36 |
Closed_By | ⇒ | brianteeman |
Closed as we have a pr for testing #12007