Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 1056 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1056 Rev 1060
1
<?php
1
<?php
2
//declare(encoding='UTF-8');
2
//declare(encoding='UTF-8');
3
/**
3
/**
4
 * Exemple de lancement du script : :
4
 * Exemple de lancement du script : :
5
 * 1. Création de la base de données :
5
 * 1. Création de la base de données :
6
 * /opt/lampp/bin/php cli.php osm -a communes -m manuel -v 3
6
 * /opt/lampp/bin/php cli.php osm -a communes -m manuel -v 3
7
 *
7
 *
8
 * @category	php 5.4
8
 * @category	php 5.4
9
 * @package		DEL
9
 * @package		DEL
10
 * @subpackage	Scripts
10
 * @subpackage	Scripts
11
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
11
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
12
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
12
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
13
* @license		CeCILL v2 http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt
13
* @license		CeCILL v2 http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt
14
 * @license		GNU-GPL http://www.gnu.org/licenses/gpl.html
14
 * @license		GNU-GPL http://www.gnu.org/licenses/gpl.html
15
 */
15
 */
16
class Osm extends EfloreScript {
16
class Osm extends EfloreScript {
17
 
17
 
18
	const PROJET_NOM = 'osm';
18
	const PROJET_NOM = 'osm';
19
 
19
 
20
	protected $parametres_autorises = array(
20
	protected $parametres_autorises = array(
21
		'-m' => array(false, 'auto', 'Mode «auto» ou «manuel». En manuel, les compteurs dans les boucles sont affichés.'));
21
		'-m' => array(false, 'auto', 'Mode «auto» ou «manuel». En manuel, les compteurs dans les boucles sont affichés.'));
22
 
22
 
23
	public function executer() {
23
	public function executer() {
24
		try {
24
		try {
25
			$this->initialiserProjet(self::PROJET_NOM);
25
			$this->initialiserProjet(self::PROJET_NOM);
26
 
26
 
27
			// Lancement de l'action demandée
27
			// Lancement de l'action demandée
28
			$cmd = $this->getParametre('a');
28
			$cmd = $this->getParametre('a');
29
			switch ($cmd) {
29
			switch ($cmd) {
30
				case 'chargerStructureSql' :
30
				case 'chargerStructureSql' :
31
					$this->chargerStructureSql();
31
					$this->chargerStructureSql();
32
					break;
32
					break;
33
				case 'cm' :
33
				case 'cm' :
-
 
34
				case 'cmCreer' :
34
				case 'cmSupprimer' :
35
				case 'cmSupprimer' :
35
					$script = $this->chargerClasse('FranceCommunes');
36
					$script = $this->chargerClasse('FranceCommunes');
36
					$script->executer();
37
					$script->executer();
37
					break;
38
					break;
38
				case 'za' :
39
				case 'za' :
-
 
40
				case 'zaCreer' :
39
				case 'zaCorriger' :
41
				case 'zaCorriger' :
40
				case 'zaMajIdZG' :
42
				case 'zaMajIdZG' :
41
				case 'zaSupprimer' :
43
				case 'zaSupprimer' :
42
					$script = $this->chargerClasse('ZonesAdmin');
44
					$script = $this->chargerClasse('ZonesAdmin');
43
					$script->executer();
45
					$script->executer();
44
					break;
46
					break;
45
				default :
47
				default :
46
					throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
48
					throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
47
			}
49
			}
48
		} catch (Exception $e) {
50
		} catch (Exception $e) {
49
			$this->traiterErreur($e->getMessage());
51
			$this->traiterErreur($e->getMessage());
50
		}
52
		}
51
		print "\n";// Pour ramener à la ligne en fin de script
53
		print "\n";// Pour ramener à la ligne en fin de script
52
	}
54
	}
53
 
55
 
54
	protected function initialiserProjet($projetNom) {
56
	protected function initialiserProjet($projetNom) {
55
		$this->projetNom = $projetNom;
57
		$this->projetNom = $projetNom;
56
	}
58
	}
57
 
59
 
58
	private function chargerClasse($classe) {
60
	private function chargerClasse($classe) {
59
		require_once $classe.'.php';
61
		require_once $classe.'.php';
60
		$conteneur = new Conteneur($this->parametres);
62
		$conteneur = new Conteneur($this->parametres);
61
		return new $classe($conteneur);
63
		return new $classe($conteneur);
62
	}
64
	}
63
}
65
}