Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2119 Rev 2414
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
// declare(encoding='UTF-8');
-
 
3
/**
-
 
4
 * Génère des miniatures.
-
 
5
 *
-
 
6
 * Utilisation :
-
 
7
 * - Pour ? : <code>/opt/lamp/bin/php cli.php generation_images -a genererMinaturesEnAttente</code>
-
 
8
 * - Pour ? : <code>/opt/lamp/bin/php cli.php generation_images -a genererMinaturesEnAttente</code>
-
 
9
 *
-
 
10
 * @category   CEL
-
 
11
 * @package    Scripts
-
 
12
 * @subpackage Génération Images
-
 
13
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
-
 
14
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
15
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
-
 
16
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
-
 
17
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
-
 
18
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
-
 
19
 */
2
class Generationimages extends Script {
20
class GenerationImages extends Script {
Line 3... Line 21...
3
 
21
 
4
	protected $bdd;
22
	protected $bdd;
5
	protected $parametres_autorises = array(
23
	protected $parametres_autorises = array(
6
				'-id' => array(false, '1', 'Identifiants des images à traiter (séparés par des virgules')
24
			'-id' => array(false, '1', 'Identifiants des images à traiter (séparés par des virgules')
7
			);
25
		);
8
	
26
 
9
	public function __construct($script_nom, $parametres_cli) {
27
	public function __construct($script_nom, $parametres_cli) {
10
		parent::__construct($script_nom, $parametres_cli);
28
		parent::__construct($script_nom, $parametres_cli);
11
		$this->bdd = new Bdd();
29
		$this->bdd = new Bdd();
12
	}
30
	}
13
	
31
 
14
	public function executer() {
32
	public function executer() {
15
		$cmd = $this->getParametre('a');
33
		$cmd = $this->getParametre('a');
16
		switch($cmd) {
34
		switch($cmd) {
17
			case 'genererMinaturesEnAttente';
35
			case 'genererMinaturesEnAttente';
18
				$this->genererMiniaturesEnAttente();
36
				$this->genererMiniaturesEnAttente();
19
			break;
37
				break;
20
			case 'genererMinaturesPourId';
38
			case 'genererMinaturesPourId';
21
			$this->genererMinaturesPourId();
39
				$this->genererMinaturesPourId();
22
			break;
40
				break;
23
			default :
41
			default :
24
				$msg = "Erreur : la commande '$cmd' n'existe pas!\n";
42
				$msg = "Erreur : la commande '$cmd' n'existe pas!\n";
25
			throw new Exception($msg);
43
				throw new Exception($msg);
26
		}
44
		}
27
	}
45
	}
28
	
46
 
29
	private function genererMinaturesPourId() {
47
	private function genererMinaturesPourId() {
30
		$id = $this->getParametre('id');
48
		$id = $this->getParametre('id');
31
		$ids = explode(',',$id);
49
		$ids = explode(',',$id);
32
		if($id == null) {
50
		if ($id == null) {
33
			echo "le paramètre id doit être un ensemble de nombres séparés par des virgules";
51
			echo "le paramètre id doit être un ensemble de nombres séparés par des virgules";
34
		} else {
52
		} else {
35
			include('ImageRecreation.php');
53
			include_once dirname(__FILE__).'/bibliotheque/ImageRecreation.php';
36
			$createur_images = new ImageRecreation();
54
			$createur_images = new ImageRecreation();
37
			foreach($ids as $id_image) {
55
			foreach ($ids as $id_image) {
38
				$createur_images->regenererMiniaturesPourId(array($id_image));
56
				$createur_images->regenererMiniaturesPourId(array($id_image));
39
			}
57
			}
40
		}
58
		}
41
	}
59
	}
42
		
60
 
43
	private function genererMiniaturesEnAttente() {
61
	private function genererMiniaturesEnAttente() {
44
		$req = "SELECT id_image FROM cel_images WHERE ".
62
		$req = "SELECT id_image FROM cel_images WHERE ".
45
			"date_creation >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)";
63
			"date_creation >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)";
46
		$images_attente = $this->bdd->recupererTous($req);
64
		$images_attente = $this->bdd->recupererTous($req);
47
		
65
 
48
		if(!empty($images_attente)) {					
66
		if (!empty($images_attente)) {
49
			// iterer sur config pour formats
67
			// iterer sur config pour formats
50
			include('ImageRecreation.php');
68
			include_once dirname(__FILE__).'/bibliotheque/ImageRecreation.php';
51
			$createur_images = new ImageRecreation();
69
			$createur_images = new ImageRecreation();
52
			foreach($images_attente as $image) {
70
			foreach ($images_attente as $image) {
53
				$createur_images->regenererMiniaturesPourId(array($image['id_image']));
71
				$createur_images->regenererMiniaturesPourId(array($image['id_image']));
54
			}
72
			}
55
		}
73
		}
56
	}
-
 
57
}	
-
 
58
?>
74
	}
-
 
75
}
59
76