Subversion Repositories eFlore/Applications.cel

Rev

Rev 2183 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2183 Rev 2191
Line 58... Line 58...
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->getParametre('util');
61
					$this->reductionMotsClesImagesUtilisateur($idUtilisateur);
61
					$this->reductionMotsClesImagesUtilisateur($idUtilisateur);
62
					break;
62
					break;
-
 
63
				case 'reduireEtNormaliserMotsClesImages' :
-
 
64
					// ex: cli.php maintenance -a reduireEtNormaliserMotsClesImages
-
 
65
					$this->reduireEtNormaliserMotsClesImages();
-
 
66
					break;
63
				default :
67
				default :
64
					$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
68
					$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
65
						"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
69
						"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
66
					throw new Exception($msg);
70
					throw new Exception($msg);
67
			}
71
			}
Line 438... Line 442...
438
	}
442
	}
Line 439... Line 443...
439
 
443
 
440
	// Parcourt l'arbre des mots-cles images de l'utilisateur dont l'id est $idUtilisateur, et réduit tous ceux dont le chemin
444
	// 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
445
	// n'est pas unique
442
	private function reductionMotsClesImagesUtilisateur($idUtilisateur) {
446
	private function reductionMotsClesImagesUtilisateur($idUtilisateur) {
-
 
447
		$q1 = "SELECT id_mot_cle, chemin, mot_cle, (LOCATE(mot_cle, chemin) != 0) as valide FROM cel_arbre_mots_cles_images"
-
 
448
			. " WHERE id_utilisateur = '$idUtilisateur'"
443
		$q1 = "SELECT id_mot_cle, chemin FROM cel_arbre_mots_cles_images WHERE id_utilisateur = $idUtilisateur;";
449
			. " ORDER BY chemin ASC, valide DESC;";
Line 444... Line 450...
444
		$r1 = $this->bdd->requeter($q1);
450
		$r1 = $this->bdd->requeter($q1);
445
 
451
 
446
		$idsMotsCles = array();
452
		$idsMotsCles = array();
Line 466... Line 472...
466
				}
472
				}
467
			}
473
			}
468
		}
474
		}
469
		echo "$aTraiter groupes ont été réduits" . PHP_EOL;
475
		echo "$aTraiter groupes ont été réduits" . PHP_EOL;
470
	}
476
	}
-
 
477
	
-
 
478
	private function reduireEtNormaliserMotsClesImages() {
-
 
479
		$this->reduireEtNormaliserMotsCles('cel_arbre_mots_cles_images', 'chemin', 'images');
-
 
480
	}
-
 
481
	
-
 
482
	private function reduireEtNormaliserMotsCles($table, $colonne, $mode = "images") {		
-
 
483
		echo "Suppression des accents dans la table $table, colonne $colonne ...";
-
 
484
		$this->supprimerAccents($table, $colonne);
-
 
485
		echo "effectuée \n";
-
 
486
		echo "Suppression des majuscules dans la table $table, colonne $colonne ...";
-
 
487
		$this->supprimerMajuscules($table, $colonne);
-
 
488
		echo "effectuée \n";
-
 
489
		echo "\n";
-
 
490
		echo "Réduction de tous les mots clés $mode \n";
-
 
491
		$req_utilisateurs = "SELECT DISTINCT id_utilisateur FROM ".$table;
-
 
492
		$utilisateurs = $this->bdd->recupererTous($req_utilisateurs);
-
 
493
		
-
 
494
		foreach($utilisateurs as $utilisateur) {
-
 
495
			echo "Utilisateur en cours de traitement : ".$utilisateur['id_utilisateur']." \n";
-
 
496
			if($mode == "images") {
-
 
497
				$this->reductionMotsClesImagesUtilisateur($utilisateur['id_utilisateur']);
-
 
498
			} else {
-
 
499
				//TODO: créer cette fonction
-
 
500
				// $this->reductionMotsClesObsUtilisateur($utilisateur['id_utilisateur']);
-
 
501
			}
-
 
502
		}
-
 
503
		echo "Fin de la réduction des mots clés $mode \n";
-
 
504
	}
-
 
505
	
-
 
506
	private function supprimerMajuscules($table, $colonne) {
-
 
507
		$requete = "UPDATE ".$table." SET ".$colonne." = LOWER(".$colonne.")";
-
 
508
		$this->bdd->requeter($requete); 
-
 
509
	}
-
 
510
	
-
 
511
	private function supprimerAccents($table, $colonne) {
-
 
512
		
-
 
513
		$requetes = array(
-
 
514
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Š','S')",
-
 
515
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'š','s')",
-
 
516
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ð','Dj')",
-
 
517
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ž','Z')",
-
 
518
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ž','z')",
-
 
519
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'À','A')",
-
 
520
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Á','A')",
-
 
521
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Â','A')",
-
 
522
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ã','A')",
-
 
523
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ä','A')",
-
 
524
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Å','A')",
-
 
525
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Æ','A')",
-
 
526
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ç','C')",
-
 
527
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'È','E')",
-
 
528
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'É','E')",
-
 
529
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ê','E')",
-
 
530
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ë','E')",
-
 
531
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ì','I')",
-
 
532
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Í','I')",
-
 
533
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Î','I')",
-
 
534
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ï','I')",
-
 
535
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ñ','N')",
-
 
536
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ò','O')",
-
 
537
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ó','O')",
-
 
538
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ô','O')",
-
 
539
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Õ','O')",
-
 
540
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ö','O')",
-
 
541
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ø','O')",
-
 
542
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ù','U')",
-
 
543
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ú','U')",
-
 
544
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Û','U')",
-
 
545
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ü','U')",
-
 
546
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Ý','Y')",
-
 
547
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'Þ','B')",
-
 
548
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ß','Ss')",
-
 
549
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'à','a')",
-
 
550
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'á','a')",
-
 
551
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'â','a')",
-
 
552
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ã','a')",
-
 
553
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ä','a')",
-
 
554
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'å','a')",
-
 
555
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'æ','a')",
-
 
556
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ç','c')",
-
 
557
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'è','e')",
-
 
558
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'é','e')",
-
 
559
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ê','e')",
-
 
560
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ë','e')",
-
 
561
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ì','i')",
-
 
562
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'í','i')",
-
 
563
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'î','i')",
-
 
564
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ï','i')",
-
 
565
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ð','o')",
-
 
566
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ñ','n')",
-
 
567
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ò','o')",
-
 
568
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ó','o')",
-
 
569
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ô','o')",
-
 
570
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'õ','o')",
-
 
571
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ö','o')",
-
 
572
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ø','o')",
-
 
573
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ù','u')",
-
 
574
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ú','u')",
-
 
575
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'û','u')",
-
 
576
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ý','y')",
-
 
577
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ý','y')",
-
 
578
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'þ','b')",
-
 
579
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ÿ','y')",
-
 
580
			"UPDATE ".$table." SET ".$colonne." = REPLACE(".$colonne.",'ƒ','f')",
-
 
581
		);
-
 
582
		
-
 
583
		foreach($requetes as $requete) {
-
 
584
			$this->bdd->requeter($requete);
-
 
585
		}
-
 
586
	}
471
}
587
}
472
?>
588
?>
473
589