public function onBSGroupManagerGroupDeleted($sGroup, &$result) { global $wgGroupPermissions, $wgNamespacePermissionLockdown; unset($wgGroupPermissions[$sGroup]); foreach ($wgNamespacePermissionLockdown as $iNS => $aPermissions) { foreach ($aPermissions as $sPermission => $aGroups) { $iIndex = array_search($sGroup, $aGroups); if ($iIndex !== false) { if (count($aGroups) == 1) { unset($wgNamespacePermissionLockdown[$iNS][$sPermission]); } else { array_splice($wgNamespacePermissionLockdown[$iNS][$sPermission], $iIndex, 1); } } } } $result = PermissionManager::writeGroupSettings($wgGroupPermissions, $wgNamespacePermissionLockdown); return true; }