/** * @param ServiceLocatorInterface $serviceLocator * * @return UploadFileController */ public function createService(ServiceLocatorInterface $serviceLocator) { if ($serviceLocator instanceof ControllerManager) { $serviceLocator = $serviceLocator->getServiceLocator(); } /** @var FileManagerService $fileManager */ $fileManager = $serviceLocator->get('DmFileman\\Service\\FileManager'); $uploadFileForm = new UploadFileForm(); /** @var ThumbnailerService $thumbsConfig */ $thumbsConfig = $serviceLocator->get('DmFileman\\Service\\Thumbnailer'); /** @var UserText $userText */ $userText = $serviceLocator->get('DmFileman\\View\\Helper\\UserText'); /** @var UploadFileInputFilter $inputFileFilter */ $inputFileFilter = $serviceLocator->get('DmFileman\\InputFilter\\UploadFile'); $uploadFileForm->setInputFilter($inputFileFilter); /** @var UploadFile $uploadFileFilter */ $uploadFileFilter = $uploadFileForm->getInputFilter(); $uploadFileFilter->setFileInput(new FileInput()); $controller = new UploadFileController($fileManager, $uploadFileForm, $thumbsConfig, $userText); return $controller; }
/** * @param ServiceLocatorInterface $serviceLocator * * @return ListController */ public function createService(ServiceLocatorInterface $serviceLocator) { if ($serviceLocator instanceof ControllerManager) { $serviceLocator = $serviceLocator->getServiceLocator(); } /** @var FileManagerService $fileManager */ $fileManager = $serviceLocator->get('DmFileman\\Service\\FileManager'); $createDirForm = new CreateDirectoryForm(); $uploadFileForm = new UploadFileForm(); $deleteFileForm = new DeleteFileForm(); $createDirForm->setInputFilter(new CreateDirectoryInputFilter()); /** @var UploadFileInputFilter $inputFileFilter */ $inputFileFilter = $serviceLocator->get('DmFileman\\InputFilter\\UploadFile'); $uploadFileForm->setInputFilter($inputFileFilter); $deleteFileForm->setInputFilter(new DeleteFileInputFilter()); /** @var UploadFileInputFilter $uploadFileFilter */ $uploadFileFilter = $uploadFileForm->getInputFilter(); $uploadFileFilter->setFileInput(new FileInput()); $controller = new ListController($fileManager, $createDirForm, $uploadFileForm, $deleteFileForm); return $controller; }
/** * @param UploadFileForm $form * * @return bool */ private function handleUploadPost(UploadFileForm $form) { /** @var \Zend\Http\Request $request */ $request = $this->getRequest(); if ($request->isPost()) { // Make certain to merge the files info! $post = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray()); $form->setData($post); $currentDir = $this->getFileManager()->getOrigDir($this->getCurrentPath()); $form->getInputFilter()->setCurrentDir($currentDir)->init(); if ($form->isValid()) { return $this->resizeImage($form->getData()['file']); } } return false; }