Loading code/test4.php +12 −0 Original line number Diff line number Diff line Loading @@ -6,3 +6,15 @@ * @var $viewName string * @var $sl \Zend\ServiceManager\ServiceLocatorInterface */ use Application\Entity\Db\ModeleContrat; use Application\Service\ModeleContratService; /** @var ModeleContrat[] $mcs */ $mcs = $sl->get(ModeleContratService::class)->getList(); foreach( $mcs as $mc){ var_dump($mc); var_dump($mc->hasFichier()); } No newline at end of file module/Application/src/Application/Controller/ContratController.php +6 −2 Original line number Diff line number Diff line Loading @@ -604,7 +604,11 @@ class ContratController extends AbstractController $fichier = new Fichier(); $fichier->setNom(Util::reduce($modeleContrat->getLibelle()) . '.odt'); $fichier->setTypeMime('application/vnd.oasis.opendocument.text'); $fichier->setContenu($modeleContrat->getFichier()); if ($modeleContrat->hasFichier()) { $fichier->setContenu(stream_get_contents($modeleContrat->getFichier())); } else { $fichier->setContenu(file_get_contents($this->getServiceModeleContrat()->getModeleGeneriqueFile())); } $this->uploader()->download($fichier); } } No newline at end of file module/Application/src/Application/Entity/Db/ModeleContrat.php +14 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,20 @@ class ModeleContrat /** * @return bool */ public function hasFichier(): bool { if (is_resource($this->fichier)){ return !empty(stream_get_contents($this->fichier, 1)); }else{ return !empty($this->fichier); } } /** * @param string $fichier * Loading module/Application/src/Application/Service/ModeleContratService.php +13 −4 Original line number Diff line number Diff line Loading @@ -68,11 +68,10 @@ class ModeleContratService extends AbstractEntityService $document = new Document(); $document->setTmpDir(getcwd() . '/data/cache/'); $fichier = $modele->getFichier(); if ($fichier) { $document->loadFromData($fichier); if ($modele->hasFichier()) { $document->loadFromData($modele->getFichier()); } else { $document->loadFromFile(getcwd() . '/data/modele_contrat.odt'); $document->loadFromFile($this->getModeleGeneriqueFile(), true); } if ($contrat->estUnProjet()) { Loading @@ -86,6 +85,16 @@ class ModeleContratService extends AbstractEntityService /** * @return string */ public function getModeleGeneriqueFile(): string { return getcwd() . '/data/modele_contrat.odt'; } private function generateData(ModeleContrat $modele, Contrat $contrat) { $connection = $this->getEntityManager()->getConnection(); Loading Loading
code/test4.php +12 −0 Original line number Diff line number Diff line Loading @@ -6,3 +6,15 @@ * @var $viewName string * @var $sl \Zend\ServiceManager\ServiceLocatorInterface */ use Application\Entity\Db\ModeleContrat; use Application\Service\ModeleContratService; /** @var ModeleContrat[] $mcs */ $mcs = $sl->get(ModeleContratService::class)->getList(); foreach( $mcs as $mc){ var_dump($mc); var_dump($mc->hasFichier()); } No newline at end of file
module/Application/src/Application/Controller/ContratController.php +6 −2 Original line number Diff line number Diff line Loading @@ -604,7 +604,11 @@ class ContratController extends AbstractController $fichier = new Fichier(); $fichier->setNom(Util::reduce($modeleContrat->getLibelle()) . '.odt'); $fichier->setTypeMime('application/vnd.oasis.opendocument.text'); $fichier->setContenu($modeleContrat->getFichier()); if ($modeleContrat->hasFichier()) { $fichier->setContenu(stream_get_contents($modeleContrat->getFichier())); } else { $fichier->setContenu(file_get_contents($this->getServiceModeleContrat()->getModeleGeneriqueFile())); } $this->uploader()->download($fichier); } } No newline at end of file
module/Application/src/Application/Entity/Db/ModeleContrat.php +14 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,20 @@ class ModeleContrat /** * @return bool */ public function hasFichier(): bool { if (is_resource($this->fichier)){ return !empty(stream_get_contents($this->fichier, 1)); }else{ return !empty($this->fichier); } } /** * @param string $fichier * Loading
module/Application/src/Application/Service/ModeleContratService.php +13 −4 Original line number Diff line number Diff line Loading @@ -68,11 +68,10 @@ class ModeleContratService extends AbstractEntityService $document = new Document(); $document->setTmpDir(getcwd() . '/data/cache/'); $fichier = $modele->getFichier(); if ($fichier) { $document->loadFromData($fichier); if ($modele->hasFichier()) { $document->loadFromData($modele->getFichier()); } else { $document->loadFromFile(getcwd() . '/data/modele_contrat.odt'); $document->loadFromFile($this->getModeleGeneriqueFile(), true); } if ($contrat->estUnProjet()) { Loading @@ -86,6 +85,16 @@ class ModeleContratService extends AbstractEntityService /** * @return string */ public function getModeleGeneriqueFile(): string { return getcwd() . '/data/modele_contrat.odt'; } private function generateData(ModeleContrat $modele, Contrat $contrat) { $connection = $this->getEntityManager()->getConnection(); Loading