Passed
Push — master ( 447932...1a32cb )
by Julito
13:13
created

ResourceUploaderController::upload()   B

Complexity

Conditions 6
Paths 27

Size

Total Lines 35
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 6
eloc 21
nc 27
nop 0
dl 0
loc 35
rs 8.9617
c 0
b 0
f 0
1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Chamilo\CoreBundle\Controller;
5
6
use Symfony\Component\HttpFoundation\File\Exception\UploadException;
7
use Symfony\Component\HttpFoundation\JsonResponse;
8
use Oneup\UploaderBundle\Controller\BlueimpController;
9
use Oneup\UploaderBundle\Uploader\Response\EmptyResponse;
10
use Symfony\Component\HttpFoundation\File\UploadedFile;
11
12
/**
13
 * Class ResourceUploaderController.
14
 * @package Chamilo\CoreBundle\Controller
15
 */
16
class ResourceUploaderController extends BlueimpController
17
{
18
    /**
19
     * @return JsonResponse
20
     */
21
    public function upload()
22
    {
23
        error_log('upload!!!');
24
        $request = $this->getRequest();
25
        $response = new EmptyResponse();
26
        $files = $this->getFiles($request->files);
27
28
        $chunked = null !== $request->headers->get('content-range');
29
30
        try {
31
            /** @var UploadedFile $file */
32
            foreach ($files as $file) {
33
                try {
34
                    $file->getFilename();
35
                    $type = $request->get('type');
36
37
                    if ($type === 'course') {
38
                        $courseCode = $request->get('identifier');
39
                        $this->container->get('');
40
41
                    }
42
43
                    $chunked ?
44
                        $this->handleChunkedUpload($file, $response, $request) :
45
                        $this->handleUpload($file, $response, $request);
46
                } catch (UploadException $e) {
47
                    $this->errorHandler->addException($response, $e);
48
                }
49
            }
50
        } catch(UploadException $e) {
51
            // return nothing
52
            return new JsonResponse(array());
53
        }
54
55
        return $this->createSupportedJsonResponse($response->assemble());
56
    }
57
}
58