Flex: store metadata on file uploads (if available)

This commit is contained in:
Matias Griese
2018-11-29 19:27:11 +02:00
parent c38b761871
commit d968901d98
2 changed files with 11 additions and 2 deletions

View File

@@ -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');
}
}

View File

@@ -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'];