Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 803 → Rev 804

/trunk/services/modules/0.1/chorodep/cartes/TaxonsCartes.php
443,16 → 443,33
 
private function convertirEnPNGAvecRsvg($svg) {
$idFichier = $this->getIdFichier();
 
// test répertoire de cache
if(!is_dir($this->config['cache_stockageChemin'])) {
mkdir($this->config['cache_stockageChemin'], 0777, true);
}
if(!is_dir($this->config['cache_stockageChemin'])) {
error_log(__FILE__ . ": can't create cache {$this->config['cache_stockageChemin']}");
return NULL;
}
 
// test présence du binaire de conversion (rsvg)
$i = $s = NULL;
exec('which rsvg-convert', $s, $i);
if($i != 0) {
error_log(__FILE__ . ": no rsvg-convert binary");
return NULL;
}
 
// conversion svg => png
$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png';
$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg';
file_put_contents($fichierSvg, $svg);
//TODO: vérifier l'installation de rsvg et indiquer que la lib est manquante
$commande = "rsvg-convert $fichierSvg -d 75 -p 75 -o $fichierPng";
$rsvg = exec($commande);
 
$this->indexerFichierPng($fichierPng);
$png = file_get_contents($fichierPng);
return $png;
return file_get_contents($fichierPng);
}
 
private function indexerFichierPng($fichierPng) {