Bolt\Controller\Backend\FileManager::handleUpload PHP Method

handleUpload() private method

Handle the upload POST.
private handleUpload ( Symfony\Component\Form\FormInterface $form, Bolt\Filesystem\Handler\DirectoryInterface $directory )
$form Symfony\Component\Form\FormInterface
$directory Bolt\Filesystem\Handler\DirectoryInterface
    private function handleUpload(FormInterface $form, DirectoryInterface $directory)
    {
        if (!$form->isValid()) {
            $this->flashes()->error(Trans::__('general.phrase.file-upload-failed'));
            return;
        }
        /** @var UploadedFile[] $files */
        $files = $form->getData()['FileUpload'];
        $permissions = $this->app['filepermissions'];
        foreach ($files as $fileToProcess) {
            $fileToProcess = ['name' => $fileToProcess->getClientOriginalName(), 'tmp_name' => $fileToProcess->getPathname()];
            $originalFilename = $fileToProcess['name'];
            $filename = preg_replace('/[^a-zA-Z0-9_\\.]/', '_', basename($originalFilename));
            try {
                $isAllowed = $permissions->allowedUpload($filename);
            } catch (IOException $e) {
                $this->flashes()->error($e->getMessage());
                continue;
            }
            if ($isAllowed) {
                $this->processUpload($directory, $filename, $fileToProcess);
            } else {
                $extensionList = [];
                foreach ($permissions->getAllowedUploadExtensions() as $extension) {
                    $extensionList[] = '<code>.' . htmlspecialchars($extension, ENT_QUOTES) . '</code>';
                }
                $extensionList = implode(' ', $extensionList);
                $this->flashes()->error(Trans::__("File '%file%' could not be uploaded (wrong/disallowed file type). Make sure the file extension is one of the following:", ['%file%' => $filename]) . $extensionList);
            }
        }
    }