Commit 98d18175 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Renommage et amélioration des filePath

parent 101e6897
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -33,11 +33,11 @@ class FichierController extends AbstractActionController
        if ($request->isPost()) {
            $file = $request->getFiles()->toArray();
            if ($file['chemin'] !== null) {
                $logoDir = $this->fileService->computeDirectoryPathForInformation();
                $this->fileService->createWritableDirectory($logoDir);
                $pathDir = $this->fileService->computeDirectoryPathForInformation();
                $this->fileService->createWritableDirectory($pathDir);

                $uploadPath = $file['chemin']['tmp_name'];
                $truePath = implode("/", [$logoDir, $file['chemin']['name']]);
                $truePath = implode("/", [$pathDir, $file['chemin']['name']]);
                var_dump($uploadPath . " -> ".$truePath);
                $ok = rename($uploadPath, $truePath);
                if (! $ok) {
@@ -68,8 +68,7 @@ class FichierController extends AbstractActionController
        $fichier = $this->getInformationFichierService()->getInformationFichier($id);
        $this->getInformationFichierService()->delete($fichier);

        $logoDir = $this->fileService->computeDirectoryPathForInformation();
        $filePath = implode("/", [$logoDir,$fichier->getNom()]);
        $filePath = $this->getInformationFichierService()->computeFilePath($fichier);
        $success = unlink($filePath);
        if (!$success) throw new RuntimeException("Un problème s'est produit lors de l'effacement sur le disque du fichier ".$filePath);

@@ -85,8 +84,7 @@ class FichierController extends AbstractActionController
        $id = $this->params()->fromRoute('id');
        $fichier = $this->getInformationFichierService()->getInformationFichier($id);

        $logoDir = $this->fileService->computeDirectoryPathForInformation();
        $filePath = implode("/", [$logoDir,$fichier->getNom()]);
        $filePath = $filePath = $this->getInformationFichierService()->computeFilePath($fichier);
        $contenuFichier = file_get_contents($filePath);


+13 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Information\Service;

use Application\Service\File\FileServiceAwareTrait;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\ORM\OptimisticLockException;
use Information\Entity\Db\InformationFichier;
@@ -10,6 +11,7 @@ use UnicaenApp\Service\EntityManagerAwareTrait;

class InformationFichierService {
    use EntityManagerAwareTrait;
    use FileServiceAwareTrait;

    /**
     * @var InformationFichier $fichier
@@ -83,4 +85,15 @@ class InformationFichierService {
        }
        return $result;
    }

    /**
     * @param InformationFichier $fichier
     * @return string
     */
    public function computeFilePath($fichier)
    {
        $pathDir = $this->fileService->computeDirectoryPathForInformation();
        $filePath = implode("/", [$pathDir, $fichier->getNom()]);
        return $filePath;
    }
}
 No newline at end of file
+4 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Information\Service;

use Application\Service\File\FileService;
use Doctrine\ORM\EntityManager;
use Zend\ServiceManager\ServiceLocatorInterface as ContainerInterface;

@@ -14,11 +15,14 @@ class InformationFichierServiceFactory {
    {
        /**
         * @var EntityManager $entityManager
         * @var FileService $fileService
         */
        $entityManager = $container->get('doctrine.entitymanager.orm_default');
        $fileService = $container->get(FileService::class);

        $service = new InformationFichierService();
        $service->setEntityManager($entityManager);
        $service->setFileService($fileService);

        return $service;
    }