1,12 → 1,11 |
<?php |
|
class OdsImageEspece extends JrestService { |
class OdsImageEspece extends JRestService { |
|
private $droits = 0755; |
const PREFIXE = 'get'; |
|
public function OdsImageEspece($config) { |
|
$this->config=$config; |
} |
|
33,6 → 32,52 |
// Envoi sur la sortie standard |
echo 'OK'; |
} |
|
/** |
* |
* Méthode appelée avec une requête de type POST. |
*/ |
public function createElement($params) { |
// fonction devant uniquement être appelée depuis le serveur |
// lui-même, cad par l'application de saisie |
$controle = new ControleUtilisateur($this->config); |
$controle->controleAppelIpAutorisee(); |
|
$chemin_temp = $params['chemin']; |
$nom_espece = $params['nom_fichier']; |
$credits = $params['credits']; |
|
$chemin_image_final = $this->stockerFichierOriginal($nom_espece, $chemin_temp); |
$chemin_credits = $this->stockerCredits($nom_espece, $credits); |
|
$this->creerMiniatures($nom_espece.'.jpg', $chemin_image_final); |
|
echo json_encode('ok'); |
} |
|
private function stockerFichierOriginal($nom_espece, $chemin_temp) { |
$dossier = $this->config['appli']['chemin_stockage_images_especes']; |
$chemin_dest = $dossier.'/'.$nom_espece.'.jpg'; |
copy($chemin_temp, $chemin_dest); |
|
return $chemin_dest; |
} |
|
private function stockerCredits($nom_espece, $credits) { |
$dossier = $this->config['appli']['chemin_stockage_images_especes']; |
$chemin_dest = $dossier.'/'.$nom_espece.'.txt'; |
file_put_contents($chemin_dest, $credits); |
} |
|
public function creerMiniatures($nom_fichier, $chemin) { |
$formats = array('CXS','XS','S','M'); |
$infos_image_originale = $this->obtenirImageEtInfosPourChemin($chemin); |
|
// creation de miniatures pour chacuns des formats définis |
foreach($formats as $format) { |
$this->creerEtStockerMiniatureFichierImageSelonFormat($nom_fichier, $infos_image_originale, $format); |
} |
} |
|
public function getRecreationMiniatures() { |
|
61,9 → 106,9 |
|
$infos_image_originale = $this->obtenirImageEtInfosPourChemin($fichier_ou_dossier->getPathname()); |
|
// creation de miniatures pour chacuns des formats définis |
// creation de miniatures pour chacuns des formats définis |
foreach($formats as $format) { |
$this->creerEtStockerMiniatureFichierImageSelonFormat($nom_fichier, $infos_image_originale, $format); |
$this->creerEtStockerMiniatureFichierImageSelonFormat($nom_fichier, $infos_image_originale, $format); |
} |
} |
} |
101,8 → 146,8 |
imagecopyresampled($image_redimensionnee, |
$infos_image_originale['image'], |
0, 0, |
$debut_largeur_a_copier, |
$debut_hauteur_a_copier, |
0, |
0, |
$largeur_redimension, |
$hauteur_redimension, |
$infos_image_originale['largeur'], |