Skip to content

Commit 0a0e725

Browse files
committed
fix: file uploads
1 parent 22535f4 commit 0a0e725

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

classes/Actions/EmailAction.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44

55
use Kirby\Cms\App;
66
use Kirby\Cms\User;
7+
use Kirby\Data\Yaml;
78
use Kirby\Filesystem\F;
89
use Kirby\Toolkit\A;
10+
use Kirby\Toolkit\Str;
911
use tobimori\DreamForm\DreamForm;
1012
use tobimori\DreamForm\Models\FormPage;
1113

14+
use function is_string;
1215
use function is_array;
1316

1417
/**
@@ -263,13 +266,14 @@ protected function attachments(): array
263266
foreach ($this->block()->attachments()->split() as $id) {
264267
$value = $this->submission()->valueForId($id);
265268

266-
if (is_string($value->value())) { // is a file uuid
269+
if (Str::contains($value->value(), 'file://')) { // is a file uuid
267270
$files = $value->toFiles();
268271
foreach ($files as $file) {
269272
$attachments[] = $file;
270273
}
271-
} else { // is PHP file object
272-
$files = array_values(A::filter($value->value(), fn ($file) => $file['error'] === UPLOAD_ERR_OK));
274+
} else { // is PHP file object stored as YAML
275+
$uploadData = Yaml::decode($value->value());
276+
$files = array_values(A::filter($uploadData, fn ($file) => $file['error'] === UPLOAD_ERR_OK));
273277
foreach ($files as $file) {
274278
$attachments[] = [
275279
'path' => $file['tmp_name'],

0 commit comments

Comments
 (0)