Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3437 → Rev 3438

/trunk/scripts/modules/nettoyage/Nettoyage.php
47,9 → 47,10
$this->unifierUtilisateur();
$this->verifierCodeInsee();
$this->verifierGeodatum();
$this->supprimerInfosLiesObsInexistante();
$this->supprimerImagesetTagAnonymes();
$this->analyserMotsCles();
$this->changerSensible();
$this->supprimerInfosLiesObsInexistante();
$this->unifierNull();
break;
case 'supprimerRetourLigne' :
238,6 → 239,14
}
private function unifierUtilisateur() {
echo "vérification de la présence de l'annuaire \n";
$requete = "SELECT * FROM tb_nettoye_cel.`users`;";
$result = $this->bdd->requeter($requete);
if ($result === NULL) {
echo "Il manque la table annuaire (à recopier de telaorg users\n";
exit;
}
echo "suppression de le colonne ordre \n";
$requete = "ALTER TABLE tb_nettoye_cel.cel_obs DROP INDEX id_obs;";
$this->bdd->requeter($requete);
245,21 → 254,23
$this->bdd->requeter($requete);
$requete = "ALTER TABLE tb_nettoye_cel.`cel_obs` DROP `ordre`;";
$this->bdd->requeter($requete);
$requete = "ALTER TABLE tb_nettoye_cel.`cel_obs` ADD pseudo varchar(250);";
$this->bdd->requeter($requete);
echo "modification des observations ayant une adresse mail en identifiant";
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` join tela_prod_v4.`annuaire_tela` ON `U_MAIL` = ce_utilisateur SET `ce_utilisateur` = `U_ID`, `prenom_utilisateur` = `U_NAME`, `nom_utilisateur` = `U_SURNAME` ,
`courriel_utilisateur` = `U_MAIL` WHERE ce_utilisateur like '%@%'";
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` join tb_nettoye_cel.`users` ON `user_email` = ce_utilisateur SET `ce_utilisateur` = `ID`, pseudo = user_nicename,
`courriel_utilisateur` = `user_email` WHERE ce_utilisateur like '%@%'";
$utilisateur_mail = $this->bdd->recupererTous($requete_annu_mail);
echo "modification des observations ayant une adresse mail mais pas d'identifiant";
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` join tela_prod_v4.`annuaire_tela` ON `U_MAIL` = courriel_utilisateur SET `ce_utilisateur` = `U_ID`, `prenom_utilisateur` = `U_NAME`, `nom_utilisateur` = `U_SURNAME` ,
`courriel_utilisateur` = `U_MAIL` WHERE (ce_utilisateur IS NULL OR LENGTH(ce_utilisateur) > 6
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` join tb_nettoye_cel.`users` ON `user_email` = courriel_utilisateur SET `ce_utilisateur` = `ID`, pseudo = user_nicename,
`courriel_utilisateur` = `user_email` WHERE (ce_utilisateur IS NULL OR LENGTH(ce_utilisateur) > 6
OR ce_utilisateur = 0) and courriel_utilisateur like '%@%'";
$utilisateur_mail = $this->bdd->recupererTous($requete_annu_mail);
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 is null or courriel_utilisateur='')";
$requete_annu_mail = "UPDATE tb_nettoye_cel.`cel_obs` join tb_nettoye_cel.`users` ON ID = ce_utilisateur SET pseudo = user_nicename,
`courriel_utilisateur` = `user_email` 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";
266,7 → 277,19
$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);
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 `courriel_utilisateur` not like '%@%')";
$this->bdd->requeter($requete_anonyme);
$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 supprimerImagesetTagAnonymes() {
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 `courriel_utilisateur` not like '%@%')";
276,19 → 299,22
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 `courriel_utilisateur` not like '%@%'))";
$requete_create = "CREATE TABLE tb_nettoye_cel.user_mot_cle_absent AS SELECT distinct id_utilisateur FROM tb_nettoye_cel.cel_arbre_mots_cles_obs WHERE id_utilisateur not in
(SELECT distinct id_utilisateur FROM tb_nettoye_cel.cel_arbre_mots_cles_obs WHERE id_utilisateur in
(select distinct ce_utilisateur from tb_nettoye_cel.cel_obs) or
id_utilisateur in (SELECT distinct courriel_utilisateur FROM tb_nettoye_cel.cel_obs))";
$this->bdd->requeter($requete_create);
$requete_index = "ALTER TABLE `user_mot_cle_absent` ADD PRIMARY KEY(`id_utilisateur`);";
$this->bdd->requeter($requete_index);
$requete_anonyme = "DELETE FROM tb_nettoye_cel.`cel_arbre_mots_cles_obs` WHERE `id_utilisateur` in (SELECT * FROM `user_mot_cle_absent`);";
$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 `courriel_utilisateur` not like '%@%')";
$requete_anonyme = "DROP TABLE user_mot_cle_absent;";
$this->bdd->requeter($requete_anonyme);
$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";
$requete_anonyme = "UPDATE `cel_arbre_mots_cles_obs` a join tb_nettoye_cel.cel_obs b on a.`id_utilisateur` = b.courriel_utilisateur SET a.`id_utilisateur` = b.ce_utilisateur
WHERE b.ce_utilisateur IS NOT NULL AND b.ce_utilisateur != ''";
$this->bdd->requeter($requete_anonyme);
$requete_anonyme = "DELETE FROM `cel_mots_cles_obs_liaison` WHERE `id_element_lie` not in (SELECT `id_observation` FROM `cel_obs`) OR `id_mot_cle` NOT IN (SELECT `id_mot_cle` FROM `cel_arbre_mots_cles_obs`);";
$this->bdd->requeter($requete_anonyme);
}
private function unifierNomReferentiel() {
319,8 → 345,14
$this->bdd->requeter($requete);
$requete = "DELETE FROM tb_nettoye_cel.`cel_mots_cles_obs_liaison` WHERE `id_element_lie` not in (select `id_observation` from tb_nettoye_cel.cel_obs);";
$this->bdd->requeter($requete);
$requete = "DELETE FROM tb_nettoye_cel.`cel_mots_cles_images_liaison` WHERE `id_element_lie` not in (select `id_observation` from tb_nettoye_cel.cel_obs);";
$requete = "DELETE FROM tb_nettoye_cel.`cel_mots_cles_obs_liaison` WHERE `id_mot_cle` not in (SELECT `id_mot_cle` FROM `cel_arbre_mots_cles_obs`);";
$this->bdd->requeter($requete);
$requete = "DELETE FROM tb_nettoye_cel.`cel_images` WHERE `ce_observation` is not null and tb_nettoye_cel.`ce_observation` not in (select id_observation from tb_nettoye_cel.cel_obs)";
$this->bdd->requeter($requete);
$requete = "DELETE FROM tb_nettoye_cel.`cel_mots_cles_images_liaison` WHERE `id_element_lie` not in (select `id_image` from tb_nettoye_cel.cel_images);";
$this->bdd->requeter($requete);
$requete = "DELETE FROM tb_nettoye_cel.`cel_mots_cles_images_liaison` WHERE `id_mot_cle` not in (SELECT `id_mot_cle` FROM `cel_arbre_mots_cles_images`);";
$this->bdd->requeter($requete);
echo "effectuée \n";
}
372,7 → 404,7
$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);
382,19 → 414,19
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
(SELECT distinct `ce_observation`, `nom_sel_nn`
FROM tb_del.`del_commentaire` WHERE `proposition_retenue` = 1) d on
`ce_observation` = `id_observation` SET `certitude` = 'certain'
WHERE s = 1 and (c.`mots_cles_texte` LIKE '%adeterminer%'
WHERE (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
(SELECT distinct `ce_observation`, `nom_sel_nn`
FROM tb_del.`del_commentaire` WHERE `proposition_retenue` = 1 ) d on
`ce_observation` = `id_observation` SET `certitude` = 'douteux'
WHERE s = 1 and (c.`mots_cles_texte` LIKE '%adeterminer%'
WHERE (c.`mots_cles_texte` LIKE '%adeterminer%'
or c.`certitude` = 'aDeterminer') and c.`nom_sel_nn` != d.`nom_sel_nn`";
$this->bdd->requeter($requete);
409,23 → 441,17
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);
 
}
 
private function changerSensible(){
echo "Sensible \n";
$requete = "ALTER TABLE tb_nettoye_cel.`cel_obs` ADD `published_location` int(1)";
$requete = "ALTER TABLE tb_nettoye_cel.`cel_obs` ADD `published_location` varchar(50)";
$this->bdd->requeter($requete);
$requete = "UPDATE tb_nettoye_cel.cel_obs SET published_location = '1' WHERE `mots_cles_texte` like '%sensible%'";
$requete = "UPDATE tb_nettoye_cel.cel_obs SET published_location = 'localité' WHERE `mots_cles_texte` like '%sensible%'";
$this->bdd->requeter($requete);
}
}