registerEventListener( TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS_LOGGEDIN, function(Event $event) { if ($event instanceof TemplateResponse) { $config = $event->getAppContainer()->query(IConfig::class); $value = $config->getAppValue('minimalprofile', 'hidden_fields', ''); $hidden = ($value !== '') ? json_decode($value, true) ?? [] : []; $css = ''; if (!empty($hidden)) { $selectors = [ 'pronouns' => '#account-property-pronouns', 'role' => '#account-property-role', 'headline' => '#account-property-headline', ]; foreach ($hidden as $field) { if (isset($selectors[$field])) { $css .= $selectors[$field] . ' { display: none !important; }' . "\n"; $css .= '.personal-settings-setting-box:has(' . $selectors[$field] . ') { display: none !important; }' . "\n"; } } } if ($css) { Util::addInlineStyle($css); } file_put_contents('/tmp/minimalprofile.log', date('Y-m-d H:i:s') . ' EVENT fired, hidden: ' . print_r($hidden, true) . "\n", FILE_APPEND); } } ); } public function boot(IBootContext $context): void { } }