* @copyright Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org) * @license CeCILL v2 http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt * @license GNU-GPL http://www.gnu.org/licenses/gpl.html */ class Osm extends EfloreScript { const PROJET_NOM = 'osm'; protected $parametres_autorises = array( '-m' => array(false, 'auto', 'Mode «auto» ou «manuel». En manuel, les compteurs dans les boucles sont affichés.')); public function executer() { try { $this->initialiserProjet(self::PROJET_NOM); // Lancement de l'action demandée $cmd = $this->getParametre('a'); switch ($cmd) { case 'chargerStructureSql' : $this->chargerStructureSql(); break; case 'cm' : case 'cmCreer' : case 'cmSupprimer' : $script = $this->chargerClasse('FranceCommunes'); $script->executer(); break; case 'za' : case 'zaCreer' : case 'zaCorriger' : case 'zaMajIdZG' : case 'zaSupprimer' : $script = $this->chargerClasse('ZonesAdmin'); $script->executer(); break; default : throw new Exception("Erreur : la commande '$cmd' n'existe pas!"); } } catch (Exception $e) { $this->traiterErreur($e->getMessage()); } print "\n";// Pour ramener à la ligne en fin de script } protected function initialiserProjet($projetNom) { $this->projetNom = $projetNom; } private function chargerClasse($classe) { require_once $classe.'.php'; $conteneur = new Conteneur($this->parametres); return new $classe($conteneur); } }