Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2102 Rev 2103
Line 16... Line 16...
16
					$this->regenererMotsClesTexteObs();
16
					$this->regenererMotsClesTexteObs();
17
					break;
17
					break;
18
				case 'regenererMotsClesTexteImages' :
18
				case 'regenererMotsClesTexteImages' :
19
					$this->regenererMotsClesTexteImages();
19
					$this->regenererMotsClesTexteImages();
20
					break;
20
					break;
-
 
21
				case 'regenererMotsClesTexteObsTout' :
-
 
22
					$this->regenererMotsClesTexteObs(true);
-
 
23
					break;
-
 
24
				case 'regenererMotsClesTexteImagesTout' :
-
 
25
					$this->regenererMotsClesTexteImages(true);
-
 
26
					break;
21
				case 'viderMotsClesTexteImagesSansMotsCles' :
27
				case 'viderMotsClesTexteImagesSansMotsCles' :
22
					$this->viderMotsClesTexteImagesSansMotsCles();
28
					$this->viderMotsClesTexteImagesSansMotsCles();
23
					break;
29
					break;
24
				case 'viderMotsClesTexteObsSansMotsCles' :
30
				case 'viderMotsClesTexteObsSansMotsCles' :
25
					$this->viderMotsClesTexteObsSansMotsCles();
31
					$this->viderMotsClesTexteObsSansMotsCles();
Line 43... Line 49...
43
		}
49
		}
44
	}
50
	}
Line 45... Line 51...
45
 
51
 
46
	// Régénère le champ "mots_cles_texte" pour toutes les images ayant des mots clés mais ayant ce champ
52
	// Régénère le champ "mots_cles_texte" pour toutes les images ayant des mots clés mais ayant ce champ
47
	// vide, suite à une erreur
53
	// vide, suite à une erreur
48
	protected function regenererMotsClesTexteImages() {
54
	protected function regenererMotsClesTexteImages($tout = false) {
49
		$req = "SELECT id_image FROM cel_images WHERE (mots_cles_texte IS NULL OR mots_cles_texte='') "
55
		$req = "SELECT id_image FROM cel_images WHERE ".
-
 
56
				"id_image IN (SELECT id_element_lie FROM cel_mots_cles_images_liaison)";
-
 
57
		if(!$tout) {
-
 
58
			$req .= " AND (mots_cles_texte IS NULL OR mots_cles_texte='')";
50
			. "AND id_image IN (SELECT id_element_lie FROM cel_mots_cles_images_liaison)";
59
		}
51
		$res = $this->bdd->recupererTous($req);
60
		$res = $this->bdd->recupererTous($req);
52
		echo count($res) . " images trouvées\n";
61
		echo count($res) . " images trouvées\n";
53
		foreach ($res as $image) {
62
		foreach ($res as $image) {
54
			$req = "UPDATE cel_images SET mots_cles_texte = (SELECT GROUP_CONCAT(mot_cle) FROM cel_arbre_mots_cles_images cm "
63
			$req = "UPDATE cel_images SET mots_cles_texte = (SELECT GROUP_CONCAT(mot_cle) FROM cel_arbre_mots_cles_images cm "
Line 58... Line 67...
58
		}
67
		}
59
	}
68
	}
Line 60... Line 69...
60
 
69
 
61
	// Régénère le champ "mots_cles_texte" pour toutes les observations ayant des mots clés mais ayant ce champ
70
	// Régénère le champ "mots_cles_texte" pour toutes les observations ayant des mots clés mais ayant ce champ
62
	// vide, suite à une erreur
71
	// vide, suite à une erreur
