- Affected version
- XF2.2.13
If you have add-on A, which has defined a permission interface group B, and then Add-on C which implements a permission in that interface group; uninstalling add-on A will break any add-on C.
Running
when attempting to install/upgrade add-on B on anotherXF instance.
The problem is
This will damage all add-ons which implement a permission on the interface group.
Running
php cmd.php xf-addon:build
for add-on C will generate a broken install which will throw this error:
Code:
Please enter a value for the required field "interface_group_id"
The problem is
XF\Entity\PermissionInterfaceGroup::_postDelete()
:
PHP:
protected function _postDelete()
{
...
if (!$this->getOption('delete_empty_only'))
{
$this->db()->update(
'xf_permission',
['interface_group_id' => ''],
'interface_group_id = ?',
$this->interface_group_id
);
}
}
This will damage all add-ons which implement a permission on the interface group.