Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2099 → Rev 2100

/trunk/scripts/modules/maintenance/Maintenance.php
24,6 → 24,9
case 'viderMotsClesTexteObsSansMotsCles' :
$this->viderMotsClesTexteObsSansMotsCles();
break;
case 'regenererChampsTailleImage' :
$this->regenererChampsTailleImage();
break;
default :
$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
77,5 → 80,54
$res = $this->bdd->requeter($req);
echo "$res observations mises à jour\n";
}
protected function regenererChampsTailleImage() {
$req = "SELECT id_image FROM cel_images WHERE hauteur = 0 OR largeur = 0";
$res = $this->bdd->recupererTous($req);
echo count($res)." images concernees \n";
echo "Début du traitement \n";
$images_maj = 0;
$image_meta_ratees = 0;
$images_inexistantes = 0;
foreach($res as $image) {
$chemin = $this->getCheminImage($image['id_image']);
if(file_exists($chemin)) {
list($largeur, $hauteur) = @getimagesize($chemin);
if(is_numeric($largeur) && is_numeric($hauteur)) {
$req_maj = "UPDATE cel_images SET hauteur = '".$hauteur."', largeur = '".$largeur."' ".
"WHERE id_image = '".$image['id_image']."'";
$maj_taille_image = $this->bdd->requeter($req_maj);
if($maj_taille_image) {
$images_maj++;
}
} else {
$image_meta_ratees++;
}
} else {
$images_inexistantes++;
}
$this->afficherAvancement("\tImages traitées : ", 1);
}
echo "\n";
echo "Fin de la régénération des tailles des images à partir des metadonnées \n";
echo $images_maj." images ont vu leur infos de taille régénérées \n";
echo $image_meta_ratees." images ont raté l'extraction de metadonnées \n";
echo $images_inexistantes." images n'existent pas en tant que fichier \n";
}
private function getCheminImage($id) {
$chemin_base = Config::get('dossierImages');
$id = sprintf('%09s', $id);
$id = wordwrap($id, 3 , '_', true);
list($dossierNiveau1, $dossierNiveau2) = explode('_', $id);
$chemin = $chemin_base.$dossierNiveau1.'/'.$dossierNiveau2.'/O/'.$id.'_O.jpg';
return $chemin;
}
}
?>