Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 797 Rev 804
Line 441... Line 441...
441
		return $png;
441
		return $png;
442
	}
442
	}
Line 443... Line 443...
443
 
443
 
444
	private function convertirEnPNGAvecRsvg($svg) {
444
	private function convertirEnPNGAvecRsvg($svg) {
-
 
445
		$idFichier = $this->getIdFichier();
-
 
446
 
-
 
447
		// test répertoire de cache
-
 
448
		if(!is_dir($this->config['cache_stockageChemin'])) {
-
 
449
			mkdir($this->config['cache_stockageChemin'], 0777, true);
-
 
450
		}
-
 
451
		if(!is_dir($this->config['cache_stockageChemin'])) {
-
 
452
			error_log(__FILE__ . ": can't create cache {$this->config['cache_stockageChemin']}");
-
 
453
			return NULL;
-
 
454
		}
-
 
455
 
-
 
456
		// test présence du binaire de conversion (rsvg)
-
 
457
		$i = $s = NULL;
-
 
458
		exec('which rsvg-convert', $s, $i);
-
 
459
		if($i != 0) {
-
 
460
			error_log(__FILE__ . ": no rsvg-convert binary");
-
 
461
			return NULL;
-
 
462
		}
-
 
463
 
445
		$idFichier = $this->getIdFichier();
464
		// conversion svg => png
446
		$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png';
465
		$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png';
447
		$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg';
466
		$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg';
448
		file_put_contents($fichierSvg, $svg);
-
 
449
		//TODO: vérifier l'installation de rsvg et indiquer que la lib est manquante
467
		file_put_contents($fichierSvg, $svg);
450
		$commande = "rsvg-convert $fichierSvg -d 75 -p 75 -o $fichierPng";
468
		$commande = "rsvg-convert $fichierSvg -d 75 -p 75 -o $fichierPng";
Line 451... Line 469...
451
		$rsvg = exec($commande);
469
		$rsvg = exec($commande);
452
 
470
 
453
		$this->indexerFichierPng($fichierPng);
-
 
454
		$png = file_get_contents($fichierPng);
471
		$this->indexerFichierPng($fichierPng);
Line 455... Line 472...
455
		return $png;
472
		return file_get_contents($fichierPng);
456
	}
473
	}
457
 
474