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) {
|