Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1916 → Rev 1917

/trunk/scripts/modules/desontologisation/Desontologisation.php
New file
0,0 → 1,79
<?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ées
foreach($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);
}
}
}
}
}
?>