continue optimizing todos

This commit is contained in:
Dennis Eichhorn 2020-01-05 21:38:42 +01:00
parent c1d2d2ae31
commit b23aba4e72
4 changed files with 54 additions and 12 deletions

View File

@ -95,7 +95,14 @@ final class ApiController extends Controller
*/
public function apiMediaUpload(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
{
// todo: this is really messy because i don't use formdata object. media first get's uploaded but nothing is done with the form data
/**
* @todo Orange-Management/Modules#202
* Consider to use FormData
* Form data is currently submitted in two steps if it contains media files.
* 1. Upload media data
* 2. Submit form data
* Consider to use `FormData` in order to submit media files and form data at the same time.
*/
$uploads = $this->uploadFiles(
$request->getData('name') ?? '',
$request->getFiles(),

View File

@ -115,6 +115,11 @@ final class BackendController extends Controller
*
* @return RenderableInterface
*
* @todo Orange-Management/Modules#208
* Improve the media list
* 1. Collections should show their content
* 2. The first page should show an overview (Modules, Users, ...?)
*
* @since 1.0.0
* @codeCoverageIgnore
*/
@ -139,6 +144,11 @@ final class BackendController extends Controller
*
* @return RenderableInterface
*
* @todo Orange-Management/Modules#208
* Improve the media list
* 1. Collections should show their content
* 2. The first page should show an overview (Modules, Users, ...?)
*
* @since 1.0.0
* @codeCoverageIgnore
*/
@ -156,10 +166,6 @@ final class BackendController extends Controller
);
$view->setTemplate('/Modules/Media/Theme/Backend/media-list');
// todo: currently the $media list only contains elements from the path but it should also include all
// the collection elements which might be the same but maybe some are not in the same virtualPath!!!
// the *unique* merge should be done through the ids!
}
$view->addData('media', $media);

View File

@ -139,12 +139,28 @@ export class Upload {
return this.files.length;
};
// todo: maybe do file upload together with data upload in FormData.
// let the module forward the files to the media module?!
/**
* Upload data from form
*
* @param {string} formId Form id
*
* @return {void}
*
* @todo Orange-Management/Modules#202
* Consider to use FormData
* Form data is currently submitted in two steps if it contains media files.
* 1. Upload media data
* 2. Submit form data
* Consider to use `FormData` in order to submit media files and form data at the same time.
*
* @since 1.0.0
*/
upload (formId)
{
// TODO: validate file type + file size
/**
* @todo Orange-Management/Modules#207
* Validate file type and file size on the frontend before uploading
*/
const request = new Request(),
formData = new FormData(),
self = this;

View File

@ -117,7 +117,6 @@ class UploadFile
$result[$key]['status'] = UploadStatus::OK;
if (!isset($f['error'])) {
// TODO: handle wrong parameters
$result[$key]['status'] = UploadStatus::WRONG_PARAMETERS;
return $result;
@ -135,7 +134,6 @@ class UploadFile
return $result;
}
// TODO: do I need pecl fileinfo?
if (!empty($this->allowedTypes) && ($ext = \array_search($f['type'], $this->allowedTypes, true)) === false) {
$result[$key]['status'] = UploadStatus::WRONG_EXTENSION;
@ -206,12 +204,27 @@ class UploadFile
$result[$key]['nonce'] = $nonce;
}
/**
* @todo Orange-Management/Modules#203
* Automatically enable image interlacing
* Interlacing png images currently messes up the images.
*/
/*
if ($this->isInterlaced && \in_array($extension, FileUtils::IMAGE_EXTENSION)) {
// todo: interlacing somehow messes up some images (tested with logo.png from assets)
//$this->interlace($extension, $dest);
}
*/
/**
* @todo Orange-Management/Modules#204
* Automatically change the file encoding of text files
* Basic text files should be converted to utf-8. E.g.
* * csv
* * log
* * txt
* * ...
*/
/*
if ($encoding !== '') {
// changing encoding bugs out image files
//FileUtils::changeFileEncoding($dest, $encoding);