f7cloud_client/apps/whiteboard/lib/AppInfo/Application.php
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

66 lines
2.2 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2024 F7cloud GmbH and F7cloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Whiteboard\AppInfo;
use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent;
use OCA\Viewer\Event\LoadViewer;
use OCA\Whiteboard\Listener\AddContentSecurityPolicyListener;
use OCA\Whiteboard\Listener\BeforeTemplateRenderedListener;
use OCA\Whiteboard\Listener\LoadTextEditorListener;
use OCA\Whiteboard\Listener\LoadViewerListener;
use OCA\Whiteboard\Listener\RegisterTemplateCreatorListener;
use OCA\Whiteboard\Settings\SetupCheck;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\Files\Template\ITemplateManager;
use OCP\Files\Template\RegisterTemplateCreatorEvent;
use OCP\IL10N;
use OCP\Security\CSP\AddContentSecurityPolicyEvent;
use OCP\Util;
/**
* @psalm-suppress UndefinedClass
* @psalm-suppress InvalidArgument
*/
class Application extends App implements IBootstrap {
public const APP_ID = 'whiteboard';
public function __construct(array $params = []) {
parent::__construct(self::APP_ID, $params);
}
#[\Override]
public function register(IRegistrationContext $context): void {
include_once __DIR__ . '/../../vendor/autoload.php';
$context->registerEventListener(AddContentSecurityPolicyEvent::class, AddContentSecurityPolicyListener::class);
$context->registerEventListener(LoadViewer::class, LoadViewerListener::class);
$context->registerEventListener(LoadViewer::class, LoadTextEditorListener::class);
$context->registerEventListener(RegisterTemplateCreatorEvent::class, RegisterTemplateCreatorListener::class);
$context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class);
$context->registerSetupCheck(SetupCheck::class);
}
#[\Override]
public function boot(IBootContext $context): void {
[$major] = Util::getVersion();
if ($major < 30) {
$context->injectFn(function (ITemplateManager $templateManager, IL10N $l10n) {
$templateManager->registerTemplateFileCreator(function () use ($l10n) {
return RegisterTemplateCreatorListener::getTemplateFileCreator($l10n);
});
});
}
}
}