Rev 1919 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** Exemple lancement:* /opt/lampp/bin/php -d memory_limit=3500M cli.php desontologisation -a unitebase*/class Desontologisation extends Script {private $bdd = null;private $structures = array();private $communes = array();private $nonTrouvees = array();public function __construct($script_nom, $parametres) {parent::__construct($script_nom, $parametres);$this->bdd = new Bdd();}public function executer() {try {$cmd = $this->getParametre('a');switch ($cmd) {case "unitebase" :$this->desontologiserUniteBase(); break;default :$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd));}} catch (Exception $erreur) {$this->traiterErreur($erreur->getMessage());}}private function desontologiserUniteBase() {$requete = "SELECT ccb_id_collection, ccb_truk_unite_base "."FROM coel_collection_botanique "."WHERE ccb_truk_unite_base IS NOT NULL AND ccb_truk_unite_base != ''";$infos_truk = $this->bdd->recupererTous($requete);$resultats_fmt = array();foreach($infos_truk as $truk) {$id_collection = $truk['ccb_id_collection'];// Séparation de chaque catégorie d'unite de truk$categories_truk = explode(';;', $truk['ccb_truk_unite_base']);// Iteration sur toutes les catégories de truk trouvéesforeach($categories_truk as $categorie_truk) {// extraction du numéro d'ontologie de la liste concernée$categorie_truk_unite_infos = explode('##', $categorie_truk);// Seules les infos de planche d'herbier nous interessent (donc numéro d'ontologie 2270)if($categorie_truk_unite_infos[0] == '2270') {$truk_unite_infos = $categorie_truk_unite_infos[1];$truk_unite_infos = explode('||', $truk_unite_infos);$nb_planches_herbiers = $truk_unite_infos[0];$nb_especes = $truk_unite_infos[5];$resultats_fmt[$id_collection] = array('brut' => $truk_unite_infos,'nb_planches_herbier' => $nb_planches_herbiers,'nb_especes' => $nb_especes);$update = 'UPDATE coel_collection_botanique '.'SET '.'cccb_nb_planches_herbiers = "'.$nb_planches_herbiers.'", '.'cccb_nb_especes = "'.$nb_especes.'" '.'WHERE ccb_id_collection = "'.$id_collection.'"';$this->bdd->executer($update);}}}}}?>