| Line 31... |
Line 31... |
| 31 |
$this->affecterNnsAuxPropositionsViables();
|
31 |
$this->affecterNnsAuxPropositionsViables();
|
| 32 |
break;
|
32 |
break;
|
| 33 |
case 'dedoublonnerPropositions' :
|
33 |
case 'dedoublonnerPropositions' :
|
| 34 |
$this->dedoublonnerPropositions();
|
34 |
$this->dedoublonnerPropositions();
|
| 35 |
break;
|
35 |
break;
|
| - |
|
36 |
case 'dedoublonnerPropositionsEtCorrigerDonnees' :
|
| - |
|
37 |
// Suppression des propositions et votes sur des obs inexistantes
|
| - |
|
38 |
// pas la peine de traiter ce qui n'existe plus !
|
| - |
|
39 |
$this->supprimerPropositionsOrphelines();
|
| - |
|
40 |
// Corriger les noms de référentiel permet de simplifier les affectations de noms ensuite
|
| - |
|
41 |
$this->corrigerNomsReferentiels();
|
| - |
|
42 |
// Affectations de nums noms aux propositions qui le permettent
|
| - |
|
43 |
$this->affecterNnsAuxPropositionsViables();
|
| - |
|
44 |
echo "\n";
|
| - |
|
45 |
$this->dedoublonnerPropositions();
|
| - |
|
46 |
break;
|
| 36 |
default :
|
47 |
default :
|
| 37 |
throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
|
48 |
throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
|
| 38 |
}
|
49 |
}
|
| 39 |
}
|
50 |
}
|
| Line 87... |
Line 98... |
| 87 |
"WHERE ce_proposition NOT IN (SELECT id_commentaire FROM del_commentaire)";
|
98 |
"WHERE ce_proposition NOT IN (SELECT id_commentaire FROM del_commentaire)";
|
| Line 88... |
Line 99... |
| 88 |
|
99 |
|
| 89 |
$modif_votes = $this->conteneur->getBdd()->executer($requete_votes);
|
100 |
$modif_votes = $this->conteneur->getBdd()->executer($requete_votes);
|
| Line 90... |
Line 101... |
| 90 |
}
|
101 |
}
|
| 91 |
|
- |
|
| 92 |
private function dedoublonnerPropositions() {
|
- |
|
| 93 |
// Suppression des propositions et votes sur des obs inexistantes
|
- |
|
| 94 |
// pas la peine de traiter ce qui n'existe plus !
|
- |
|
| 95 |
$this->supprimerPropositionsOrphelines();
|
- |
|
| 96 |
|
- |
|
| 97 |
// Corriger les noms de référentiel permet de simplifier les affectations de noms ensuite
|
- |
|
| 98 |
$this->corrigerNomsReferentiels();
|
- |
|
| 99 |
|
- |
|
| 100 |
// Affectations de nums noms aux propositions qui le permettent
|
- |
|
| 101 |
$this->affecterNnsAuxPropositionsViables();
|
- |
|
| 102 |
echo "\n";
|
102 |
|
| 103 |
|
103 |
private function dedoublonnerPropositions() {
|
| 104 |
echo "Détection des propositions en doublons \n";
|
104 |
echo "Détection des propositions en doublons \n";
|
| 105 |
// La méthode n'est pas optimisée, on fait beaucoup de boucles, de traitement de données
|
105 |
// La méthode n'est pas optimisée, on fait beaucoup de boucles, de traitement de données
|
| 106 |
// etc... mais la méthode ne doit pas être lancée souvent et elle est rapide
|
106 |
// etc... mais la méthode ne doit pas être lancée souvent et elle est rapide
|
| Line 352... |
Line 352... |
| 352 |
// À la fin, une proposition fusionnée doit être supprimée
|
352 |
// À la fin, une proposition fusionnée doit être supprimée
|
| 353 |
$propositions_supprimees[$prop['id_commentaire']] = $prop;
|
353 |
$propositions_supprimees[$prop['id_commentaire']] = $prop;
|
| 354 |
}
|
354 |
}
|
| 355 |
}
|
355 |
}
|
| Line 356... |
Line -... |
| 356 |
|
- |
|
| 357 |
/**
|
- |
|
| 358 |
* Tente de fusionner toutes les propositions, pour une observation donnée,
|
- |
|
| 359 |
* en se basant sur le couple auteur-nom_selectionne (première version obsolète)
|
- |
|
| 360 |
*/
|
- |
|
| 361 |
protected function fusionnerPropositionsMauvais($index, &$prop, &$proposition_conservees, &$propositions_supprimees) {
|
- |
|
| 362 |
// On garde les num noms valides
|
- |
|
| 363 |
if($prop['nom_sel_nn'] != "" && $prop['nom_sel_nn'] != 0) {
|
- |
|
| 364 |
if(isset($proposition_conservees[$index])) {
|
- |
|
| 365 |
$proposition_conservees[$index]['nom_sel_nn'] = $prop['nom_sel_nn'];
|
- |
|
| 366 |
if($proposition_conservees[$index]['nom_ret_nn'] == "" ||
|
- |
|
| 367 |
$proposition_conservees[$index]['nom_ret_nn'] == 0) { // on admet que nom_ret existe aussi dans ce cas
|
- |
|
| 368 |
$proposition_conservees[$index]['nom_ret'] = $prop['nom_ret'];
|
- |
|
| 369 |
$proposition_conservees[$index]['nom_ret_nn'] = $prop['nom_ret_nn'];
|
- |
|
| 370 |
}
|
- |
|
| 371 |
$raison = "Fusionnée car nn valide ! \n";
|
- |
|
| 372 |
$conservee = false;
|
- |
|
| 373 |
} else {
|
- |
|
| 374 |
$raison = "Conservée car nn valide ! \n";
|
- |
|
| 375 |
$proposition_conservees[$index] = $prop;
|
- |
|
| 376 |
$conservee = true;
|
- |
|
| 377 |
}
|
- |
|
| 378 |
}
|
- |
|
| 379 |
|
- |
|
| 380 |
// On garde le caractère de proposition retenue
|
- |
|
| 381 |
if(!isset($proposition_conservees[$index]) && $prop['proposition_retenue'] == "1") {
|
- |
|
| 382 |
if(isset($proposition_conservees[$index])) {
|
- |
|
| 383 |
$proposition_conservees[$index]['proposition_retenue'] = $prop['proposition_retenue'];
|
- |
|
| 384 |
$proposition_conservees[$index]['date_validation'] = $prop['date_validation'];
|
- |
|
| 385 |
$proposition_conservees[$index]['ce_validateur'] = $prop['ce_validateur'];
|
- |
|
| 386 |
$raison = "Fusionnée car retenue ! \n";
|
- |
|
| 387 |
$conservee = false;
|
- |
|
| 388 |
} else {
|
- |
|
| 389 |
$raison = "Conservée car retenue ! \n";
|
- |
|
| 390 |
$proposition_conservees[$index] = $prop;
|
- |
|
| 391 |
$conservee = true;
|
- |
|
| 392 |
}
|
- |
|
| 393 |
}
|
- |
|
| 394 |
|
- |
|
| 395 |
// On garde le caractère de proposition initiale
|
- |
|
| 396 |
if(!isset($proposition_conservees[$index]) && $prop['proposition_initiale'] == "1") {
|
- |
|
| 397 |
if(isset($proposition_conservees[$index])) {
|
- |
|
| 398 |
$proposition_conservees[$index]['proposition_initiale'] = $prop['proposition_initiale'];
|
- |
|
| 399 |
$proposition_conservees[$index]['ce_utilisateur'] = $prop['ce_utilisateur'];
|
- |
|
| 400 |
$proposition_conservees[$index]['utilisateur_prenom'] = $prop['utilisateur_prenom'];
|
- |
|
| 401 |
$proposition_conservees[$index]['utilisateur_nom'] = $prop['utilisateur_nom'];
|
- |
|
| 402 |
$proposition_conservees[$index]['utilisateur_courriel'] = $prop['utilisateur_courriel'];
|
- |
|
| 403 |
$conservee = false;
|
- |
|
| 404 |
} else {
|
- |
|
| 405 |
$raison = "Conservée car initiale ! \n";
|
- |
|
| 406 |
$proposition_conservees[$index] = $prop;
|
- |
|
| 407 |
$conservee = true;
|
- |
|
| 408 |
}
|
- |
|
| 409 |
}
|
- |
|
| 410 |
|
- |
|
| 411 |
// On garde le texte associé
|
- |
|
| 412 |
if(!isset($proposition_conservees[$index]) && trim($prop['texte']) != "") {
|
- |
|
| 413 |
if(isset($proposition_conservees[$index])) {
|
- |
|
| 414 |
$proposition_conservees[$index]['texte'] .= " ".$prop['texte'];
|
- |
|
| 415 |
$raison = "Fusionnée car contient du texte ! \n";
|
- |
|
| 416 |
$conservee = false;
|
- |
|
| 417 |
} else {
|
- |
|
| 418 |
$raison = "Conservée car contient du texte ! \n";
|
- |
|
| 419 |
$proposition_conservees[$index] = $prop;
|
- |
|
| 420 |
$conservee = true;
|
- |
|
| 421 |
}
|
- |
|
| 422 |
}
|
- |
|
| 423 |
|
- |
|
| 424 |
// On garde un exemple de chaque couple auteur/nom scientifique
|
- |
|
| 425 |
// Ca laisse des doublons en terme de nom mais au moins ça ne lèse pas les auteurs
|
- |
|
| 426 |
if(!isset($proposition_conservees[$index])) {
|
- |
|
| 427 |
$raison = "Conservée car on conserve une proposition de chaque couple auteur/nom ! \n";
|
- |
|
| 428 |
$proposition_conservees[$index] = $prop;
|
- |
|
| 429 |
$conservee = true;
|
- |
|
| 430 |
}
|
- |
|
| 431 |
|
- |
|
| 432 |
if($conservee) {
|
- |
|
| 433 |
$proposition_conservees[$index] = $prop;
|
- |
|
| 434 |
$proposition_conservees[$index]['raison'] = $raison;
|
- |
|
| 435 |
} else {
|
- |
|
| 436 |
// Si elle n'est rentrée dans aucun des cas de conservation alors on la supprime
|
- |
|
| 437 |
// (les informations pertinentes qu'elle pourrait contenir ont été fusionnées plus haut)
|
- |
|
| 438 |
$propositions_supprimees[$prop['id_commentaire']] = $prop;
|
- |
|
| 439 |
$propositions_supprimees[$prop['id_commentaire']]['raison'] = $raison;
|
- |
|
| 440 |
}
|
- |
|
| 441 |
}
|
- |
|
| 442 |
|
356 |
|
| 443 |
private function mettreAJourPropositions(&$propositions_a_obs_a_nom) {
|
357 |
private function mettreAJourPropositions(&$propositions_a_obs_a_nom) {
|
| 444 |
$propositions_conservees = $propositions_a_obs_a_nom['propositions_conservees'];
|
358 |
$propositions_conservees = $propositions_a_obs_a_nom['propositions_conservees'];
|
| Line 445... |
Line 359... |
| 445 |
foreach($propositions_conservees as $index => $proposition_conservee) {
|
359 |
foreach($propositions_conservees as $index => $proposition_conservee) {
|