From 5de1f0b9c62a4b5b1dea95a363646fe581aaecf0 Mon Sep 17 00:00:00 2001 From: Luka Trovic Date: Wed, 15 Nov 2023 20:38:02 +0100 Subject: [PATCH] feat: add repair step to install default fonts on installation Signed-off-by: Luka Trovic --- appinfo/info.xml | 6 ++++ assets/fonts/AmaticSC-Regular.ttf | Bin 0 -> 142696 bytes cypress/e2e/settings.spec.js | 8 ++++++ lib/Command/InstallDefaultFonts.php | 32 ++++++++++++++++++++++ lib/Migration/InstallDefaultFonts.php | 27 ++++++++++++++++++ lib/Service/FontService.php | 38 ++++++++++++++++++++++++++ tests/psalm-baseline.xml | 5 ++++ 7 files changed, 116 insertions(+) create mode 100644 assets/fonts/AmaticSC-Regular.ttf create mode 100644 lib/Command/InstallDefaultFonts.php create mode 100644 lib/Migration/InstallDefaultFonts.php diff --git a/appinfo/info.xml b/appinfo/info.xml index 20feb659e0..1c1c910f5b 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -35,6 +35,7 @@ You can also edit your documents off-line with the Collabora Office app from the OCA\Richdocuments\Command\ActivateConfig OCA\Richdocuments\Command\ConvertToBigInt OCA\Richdocuments\Command\UpdateEmptyTemplates + OCA\Richdocuments\Command\InstallDefaultFonts OCA\Richdocuments\Settings\Admin @@ -42,4 +43,9 @@ You can also edit your documents off-line with the Collabora Office app from the OCA\Richdocuments\Settings\Personal OCA\Richdocuments\Settings\Section + + + OCA\Richdocuments\Migration\InstallDefaultFonts + + diff --git a/assets/fonts/AmaticSC-Regular.ttf b/assets/fonts/AmaticSC-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b860368bec2246d3c268c075167c9d7333d454d0 GIT binary patch literal 142696 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%0AI0UQ1p`1mX(%ab~OFs<$<`FRj3(9B%;Tmk3Q=S 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 literal 0 HcmV?d00001 diff --git a/cypress/e2e/settings.spec.js b/cypress/e2e/settings.spec.js index 3adefbb183..6771523cb5 100644 --- a/cypress/e2e/settings.spec.js +++ b/cypress/e2e/settings.spec.js @@ -21,6 +21,7 @@ import { User } from '@nextcloud/cypress' const usesHttps = Cypress.env('baseUrl').substr(0, 5) === 'https' const collaboraUrl = Cypress.env('collaboraUrl') +const defaultFonts = ['AmaticSC-Regular.ttf'] describe('Office admin settings', function() { @@ -77,6 +78,13 @@ describe('Office admin settings', function() { .scrollIntoView() .should('be.visible') + cy.get('#font-settings') + .scrollIntoView() + .should('be.visible') + defaultFonts.forEach(font => { + cy.get('.settings-entry.font-list-settings').contains(font) + }) + // FIXME: Template settings only get visible after reload cy.reload() cy.get('#richdocuments-templates') diff --git a/lib/Command/InstallDefaultFonts.php b/lib/Command/InstallDefaultFonts.php new file mode 100644 index 0000000000..2a1416ed91 --- /dev/null +++ b/lib/Command/InstallDefaultFonts.php @@ -0,0 +1,32 @@ +setName('richdocuments:install-fonts') + ->setDescription('Install default fonts'); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + try { + $this->fontService->installDefaultFonts(); + return 0; + } catch (\Exception $e) { + $output->writeln('Failed to install default fonts'); + $output->writeln($e->getMessage()); + $output->writeln($e->getTraceAsString()); + return 1; + } + } +} diff --git a/lib/Migration/InstallDefaultFonts.php b/lib/Migration/InstallDefaultFonts.php new file mode 100644 index 0000000000..58a69a1374 --- /dev/null +++ b/lib/Migration/InstallDefaultFonts.php @@ -0,0 +1,27 @@ +config->getAppValue('richdocuments', 'installed_version'); + + if (version_compare($appVersion, '8.2.2') < 1) { + return; + } + + $this->fontService->installDefaultFonts(); + } +} diff --git a/lib/Service/FontService.php b/lib/Service/FontService.php index 67c168bd91..e41d97721b 100644 --- a/lib/Service/FontService.php +++ b/lib/Service/FontService.php @@ -23,6 +23,7 @@ namespace OCA\Richdocuments\Service; +use Exception; use OCA\Richdocuments\AppInfo\Application; use OCP\Files\IAppData; use OCP\Files\NotFoundException; @@ -242,4 +243,41 @@ private function generateFontOverview(ISimpleFile $fontFile): void { // in the UI and display a fallback message } } + + /** + * @throws Exception + */ + public function installDefaultFonts(): void { + $dirPath = __DIR__ . '/../../assets/fonts'; + + if (!is_dir($dirPath)) { + throw new Exception("Directory \"$dirPath\" does not exist!"); + } + + $handle = opendir($dirPath); + + if (!$handle) { + throw new Exception("Failed opening directory \"$dirPath\"!"); + } + + while (false !== ($fileName = readdir($handle))) { + if ($fileName === '.' || $fileName === '..') { + continue; + } + + $filePath = $dirPath . '/' . $fileName; + + if (!is_file($filePath)) { + continue; + } + + $fileHandle = fopen($filePath, 'r'); + + if (!$fileHandle) { + continue; + } + + $this->uploadFontFile($fileName, $fileHandle); + } + } } diff --git a/tests/psalm-baseline.xml b/tests/psalm-baseline.xml index c55752e530..6297e9bbba 100644 --- a/tests/psalm-baseline.xml +++ b/tests/psalm-baseline.xml @@ -33,6 +33,11 @@ Command + + + Command + + getId()]]>