Skip to content

Commit 7fdedeb

Browse files
committed
Mirror internal signed PDFs in top-level folder
1 parent e438f68 commit 7fdedeb

3 files changed

Lines changed: 14 additions & 10 deletions

File tree

Packages/Application/Sfi.Umo/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ PDF-файлы должны лежать прямо в той же папке,
5959

6060
## Что появится в результате
6161

62-
В каждой обработанной папке появится подпапка `signed`.
62+
В папке `umo/internal/signed/` появится такая же структура подпапок, как у исходных файлов.
6363

6464
Пример:
6565

@@ -70,14 +70,16 @@ umo/
7070
index.csv
7171
dogovor-1.pdf
7272
dogovor-2.pdf
73-
signed/
74-
dogovor-1.pdf
75-
dogovor-2.pdf
7673
outer/
7774
inner/
7875
index.csv
7976
asset.pdf
80-
signed/
77+
signed/
78+
dogovory-2025/
79+
dogovor-1.pdf
80+
dogovor-2.pdf
81+
outer/
82+
inner/
8183
asset.pdf
8284
```
8385

@@ -110,4 +112,4 @@ umo/
110112
- в `index.csv` есть заголовок и одна строка данных;
111113
- дата указана в формате `дд.мм.гггг`;
112114
- PDF-файлы лежат прямо в той же папке, что и `index.csv`;
113-
- подписанный файл с таким именем еще не лежит в папке `signed`.
115+
- подписанный файл с таким именем еще не лежит в соответствующей папке внутри `umo/internal/signed`.

Packages/Sites/Sfi.Sfi/Classes/Sfi/Sfi/Command/SignatureCommandController.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,9 @@ public function generateSignedPdfsCommand(bool $force = false, bool $dryRun = fa
171171
* Generate signed PDFs for files stored in Web/umo/internal/* folders
172172
*
173173
* Each processed folder is expected to contain index.csv with a single
174-
* metadata row and one or more PDFs. Signed copies are written to that
175-
* folder's signed/ subdirectory. Nested folders are scanned recursively.
174+
* metadata row and one or more PDFs. Signed copies are written to a
175+
* top-level signed/ folder that mirrors the internal folder structure.
176+
* Nested folders are scanned recursively.
176177
*
177178
* @param bool $force Force regeneration of existing files
178179
* @param bool $dryRun Show what would be done without generating files
@@ -377,7 +378,7 @@ protected function collectInternalSignatureItems(string $internalBasePath, strin
377378
$relativePath = 'internal/' . $relativeFolderPath . '/' . $filename;
378379
$sourceUrl = '/umo/' . $relativePath;
379380
$signKey = sha1($relativePath);
380-
$signedDirectory = $folderPath . '/signed';
381+
$signedDirectory = $internalBasePath . '/signed/' . $relativeFolderPath;
381382
$outputPath = $signedDirectory . '/' . $filename;
382383

383384
if (!$dryRun) {

Packages/Sites/Sfi.Sfi/Classes/Sfi/Sfi/Controller/SignatureRegistryController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ protected function handleHashKey(string $key): void
146146

147147
protected function getInternalSignedUrl(string $sourceUrl): string
148148
{
149-
return rtrim(dirname($sourceUrl), '/') . '/signed/' . basename($sourceUrl);
149+
$relativePath = substr($sourceUrl, strlen('/umo/internal/'));
150+
return '/umo/internal/signed/' . $relativePath;
150151
}
151152

152153
/**

0 commit comments

Comments
 (0)