Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3295 → Rev 3296

/trunk/scripts/modules/nettoyage/Nettoyage.php
39,7 → 39,7
case 'tout' :
$this->supprimerRetourLigne();
$this->supprimerAntislash();
$this->supprimerGuillement();
$this->supprimerGuillemet();
$this->unifierNull();
$this->unifierNomReferentiel();
$this->unifierCertitude();
51,9 → 51,15
$this->supprimerInfosLiesObsInexistante();
$this->unifierNull();
break;
case 'supprimerRetourLigne' :
$this->supprimerRetourLigne();
break;
case 'supprimerAntislash' :
$this->supprimerAntislash();
break;
case 'supprimerGuillemet' :
$this->supprimerGuillemet();
break;
case 'unifierNomReferentiel' :
$this->unifierNomReferentiel();
break;
81,6 → 87,9
case 'unifierUtilisateur' :
$this->unifierUtilisateur();
break;
case 'unifierInfosEspece' :
$this->unifierUtilisateur();
break;
default :
$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
"Commandes existantes : regenererMotsClesTexteObs, regenererMotsClesTexteImages"
203,11 → 212,11
"très douteuse" => "douteux",
"Très probable" => "douteux");
foreach ($certitude as $valeur=>$saisie) {
$requete = "UPDATE tb_nettoye_cel.cel_obs SET commentaire = concat(commentaire, ' ', certitude), certitude = '".$saisie."' WHERE certitude ='".$valeur."'";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET commentaire = concat(commentaire, ' Certitude : ', certitude), certitude = '".$saisie."' WHERE certitude ='".$valeur."'";
$this->bdd->requeter($requete);
echo "effectuée \n";
}
$requete_verif = "SELECT certitude FROM tb_nettoye_cel.cel_obs WHERE certitude NOT IN ('douteux', 'certain', 'aDeterminer', '', NULL)";
$requete_verif = "SELECT certitude FROM tb_nettoye_cel.cel_obs WHERE certitude NOT IN ('douteux', 'certain', 'aDeterminer', '') and certitude is not NULL";
$verif = $this->bdd->recupererTous($requete_verif);
if ($verif != array()) print_r($verif);
}
215,11 → 224,11
private function supprimerCertitudeAutre() {
echo "suppression des valeurs non compréhensible du champ certitude/identification";
$requete = "UPDATE tb_nettoye_cel.cel_obs
SET commentaire = case isnull(commentaire) when 1 THEN certitude ELSE concat(commentaire, ' ', certitude) END,
certitude IS NULL WHERE `certitude` NOT IN ('douteux', 'certain', 'aDeterminer', '') and certitude is not NULL";
SET commentaire = case isnull(commentaire) when 1 THEN certitude ELSE concat(commentaire, ' Certitude : ', certitude) END,
certitude = '' WHERE `certitude` NOT IN ('douteux', 'certain', 'à déterminer', '') and certitude is not NULL";
$this->bdd->requeter($requete);
echo "effectuée \n";
$requete_verif = "SELECT certitude FROM tb_nettoye_cel.cel_obs WHERE certitude NOT IN ('douteux', 'certain', 'aDeterminer', '', NULL)";
$requete_verif = "SELECT certitude FROM tb_nettoye_cel.cel_obs WHERE certitude NOT IN ('douteux', 'certain', 'aDeterminer', '') and certitude is not NULL";
$verif = $this->bdd->recupererTous($requete_verif);
if ($verif != array()) print_r($verif);
}
227,19 → 236,19
private function unifierUtilisateur() {
echo "suppression des images anonymes";
$requete_anonyme = "DELETE FROM tb_nettoye_cel.`cel_images` WHERE (ce_utilisateur IS NULL OR LENGTH(ce_utilisateur) > 6
OR ce_utilisateur = 0) and `courriel_utilisateur` is null";
OR ce_utilisateur = 0) and (`courriel_utilisateur` is null or `courriel_utilisateur` not like '%@%')";
$this->bdd->requeter($requete_anonyme);
echo "suppression des tags images anonymes";
$requete_anonyme = "DELETE FROM tb_nettoye_cel.`cel_arbre_mots_cles_images` WHERE id_utilisateur in (select ce_utilisateur FROM tb_nettoye_cel.`cel_obs` WHERE (ce_utilisateur IS NULL OR LENGTH(ce_utilisateur) > 6
OR ce_utilisateur = 0) and `courriel_utilisateur` is null)";
OR ce_utilisateur = 0) and (`courriel_utilisateur` is null or `courriel_utilisateur` not like '%@%'))";
$this->bdd->requeter($requete_anonyme);
echo "suppression des tags obs anonymes";
$requete_anonyme = "DELETE FROM tb_nettoye_cel.`cel_arbre_mots_cles_obs` WHERE id_utilisateur in (select ce_utilisateur FROM tb_nettoye_cel.`cel_obs` WHERE (ce_utilisateur IS NULL OR LENGTH(ce_utilisateur) > 6
OR ce_utilisateur = 0) and `courriel_utilisateur` is null)";
OR ce_utilisateur = 0) and (`courriel_utilisateur` is null or `courriel_utilisateur` not like '%@%'))";
$this->bdd->requeter($requete_anonyme);
echo "suppression des obs anonymes";
$requete_anonyme = "DELETE FROM tb_nettoye_cel.`cel_obs` WHERE (ce_utilisateur IS NULL OR LENGTH(ce_utilisateur) > 6
OR ce_utilisateur = 0) and `courriel_utilisateur` is null";
OR ce_utilisateur = 0) and (`courriel_utilisateur` is null or `courriel_utilisateur` not like '%@%')";
$this->bdd->requeter($requete_anonyme);
echo "modification des observations ayant une adresse mail en identifiant";
255,13 → 264,18
echo "modification des observations ayant un identifiant";
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` join tela_prod_v4.`annuaire_tela` ON U_ID = ce_utilisateur SET `prenom_utilisateur` = `U_NAME`, `nom_utilisateur` = `U_SURNAME` ,
`courriel_utilisateur` = `U_MAIL` WHERE (ce_utilisateur IS NOT NULL OR LENGTH(ce_utilisateur) > 6) and courriel_utilisateur not like '%@%'";
`courriel_utilisateur` = `U_MAIL` WHERE (ce_utilisateur IS NOT NULL OR LENGTH(ce_utilisateur) > 6) and (courriel_utilisateur is null or courriel_utilisateur='')";
$utilisateur_mail = $this->bdd->recupererTous($requete_annu_mail);
echo "suppression des autres valeurs ce_utilisateur";
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` SET ce_utilisateur = NULL WHERE ce_utilisateur IS NOT NULL AND LENGTH(ce_utilisateur) > 6";
$utilisateur_mail = $this->bdd->recupererTous($requete_annu_mail);
$requete_verif = "SELECT `ce_utilisateur`, `prenom_utilisateur`, `nom_utilisateur`, `courriel_utilisateur` FROM tb_nettoye_cel.cel_obs
WHERE ce_utilisateur IS NOT NULL OR LENGTH(ce_utilisateur) > 6";
$verif = $this->bdd->recupererTous($requete_verif);
if ($verif != array()) print_r($verif);
echo "effectuée \n";
}
private function unifierNomReferentiel() {
270,7 → 284,7
foreach ($referentiels as $referentiel) {
$requete = "UPDATE tb_nettoye_cel.cel_obs SET nom_referentiel = '".$referentiel."' WHERE nom_referentiel like '".$referentiel."%'";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET nom_referentiel = NULL WHERE nom_sel_nn = '' or nom_sel_nn = '0'";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET nom_referentiel = 'autre' WHERE nom_sel_nn = '' or nom_sel_nn = '0'";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET nom_referentiel = 'APD' WHERE nom_referentiel like 'bdtao%'";
$this->bdd->requeter($requete);
277,6 → 291,9
$requete = "UPDATE tb_nettoye_cel.cel_obs SET nom_referentiel = 'BDTFX' WHERE nom_referentiel like 'bdnff%'";
$this->bdd->requeter($requete);
echo "effectuée \n";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET nom_referentiel = 'autre' WHERE nom_referentiel IS NULL or nom_referentiel = ''";
$this->bdd->requeter($requete);
echo "effectuée \n";
}
$requete_verif = "SELECT nom_referentiel FROM tb_nettoye_cel.cel_obs WHERE nom_referentiel NOT IN ('".implode("', '", $referentiels)."', 'autre')";
$verif = $this->bdd->recupererTous($requete_verif);
296,7 → 313,7
private function verifierGeodatum() {
echo "Uniformisation du geodatum";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET geodatum = 'wgs84' WHERE (latitude IS NOT NULL or latitude != '0.00000') AND geodatum = ''";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET geodatum = 'WGS84' WHERE (latitude IS NOT NULL or latitude != '0.00000') AND geodatum IS NULL";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET geodatum = NULL WHERE (latitude IS NULL or latitude == '0.00000')";
$this->bdd->requeter($requete);
311,11 → 328,76
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET locality_consistency = '1' WHERE
((ce_zone_geo != 'INSEE-C:' and ce_zone_geo like 'INSEE-C:%') and code_insee_calcule != '') and
replace(`ce_zone_geo`, 'INSEE-C:', '') = `code_insee_calcule`";$this->bdd->requeter($requete);
replace(`ce_zone_geo`, 'INSEE-C:', '') = `code_insee_calcule`";
$this->bdd->requeter($requete);
$requete_verif = "SELECT `ce_zone_geo`, `code_insee_calcule`, `locality_consistency` FROM `cel_obs` WHERE `locality_consistency` IS NOT NULL";
$verif = $this->bdd->recupererTous($requete_verif);
if ($verif != array()) print_r($verif);
echo "effectuée \n";
}
private function analyserMotsCles(){
echo "Input source \n";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET input_source = 'plantnet' WHERE `mots_cles_texte` like '%plantnet%'";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET input_source = 'autre' WHERE `mots_cles_texte` like '%MobileSauvages%'";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET input_source = 'widget' WHERE `mots_cles_texte` like '%Projets coopératifs%' and input_source = ''";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET input_source = 'widget' WHERE `mots_cles_texte` like '%widget%' and input_source = ''";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET input_source = 'cel' WHERE input_source = ''";
$this->bdd->requeter($requete);
 
echo "Suppression motcle du chemin \n";
$requete = "UPDATE tb_nettoye_cel.`cel_arbre_mots_cles_obs` SET chemin = substr(`chemin`, 1, CHAR_LENGTH(chemin)-CHAR_LENGTH(`mot_cle`)-1)";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.`cel_arbre_mots_cles_images` SET chemin = substr(`chemin`, 1, CHAR_LENGTH(chemin)-CHAR_LENGTH(`mot_cle`)-1)";
$this->bdd->requeter($requete);
echo "Certitude à certaine quand obs validée sur ip \n";
$requete = "UPDATE tb_nettoye_cel.`cel_obs` c left join
(SELECT distinct `ce_observation`, sum(`proposition_retenue`) as s, `nom_sel_nn`
FROM tb_del.`del_commentaire` group by `ce_observation`) d on
`ce_observation` = `id_observation` SET `certitude` = 'certain'
WHERE s = 1 and (c.`mots_cles_texte` LIKE '%adeterminer%'
or c.`certitude` = 'aDeterminer') and c.`nom_sel_nn` = d.`nom_sel_nn`";
$this->bdd->requeter($requete);
echo "Certitude à douteux quand obs validée sur ip mais num_nom diff entre ip et cel \n";
$requete = "UPDATE tb_nettoye_cel.`cel_obs` c left join
(SELECT distinct `ce_observation`, sum(`proposition_retenue`) as s, `nom_sel_nn`
FROM tb_del.`del_commentaire` group by `ce_observation`) d on
`ce_observation` = `id_observation` SET `certitude` = 'douteux'
WHERE s = 1 and (c.`mots_cles_texte` LIKE '%adeterminer%'
or c.`certitude` = 'aDeterminer') and c.`nom_sel_nn` != d.`nom_sel_nn`";
$this->bdd->requeter($requete);
echo "Certitude à aDeterminer quand obs non validée sur ip \n";
$requete = "UPDATE tb_nettoye_cel.`cel_obs` c SET `certitude` = 'aDeterminer'
WHERE c.`mots_cles_texte` LIKE '%adeterminer%' AND
(c.`certitude` = '' or c.certitude IS NULL)";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.`cel_obs` SET
`mots_cles_texte` = REPLACE(`mots_cles_texte`, 'aDeterminer,', '')
WHERE `mots_cles_texte` LIKE '%adeterminer,%'";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.`cel_obs` SET
`mots_cles_texte` = REPLACE(`mots_cles_texte`, ',aDeterminer', '')
WHERE `mots_cles_texte` LIKE '%,adeterminer'";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.`cel_obs` SET
`mots_cles_texte` = REPLACE(`mots_cles_texte`, 'aDeterminer', '')
WHERE `mots_cles_texte` LIKE '%adeterminer%'";
$this->bdd->requeter($requete);
}
}