Commit 7a68610a authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Droits d'écriture pour tout le monde sur les sous-répertoires des fichiers déposés.

Prise en compte d'un éventuel non enregistrement d'un fichier sur le disque : on le met en BDD en cas d'erreur.
parent fb263b07
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -51,9 +51,9 @@ class FichierService extends AbstractEntityService
     *
     * @return mixed
     */
    public function save($entity, ?string $forceStockage = null)
    public function save($entity)
    {
        $stockage = $forceStockage ?: self::getConfigStockage();
        $stockage = self::getConfigStockage();
        if (self::STOCKAGE_FILE == $stockage) {
            $contenuBdd = $entity->getContenu(true);
            if (is_resource($contenuBdd)) {
@@ -61,13 +61,19 @@ class FichierService extends AbstractEntityService
            }
            $entity->setContenu(null);
        }
        parent::save($entity); // TODO: Change the autogenerated stub
        parent::save($entity);

        if ((self::STOCKAGE_FILE == $stockage) && $contenuBdd) {
            $filename = $this->getFichierFilename($entity);
            if (!file_exists(dirname($filename))) {
                mkdir(dirname($filename));
                chmod (dirname($filename), 0777);
            }
            $r = file_put_contents($filename, $contenuBdd);
            if (!$r || !file_exists($filename)){
                $entity->setContenu($contenuBdd);
                parent::save($entity);
            }
            file_put_contents($filename, $contenuBdd);
        }

        return $entity;