Line 3... |
Line 3... |
3 |
|
3 |
|
4 |
protected $bdd;
|
4 |
protected $bdd;
|
5 |
protected $parametres_autorises = array(
|
5 |
protected $parametres_autorises = array(
|
6 |
'-mc' => array(false, '1', 'Mot clef à chercher pour régénérer les machins'),
|
6 |
'-mc' => array(false, '1', 'Mot clef à chercher pour régénérer les machins'),
|
7 |
'-doublon' => array(false, '1', "Id du mot clé qu'on veut réduire à un autre"),
|
7 |
'-doublon' => array(false, '1', "Id du mot clé qu'on veut réduire à un autre"),
|
8 |
'-util' => array(false, '1', "Id de l'utilisateur"),
|
8 |
'-util' => array(false, null, "Id de l'utilisateur"),
|
9 |
'-cible' => array(false, '1', "Id de l'autre mot clé")
|
9 |
'-cible' => array(false, '1', "Id de l'autre mot clé")
|
Line 10... |
Line 10... |
10 |
);
|
10 |
);
|
11 |
|
11 |
|
Line 55... |
Line 55... |
55 |
$idCible = $this->getParametre('cible');
|
55 |
$idCible = $this->getParametre('cible');
|
56 |
$this->reductionMotsClesImages($idDoublon, $idCible);
|
56 |
$this->reductionMotsClesImages($idDoublon, $idCible);
|
57 |
break;
|
57 |
break;
|
58 |
case 'reductionMotsClesImagesUtil' :
|
58 |
case 'reductionMotsClesImagesUtil' :
|
59 |
// ex: cli.php maintenance -a reductionMotsClesImagesUtil -util 6865
|
59 |
// ex: cli.php maintenance -a reductionMotsClesImagesUtil -util 6865
|
60 |
$idUtilisateur = $this->getParametre('util');
|
60 |
$idUtilisateur = $this->obtenirParametreIntObligatoirePourMethode('util');
|
61 |
$this->reductionMotsClesImagesUtilisateur($idUtilisateur);
|
61 |
$this->reductionMotsClesImagesUtilisateur($idUtilisateur);
|
62 |
break;
|
62 |
break;
|
- |
|
63 |
case 'reduireEtNormaliserMotsClesImagesUtil' :
|
- |
|
64 |
// ex: cli.php maintenance -a reduireEtNormaliserMotsClesImages -util 6865
|
- |
|
65 |
$idUtilisateur = $this->obtenirParametreIntObligatoirePourMethode('util');
|
- |
|
66 |
$this->reduireEtNormaliserMotsClesImages($idUtilisateur);
|
- |
|
67 |
break;
|
- |
|
68 |
case 'reduireEtNormaliserMotsClesImages' :
|
- |
|
69 |
// ex: cli.php maintenance -a reduireEtNormaliserMotsClesImages
|
- |
|
70 |
$this->reduireEtNormaliserMotsClesImages();
|
- |
|
71 |
break;
|
63 |
default :
|
72 |
default :
|
64 |
$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
|
73 |
$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
|
65 |
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
|
74 |
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
|
66 |
throw new Exception($msg);
|
75 |
throw new Exception($msg);
|
67 |
}
|
76 |
}
|
68 |
} catch (Exception $e) {
|
77 |
} catch (Exception $e) {
|
69 |
$this->traiterErreur($e->getMessage());
|
78 |
$this->traiterErreur($e->getMessage());
|
70 |
}
|
79 |
}
|
71 |
}
|
80 |
}
|
- |
|
81 |
|
- |
|
82 |
private function obtenirParametreIntObligatoirePourMethode($param) {
|
- |
|
83 |
$param_val = $this->getParametre($param);
|
- |
|
84 |
if(!$param_val || !is_numeric($param_val)) {
|
- |
|
85 |
$msg = "Erreur : le paramètre $param est obligatoire pour cette méthode et doit être un entier \n";
|
- |
|
86 |
throw new Exception($msg);
|
- |
|
87 |
}
|
- |
|
88 |
return $param_val;
|
- |
|
89 |
}
|
Line 72... |
Line 90... |
72 |
|
90 |
|
73 |
// Régénère le champ "mots_cles_texte" pour toutes les images ayant des mots clés mais ayant ce champ
|
91 |
// Régénère le champ "mots_cles_texte" pour toutes les images ayant des mots clés mais ayant ce champ
|
74 |
// vide, suite à une erreur
|
92 |
// vide, suite à une erreur
|
75 |
protected function regenererMotsClesTexteImages($tout = false) {
|
93 |
protected function regenererMotsClesTexteImages($tout = false) {
|
Line 438... |
Line 456... |
438 |
}
|
456 |
}
|
Line 439... |
Line 457... |
439 |
|
457 |
|
440 |
// Parcourt l'arbre des mots-cles images de l'utilisateur dont l'id est $idUtilisateur, et réduit tous ceux dont le chemin
|
458 |
// Parcourt l'arbre des mots-cles images de l'utilisateur dont l'id est $idUtilisateur, et réduit tous ceux dont le chemin
|
441 |
// n'est pas unique
|
459 |
// n'est pas unique
|
442 |
private function reductionMotsClesImagesUtilisateur($idUtilisateur) {
|
460 |
private function reductionMotsClesImagesUtilisateur($idUtilisateur) {
|
- |
|
461 |
$q1 = "SELECT id_mot_cle, chemin, mot_cle, (LOCATE(mot_cle, chemin) != 0) as valide FROM cel_arbre_mots_cles_images"
|
- |
|
462 |
. " WHERE id_utilisateur = '$idUtilisateur'"
|
443 |
$q1 = "SELECT id_mot_cle, chemin FROM cel_arbre_mots_cles_images WHERE id_utilisateur = $idUtilisateur;";
|
463 |
. " ORDER BY chemin ASC, valide DESC;";
|
Line 444... |
Line 464... |
444 |
$r1 = $this->bdd->requeter($q1);
|
464 |
$r1 = $this->bdd->requeter($q1);
|
445 |
|
465 |
|
446 |
$idsMotsCles = array();
|
466 |
$idsMotsCles = array();
|
Line 466... |
Line 486... |
466 |
}
|
486 |
}
|
467 |
}
|
487 |
}
|
468 |
}
|
488 |
}
|
469 |
echo "$aTraiter groupes ont été réduits" . PHP_EOL;
|
489 |
echo "$aTraiter groupes ont été réduits" . PHP_EOL;
|
470 |
}
|
490 |
}
|
- |
|
491 |
|
- |
|
492 |
private function reduireEtNormaliserMotsClesImages($util=null) {
|
- |
|
493 |
$this->reduireEtNormaliserMotsCles('cel_arbre_mots_cles_images', 'chemin', 'images', $util);
|
- |
|
494 |
}
|
- |
|
495 |
|
- |
|
496 |
private function reduireEtNormaliserMotsCles($table, $colonne, $mode = "images", $util=null) {
|
- |
|
497 |
echo "Suppression des accents dans la table $table, colonne $colonne ...";
|
- |
|
498 |
$this->supprimerAccents($table, $colonne, $util);
|
- |
|
499 |
echo "effectuée \n";
|
- |
|
500 |
echo "Suppression des majuscules dans la table $table, colonne $colonne ...";
|
- |
|
501 |
$this->supprimerMajuscules($table, $colonne, $util);
|
- |
|
502 |
echo "effectuée \n";
|
- |
|
503 |
echo "\n";
|
- |
|
504 |
if ($util !== null) {
|
- |
|
505 |
echo "Réduction de tous les mots clés $mode de l'utilisateur $util\n";
|
- |
|
506 |
$this->reductionMotsClesImagesUtilisateur($util);
|
- |
|
507 |
} else {
|
- |
|
508 |
echo "Réduction de tous les mots clés $mode \n";
|
- |
|
509 |
$req_utilisateurs = "SELECT DISTINCT id_utilisateur FROM ".$table;
|
- |
|
510 |
$utilisateurs = $this->bdd->recupererTous($req_utilisateurs);
|
- |
|
511 |
|
- |
|
512 |
foreach($utilisateurs as $utilisateur) {
|
- |
|
513 |
echo "Utilisateur en cours de traitement : ".$utilisateur['id_utilisateur']." \n";
|
- |
|
514 |
if($mode == "images") {
|
- |
|
515 |
$this->reductionMotsClesImagesUtilisateur($utilisateur['id_utilisateur']);
|
- |
|
516 |
} else {
|
- |
|
517 |
//TODO: créer cette fonction
|
- |
|
518 |
// $this->reductionMotsClesObsUtilisateur($utilisateur['id_utilisateur']);
|
- |
|
519 |
}
|
- |
|
520 |
}
|
- |
|
521 |
}
|
- |
|
522 |
echo "Fin de la réduction des mots clés $mode \n";
|
- |
|
523 |
}
|
- |
|
524 |
|
- |
|
525 |
private function supprimerMajuscules($table, $colonne, $util=null) {
|
- |
|
526 |
$requete = "UPDATE ".$table." SET ".$colonne." = LOWER(".$colonne.")";
|
- |
|
527 |
if ($util !== null) {
|
- |
|
528 |
$requete .= " WHERE id_utilisateur = $util";
|
- |
|
529 |
}
|
- |
|
530 |
$this->bdd->requeter($requete);
|
- |
|
531 |
}
|
- |
|
532 |
|
- |
|
533 |
private function supprimerAccents($table, $colonne, $util=null) {
|
- |
|
534 |
|
- |
|
535 |
$requetes = array(
|
- |
|
536 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Š','S')",
|
- |
|
537 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'š','s')",
|
- |
|
538 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ð','Dj')",
|
- |
|
539 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ž','Z')",
|
- |
|
540 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ž','z')",
|
- |
|
541 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'À','A')",
|
- |
|
542 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Á','A')",
|
- |
|
543 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Â','A')",
|
- |
|
544 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ã','A')",
|
- |
|
545 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ä','A')",
|
- |
|
546 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Å','A')",
|
- |
|
547 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Æ','A')",
|
- |
|
548 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ç','C')",
|
- |
|
549 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'È','E')",
|
- |
|
550 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'É','E')",
|
- |
|
551 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ê','E')",
|
- |
|
552 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ë','E')",
|
- |
|
553 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ì','I')",
|
- |
|
554 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Í','I')",
|
- |
|
555 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Î','I')",
|
- |
|
556 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ï','I')",
|
- |
|
557 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ñ','N')",
|
- |
|
558 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ò','O')",
|
- |
|
559 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ó','O')",
|
- |
|
560 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ô','O')",
|
- |
|
561 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Õ','O')",
|
- |
|
562 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ö','O')",
|
- |
|
563 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ø','O')",
|
- |
|
564 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ù','U')",
|
- |
|
565 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ú','U')",
|
- |
|
566 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Û','U')",
|
- |
|
567 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ü','U')",
|
- |
|
568 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ý','Y')",
|
- |
|
569 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Þ','B')",
|
- |
|
570 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ß','Ss')",
|
- |
|
571 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'à','a')",
|
- |
|
572 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'á','a')",
|
- |
|
573 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'â','a')",
|
- |
|
574 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ã','a')",
|
- |
|
575 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ä','a')",
|
- |
|
576 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'å','a')",
|
- |
|
577 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'æ','a')",
|
- |
|
578 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ç','c')",
|
- |
|
579 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'è','e')",
|
- |
|
580 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'é','e')",
|
- |
|
581 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ê','e')",
|
- |
|
582 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ë','e')",
|
- |
|
583 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ì','i')",
|
- |
|
584 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'í','i')",
|
- |
|
585 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'î','i')",
|
- |
|
586 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ï','i')",
|
- |
|
587 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ð','o')",
|
- |
|
588 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ñ','n')",
|
- |
|
589 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ò','o')",
|
- |
|
590 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ó','o')",
|
- |
|
591 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ô','o')",
|
- |
|
592 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'õ','o')",
|
- |
|
593 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ö','o')",
|
- |
|
594 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ø','o')",
|
- |
|
595 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ù','u')",
|
- |
|
596 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ú','u')",
|
- |
|
597 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'û','u')",
|
- |
|
598 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ý','y')",
|
- |
|
599 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ý','y')",
|
- |
|
600 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'þ','b')",
|
- |
|
601 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ÿ','y')",
|
- |
|
602 |
"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ƒ','f')",
|
- |
|
603 |
);
|
- |
|
604 |
|
- |
|
605 |
foreach($requetes as $requete) {
|
- |
|
606 |
if ($util !== null) {
|
- |
|
607 |
$requete .= " WHERE id_utilisateur = $util";
|
- |
|
608 |
}
|
- |
|
609 |
$this->bdd->requeter($requete);
|
- |
|
610 |
}
|
- |
|
611 |
}
|
471 |
}
|
612 |
}
|
472 |
?>
|
613 |
?>
|
473 |
|
614 |
|