Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 1032 | Rev 1034 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1032 Rev 1033
Line 128... Line 128...
128
 
128
 
129
		$this->fichier_html = $this->chemin_pdf.''.$nom_fichier.'.html';
129
		$this->fichier_html = $this->chemin_pdf.''.$nom_fichier.'.html';
Line 130... Line 130...
130
		$this->fichier_pdf = $this->chemin_pdf.''.$nom_fichier.'.pdf';
130
		$this->fichier_pdf = $this->chemin_pdf.''.$nom_fichier.'.pdf';
131
 
-
 
132
		if (file_exists($this->fichier_pdf) == false) {
131
 
133
 
132
		if (file_exists($this->fichier_pdf) == false) {
134
			$donnees = $this->obtenirDonnees();
133
			$donnees = $this->obtenirDonnees();
135
			$this->construireHtml($donnees);
134
			$this->construireHtml($donnees);
136
			if ($this->transformerHtmlEnPdf() == false) {
135
			if ($this->transformerHtmlEnPdf() == false) {
137
				die('Erreur de generation du fichier PDF');
136
				die('Erreur de generation du fichier PDF');
138
			}
137
			}
-
 
138
		}
139
		}
139
		$this->envoyerPdfAuNavigateur();
140
		$this->envoyerPdfAuNavigateur();
140
		$this->nettoyerFichiersTmp();
141
		// ATTENTION : on doit stopper l'exécution de Papyrus sinon du HTML inutile est ajouté à la fin du fichier PDF
141
		// ATTENTION : on doit stopper l'exécution de Papyrus sinon du HTML inutile est ajouté à la fin du fichier PDF
Line 142... Line 142...
142
		exit;
142
		exit;
Line 180... Line 180...
180
	private function envoyerPdfAuNavigateur() {
180
	private function envoyerPdfAuNavigateur() {
181
		$nom_fichier = $this->getNomFichierValide();
181
		$nom_fichier = $this->getNomFichierValide();
182
		header('Content-type: application/pdf');
182
		header('Content-type: application/pdf');
183
		header('Content-Disposition: attachment; filename='.$nom_fichier.'.pdf');
183
		header('Content-Disposition: attachment; filename='.$nom_fichier.'.pdf');
184
		readfile($this->fichier_pdf);
184
		readfile($this->fichier_pdf);
185
		$this->nettoyerFichiersTmp();
-
 
186
	}
185
	}
Line 187... Line 186...
187
 
186
 
188
	private function nettoyerFichiersTmp() {
187
	private function nettoyerFichiersTmp() {
189
		$dossierStockage = $this->chemin_pdf;
188
		$dossierStockage = $this->chemin_pdf;
190
		if (is_dir($dossierStockage)) {
189
		if (is_dir($dossierStockage)) {
191
			$objets = scandir($dossierStockage);
190
			$objets = scandir($dossierStockage);
192
			if ($objets !== false) {
191
			if ($objets !== false) {
193
				foreach ($objets as $objet) {
192
				foreach ($objets as $objet) {
194
					$chemin = $dossierStockage.$objet;
193
					$chemin = $dossierStockage.$objet;
-
 
194
					if (is_file($chemin)) {
-
 
195
						if (substr($chemin, -5) == '.html') {
-
 
196
							unlink($chemin);
195
					if (is_file($chemin)) {
197
						} else {
196
						$filemtime = @filemtime($chemin);
198
							$filemtime = @filemtime($chemin);
197
						if ($filemtime !== false) {
199
							if ($filemtime !== false) {
198
							$suppression = (time() - $filemtime >= self::DUREE_DE_VIE_PDF) ? true : false;
200
								$suppression = (time() - $filemtime >= self::DUREE_DE_VIE_PDF) ? true : false;
199
							if ($suppression === true) {
201
								if ($suppression === true) {
-
 
202
									unlink($chemin);
200
								unlink($chemin);
203
								}
201
							}
204
							}
202
						}
205
						}
203
					}
206
					}
204
				}
207
				}