63
	protected function regenererMotsClesTexteObs() {
72
	protected function regenererMotsClesTexteObs($tout = false) {
64
		$req = "SELECT id_observation FROM cel_obs WHERE (mots_cles_texte IS NULL OR mots_cles_texte='') "
73
		$req = "SELECT id_observation FROM cel_obs WHERE ".
-
 
74
				"id_observation IN (SELECT id_element_lie FROM cel_mots_cles_obs_liaison)";
-
 
75
		if(!$tout) {
-
 
76
			$req .= " AND (mots_cles_texte IS NULL OR mots_cles_texte='')";
65
			. "AND id_observation IN (SELECT id_element_lie FROM cel_mots_cles_obs_liaison)";
77
		} 
66
		$res = $this->bdd->recupererTous($req);
78
		$res = $this->bdd->recupererTous($req);
67
		echo count($res) . " observations trouvées\n";
79
		echo count($res) . " observations trouvées\n";
68
		foreach ($res as $image) {
80
		foreach ($res as $image) {
69
			$req = "UPDATE cel_obs SET mots_cles_texte = (SELECT GROUP_CONCAT(mot_cle) FROM cel_arbre_mots_cles_obs cm "
81
			$req = "UPDATE cel_obs SET mots_cles_texte = (SELECT GROUP_CONCAT(mot_cle) FROM cel_arbre_mots_cles_obs cm "
Line 227... Line 239...
227
			$requete_insertion = rtrim($requete_insertion, ',');
239
			$requete_insertion = rtrim($requete_insertion, ',');
228
			$insertion = $this->bdd->requeter($requete_insertion);
240
			$insertion = $this->bdd->requeter($requete_insertion);
229
			$this->afficherAvancement("Liaisons insérées (par paquet de 800) ", 1);
241
			$this->afficherAvancement("Liaisons insérées (par paquet de 800) ", 1);
230
		}
242
		}
231
		echo "\n";
243
		echo "\n";
232
		
-
 
233
		// éventuellement dans le cas ou l'on verrait des mots clés manquants dans l'index texte
-
 
234
		/*echo "\nRegénération de l'index des mots clés pour les obs concernées\n";
-
 
235
		$ids_obs = array_unique($ids_obs);
-
 
236
		
-
 
237
		foreach($ids_obs as $id_obs_index) {
-
 
238
			$req_index = "UPDATE cel_obs SET mots_cles_texte = (SELECT GROUP_CONCAT(mot_cle) FROM cel_arbre_mots_cles_obs cm "
-
 
239
			. "INNER JOIN cel_mots_cles_obs_liaison cml ON cml.id_mot_cle = cm.id_mot_cle AND cml.id_element_lie = '".$id_obs_index."') "
-
 
240
			. "WHERE id_observation = '".$id_obs_index."'";
-
 
241
			$this->bdd->requeter($req_index);
-
 
242
			$this->afficherAvancement("Index mots clés régénérés ", 1);
-
 
243
		}
-
 
244
		echo "\nFin de la régénération de l'index des mots clés";*/
-
 
245
	}
244
	}
Line 246... Line 245...
246
	
245
	
247
	private function reparerLiaisonsOublieesImages() {
246
	private function reparerLiaisonsOublieesImages() {
248
		// Toutes les liaisons obs-motscles avec l'id utilisateur issu de la table cel obs car
247
		// Toutes les liaisons obs-motscles avec l'id utilisateur issu de la table cel obs car
Line 331... Line 330...
331
			$requete_insertion = rtrim($requete_insertion, ',');
330
			$requete_insertion = rtrim($requete_insertion, ',');
332
			$insertion = $this->bdd->requeter($requete_insertion);
331
			$insertion = $this->bdd->requeter($requete_insertion);
333
			$this->afficherAvancement("Liaisons insérées (par paquet de 800) ", 1);
332
			$this->afficherAvancement("Liaisons insérées (par paquet de 800) ", 1);
334
		}
333
		}
335
		echo "\n";
334
		echo "\n";
336
		
-
 
337
		// éventuellement dans le cas ou l'on verrait des mots clés manquants dans l'index texte
-
 
338
		/*echo "\nRegénération de l'index des mots clés pour les obs concernées\n";
-
 
339
		$ids_imgs = array_unique($ids_imgs);
-
 
340
		
-
 
341
		foreach($ids_imgs as $id_image_index) {
-
 
342
			$req_index = "UPDATE cel_images SET mots_cles_texte = (SELECT GROUP_CONCAT(mot_cle) FROM cel_arbre_mots_cles_images cm "
-
 
343
			. "INNER JOIN cel_mots_cles_images_liaison cml ON cml.id_mot_cle = cm.id_mot_cle AND cml.id_element_lie = '".$id_image_index."') "
-
 
344
			. "WHERE id_image = '".$id_image_index."'";
-
 
345
			$this->bdd->requeter($req_index);
-
 
346
			$this->afficherAvancement("Index mots clés régénérés ", 1);
-
 
347
		}
-
 
348
		echo "\nFin de la régénération de l'index des mots clés";*/
-
 
349
	}
335
	}
350
}
336
}
351
?>
337
?>
352
338