AviaryController::indexAction()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 21
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 21
rs 9.3142
c 0
b 0
f 0
cc 1
eloc 12
nc 1
nop 3
1
<?php
2
3
namespace Victoire\Bundle\MediaBundle\Controller;
4
5
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
6
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
7
use Symfony\Component\HttpFoundation\RedirectResponse;
8
use Symfony\Component\HttpFoundation\Request;
9
10
/**
11
 * controllerclass which Aviary can use to upload the edited image and add it to the database.
12
 */
13
class AviaryController extends Controller
14
{
15
    /**
0 ignored issues
show
introduced by
Doc comment for parameter "$request" missing
Loading history...
16
     * @param int $folderId The id of the Folder
0 ignored issues
show
introduced by
Doc comment for parameter $folderId does not match actual variable name $request
Loading history...
17
     * @param int $mediaId  The id of the image
0 ignored issues
show
introduced by
Doc comment for parameter $mediaId does not match actual variable name $folderId
Loading history...
18
     *
19
     * @Route("/aviary/{folderId}/{mediaId}", requirements={"folderId" = "\d+", "mediaId" = "\d+"}, name="VictoireMediaBundle_aviary")
20
     *
21
     * @return RedirectResponse
22
     */
23
    public function indexAction(Request $request, $folderId, $mediaId)
24
    {
25
        $em = $this->getDoctrine()->getManager();
26
27
        /* @var \Victoire\Bundle\MediaBundle\Entity\Folder $folder */
28
        $folder = $em->getRepository('VictoireMediaBundle:Folder')->getFolder($folderId);
29
        /* @var \Victoire\Bundle\MediaBundle\Entity\Media $media */
30
        $media = $em->getRepository('VictoireMediaBundle:Media')->getMedia($mediaId);
31
        /* @var \Victoire\Bundle\MediaBundle\Helper\MediaManager $mediaManager */
32
        $mediaManager = $this->get('victoire_media.media_manager');
33
34
        $handler = $mediaManager->getHandler($media);
35
        $fileHelper = $handler->getFormHelper($media);
36
        $fileHelper->getMediaFromUrl($request->get('url'));
37
        $media = $fileHelper->getMedia();
38
39
        $em->persist($media);
40
        $em->flush();
41
42
        return new RedirectResponse($this->generateUrl('VictoireMediaBundle_folder_show', ['folderId' => $folder->getId()]));
43
    }
44
}
45