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