/opt/lamp/bin/php cli.php generation_images -a genererMinaturesEnAttente * - Pour ? : /opt/lamp/bin/php cli.php generation_images -a genererMinaturesEnAttente * * @category CEL * @package Scripts * @subpackage Génération Images * @author Mathias CHOUET * @author Jean-Pascal MILCENT * @author Aurelien PERONNET * @license GPL v3 * @license CECILL v2 * @copyright 1999-2014 Tela Botanica */ class GenerationImages extends Script { protected $bdd; protected $parametres_autorises = array( '-id' => array(false, '1', 'Identifiants des images à traiter (séparés par des virgules') ); public function __construct($script_nom, $parametres_cli) { parent::__construct($script_nom, $parametres_cli); $this->bdd = new Bdd(); } public function executer() { $cmd = $this->getParametre('a'); switch($cmd) { case 'genererMinaturesEnAttente'; $this->genererMiniaturesEnAttente(); break; case 'genererMinaturesPourId'; $this->genererMinaturesPourId(); break; default : $msg = "Erreur : la commande '$cmd' n'existe pas!\n"; throw new Exception($msg); } } private function genererMinaturesPourId() { $id = $this->getParametre('id'); $ids = explode(',',$id); if ($id == null) { echo "le paramètre id doit être un ensemble de nombres séparés par des virgules"; } else { include_once dirname(__FILE__).'/bibliotheque/ImageRecreation.php'; $createur_images = new ImageRecreation(); foreach ($ids as $id_image) { $createur_images->regenererMiniaturesPourId(array($id_image)); } } } private function genererMiniaturesEnAttente() { $req = "SELECT id_image FROM cel_images WHERE ". "date_creation >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)"; $images_attente = $this->bdd->recupererTous($req); if (!empty($images_attente)) { // iterer sur config pour formats include_once dirname(__FILE__).'/bibliotheque/ImageRecreation.php'; $createur_images = new ImageRecreation(); foreach ($images_attente as $image) { $createur_images->regenererMiniaturesPourId(array($image['id_image'])); } } } }