diff --git a/system/src/Grav/Framework/Flex/FlexIndex.php b/system/src/Grav/Framework/Flex/FlexIndex.php index af85aa458..148c9cb01 100644 --- a/system/src/Grav/Framework/Flex/FlexIndex.php +++ b/system/src/Grav/Framework/Flex/FlexIndex.php @@ -303,8 +303,8 @@ class FlexIndex extends ObjectIndex implements FlexCollectionInterface, FlexInde } else { $collection = $this->loadCollection(); $result = $collection->{$name}(...$arguments); - $class = \get_class($collection); if (!isset($cachedMethods[$name])) { + $class = \get_class($collection); $debugger->addMessage("Call '{$class}:{$name}()' isn't cached", 'debug'); } } diff --git a/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php b/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php index eb0070e62..126a81629 100644 --- a/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php +++ b/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php @@ -14,7 +14,9 @@ use Grav\Common\Filesystem\Folder; use Grav\Common\Grav; use Grav\Common\Media\Traits\MediaTrait; use Grav\Common\Utils; +use Grav\Plugin\Form\FormFlashFile; use Psr\Http\Message\UploadedFileInterface; +use RocketTheme\Toolbox\File\YamlFile; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; use RuntimeException; @@ -102,7 +104,14 @@ trait FlexMediaTrait try { // Upload it $filepath = sprintf('%s/%s', $path, $filename); - Folder::mkdir(dirname($filepath)); + Folder::mkdir(\dirname($filepath)); + if ($uploadedFile instanceof FormFlashFile) { + $metadata = $uploadedFile->getMetaData(); + if ($metadata) { + $file = YamlFile::instance($filepath . '.yaml'); + $file->save(['upload' => $metadata]); + } + } $uploadedFile->moveTo($filepath); } catch (\Exception $e) { $language = $grav['language'];