registerEventListener( BeforeNodeWrittenEvent::class, BeforeFileWrittenListener::class ); // 🚀 DETECCIÓN AUTOMÁTICA: ServerInfo vs Panel Propio if (class_exists('\OCA\ServerInfo\Events\LoadAdditionalDataEvent')) { // Caso 1: ServerInfo soporta eventos → nos integramos $context->registerEventListener( \OCA\ServerInfo\Events\LoadAdditionalDataEvent::class, OverrideServerInfoListener::class ); } else { // Caso 2: ServerInfo no soporta eventos → panel propio en Admin Settings $context->registerService('GlobalQuotaAdminSettings', function() { return new \OCA\GlobalQuota\Settings\Admin\Settings(); }); } } public function boot(IBootContext $context): void { // Boot logic if needed } }