public function cropAction($name, $config, Request $request)
 {
     $manager = $this->get('wucdbm_gallery.manager.images');
     $dimensions = new CropDimensions();
     $dimensions->setConfig($config);
     $imagePath = $manager->getTempFilePath($config, $name);
     $type = exif_imagetype($imagePath);
     $dimensions->setType($type);
     $form = $this->createForm(CropType::class, $dimensions, ['attr' => ['id' => 'image_crop_form'], 'method' => 'POST', 'action' => $this->generateUrl('wucdbm_gallery_image_crop', ['config' => $config, 'name' => $name])]);
     $form->handleRequest($request);
     $error = null;
     if ($form->isValid()) {
         try {
             ini_set('memory_limit', '256M');
             $file = $manager->cropTempImage($name, $dimensions);
             $post = $request->request->all();
             if (isset($post['cropAndEdit'])) {
                 return $this->redirectToRoute('wucdbm_gallery_image_crop', ['config' => $dimensions->getConfig(), 'name' => $file->getFilename()]);
             }
             return $this->redirectToRoute('wucdbm_gallery_image_save', ['config' => $dimensions->getConfig(), 'name' => $file->getFilename()]);
         } catch (\Exception $e) {
             $error = $e->getMessage();
         }
     }
     $data = ['config' => $config, 'configuration' => $config ? $manager->getConfig($config) : null, 'name' => $name, 'image' => $imagePath, 'form' => $form->createView(), 'error' => $error, 'ratios' => $manager->getAspectRatios(), 'sizes' => $manager->getSizes()];
     return $this->render('@WucdbmGallery/Image/crop/crop.html.twig', $data);
 }