Hidden content providers are useful, if a user content provider requires to delete other content first, before the user content provider can remove their content.
See #2716
public function prepareRemoveContent() {
$knownContentProvider = array_map(function ($contentProvider) {
return $contentProvider->objectType;
- }, ObjectTypeCache::getInstance()->getObjectTypes('com.woltlab.wcf.content.userContentProvider'));
+ }, array_filter(ObjectTypeCache::getInstance()->getObjectTypes('com.woltlab.wcf.content.userContentProvider'), function ($contentProvider) {
+ return !$contentProvider->hidden;
+ }));
return [
'template' => WCF::getTPL()->fetch('removeUserContentDialog', 'wcf', [