Rev 360 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php//declare(encoding='UTF-8');/*** Exemple de lancement du script : :* /opt/lampp/bin/php cli.php cel -a chargerTous** @category php 5.2* @package eFlore/Scripts* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @copyright Copyright (c) 2011, Tela Botanica (accueil@tela-botanica.org)* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL* @version $Id$*/class BiblioBota extends EfloreScript {public function executer() {try {$this->initialiserProjet('biblio_bota');// Lancement de l'action demandée$cmd = $this->getParametre('a');switch ($cmd) {case 'chargerTous' :$this->chargerStructureSql();$this->chargerBiblioBota();break;case 'supprimerTous' :$this->supprimerTous();break;default :throw new Exception("Erreur : la commande '$cmd' n'existe pas!");}} catch (Exception $e) {$this->traiterErreur($e->getMessage());}}public function chargerBiblioBota() {$tablesCodes = array_keys(Config::get('tables'));foreach ($tablesCodes as $code) {echo "Chargement de la table : $code\n";$this->chargerFichierTsvDansTable($code);}}private function chargerFichierTsvDansTable($code) {$chemin = Config::get('chemins.'.$code);$table = Config::get('tables.'.$code);$requete = "LOAD DATA INFILE '$chemin' "."REPLACE INTO TABLE $table ".'CHARACTER SET utf8 '.'FIELDS '." TERMINATED BY '\t' "." ENCLOSED BY '\"' "." ESCAPED BY '\\\' ";$this->getBdd()->requeter($requete);}private function supprimerTous() {$requete = "DROP TABLE IF EXISTS biblio_article, biblio_article_sauv, biblio_aut_saisie, "."biblio_collection, biblio_domaine, biblio_domaine_lier, biblio_domaine_lier_sauv, biblio_fasc, "."biblio_fasc_sauv, biblio_item, biblio_item_sauv, biblio_item_typlog, biblio_item_typphy, "."biblio_link, biblio_link_categ, biblio_link_categoriser, biblio_link_sauv, biblio_media, "."biblio_modif, biblio_serie, biblio_spy, biblio_str, biblio_str_sauve, biblio_str_type, "."biblio_meta";$this->getBdd()->requeter($requete);}}?>