Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2104 Rev 2105
Line 34... Line 34...
34
					$this->reparerLiaisonsOublieesObs();
34
					$this->reparerLiaisonsOublieesObs();
35
					break;
35
					break;
36
				case 'reparerLiaisonsOublieesImages' :
36
				case 'reparerLiaisonsOublieesImages' :
37
					$this->reparerLiaisonsOublieesImages();
37
					$this->reparerLiaisonsOublieesImages();
38
					break;
38
					break;
-
 
39
				case 'regenererChampsTailleImage' :
-
 
40
					$this->regenererChampsTailleImage();
-
 
41
					break;
39
				default :
42
				default :
40
					$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
43
					$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
41
						"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
44
						"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
42
					throw new Exception($msg);
45
					throw new Exception($msg);
43
			}
46
			}
Line 94... Line 97...
94
		$req = "UPDATE cel_obs SET mots_cles_texte = NULL WHERE id_observation NOT IN (SELECT id_element_lie FROM cel_mots_cles_obs_liaison)";
97
		$req = "UPDATE cel_obs SET mots_cles_texte = NULL WHERE id_observation NOT IN (SELECT id_element_lie FROM cel_mots_cles_obs_liaison)";
95
		$res = $this->bdd->requeter($req);
98
		$res = $this->bdd->requeter($req);
96
		echo "$res observations mises à jour\n";
99
		echo "$res observations mises à jour\n";
97
	}
100
	}
Line -... Line 101...
-
 
101
	
-
 
102
	protected function regenererChampsTailleImage() {
-
 
103
		$req = "SELECT id_image FROM cel_images WHERE hauteur = 0 OR largeur = 0";
-
 
104
		$res = $this->bdd->recupererTous($req);
-
 
105
		
-
 
106
		echo count($res)." images concernees \n";
-
 
107
		echo "Début du traitement \n";
-
 
108
		$images_maj = 0;
-
 
109
		$image_meta_ratees = 0;
-
 
110
		$images_inexistantes = 0;
-
 
111
		
-
 
112
		foreach($res as $image) {
-
 
113
			$chemin = $this->getCheminImage($image['id_image']); 
-
 
114
			if(file_exists($chemin)) {
-
 
115
				list($largeur, $hauteur) = @getimagesize($chemin);
-
 
116
				if(is_numeric($largeur) && is_numeric($hauteur)) {
-
 
117
					$req_maj = "UPDATE cel_images SET hauteur = '".$hauteur."', largeur = '".$largeur."' ".
-
 
118
					           "WHERE id_image = '".$image['id_image']."'";
-
 
119
					$maj_taille_image = $this->bdd->requeter($req_maj);
-
 
120
					if($maj_taille_image) {
-
 
121
						$images_maj++;
-
 
122
					}
-
 
123
				} else {
-
 
124
					$image_meta_ratees++;
-
 
125
				}
-
 
126
			} else {
-
 
127
				$images_inexistantes++;
-
 
128
			}
-
 
129
			$this->afficherAvancement("\tImages traitées : ", 1);
-
 
130
		}	
-
 
131
		echo "\n";
-
 
132
		echo "Fin de la régénération des tailles des images à partir des metadonnées \n";
-
 
133
		echo $images_maj." images ont vu leur infos de taille régénérées \n";
-
 
134
		echo $image_meta_ratees." images ont raté l'extraction de metadonnées \n";
-
 
135
		echo $images_inexistantes." images n'existent pas en tant que fichier \n";
-
 
136
	}
-
 
137
	
-
 
138
	private function getCheminImage($id) {
-
 
139
		$chemin_base = Config::get('dossierImages');
-
 
140
				
-
 
141
		$id = sprintf('%09s', $id);
-
 
142
		$id = wordwrap($id, 3 , '_', true);
-
 
143
		
-
 
144
		list($dossierNiveau1, $dossierNiveau2) = explode('_', $id);
-
 
145
		
-
 
146
		$chemin = $chemin_base.$dossierNiveau1.'/'.$dossierNiveau2.'/O/'.$id.'_O.jpg';
-
 
147
		
-
 
148
		return $chemin;
-
 
149
	}
98
	
150
	
99
	protected function reparerLiaisonsOublieesObs() {
151
	protected function reparerLiaisonsOublieesObs() {
100
		// Toutes les liaisons obs-motscles avec l'id utilisateur issu de la table cel obs car 
152
		// Toutes les liaisons obs-motscles avec l'id utilisateur issu de la table cel obs car 
101
		// dans la table de liaison il est souvent vide 
153
		// dans la table de liaison il est souvent vide 
102
		$requete_liaisons = "SELECT com.id_observation, com.id_mot_cle_obs, co.ce_utilisateur ".
154
		$requete_liaisons = "SELECT com.id_observation, com.id_mot_cle_obs, co.ce_utilisateur ".