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); |
} |
} |
} |
} |
} |
?> |