Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1862 Rev 1875
Line 43... Line 43...
43
		}
43
		}
Line 44... Line 44...
44
		
44
		
45
		// renvoi du résultat vers la sortie php
45
		// renvoi du résultat vers la sortie php
46
		// car le script est surtout destiné à être appelé par un web service
46
		// car le script est surtout destiné à être appelé par un web service
-
 
47
		echo $resultat;
47
		echo $resultat;
48
		exit;
Line 48... Line 49...
48
	}
49
	}
49
	
50
	
50
	private function initialiserScript() {
51
	private function initialiserScript() {
Line 135... Line 136...
135
	}
136
	}
Line 136... Line 137...
136
	
137
	
137
	private function stockerAuteursPourLiaisons($infos_auteurs, $nom_complet_publication) {
138
	private function stockerAuteursPourLiaisons($infos_auteurs, $nom_complet_publication) {
138
		// Découpage des différents auteurs 
139
		// Découpage des différents auteurs 
-
 
140
		$auteurs_tab = explode(',', $infos_auteurs);
139
		$auteurs_tab = explode(',', $infos_auteurs);
141
		$auteurs_tab = array_filter($auteurs_tab);
140
		foreach($auteurs_tab as $auteur) {
142
		foreach($auteurs_tab as $auteur) {
141
			// si les infos auteurs sont un tableau dans le cache alors son id existe bien en base de données
143
			// si les infos auteurs sont un tableau dans le cache alors son id existe bien en base de données
142
			if(is_array($this->cache_auteur[$auteur])) {
144
			if(is_array($this->cache_auteur[$auteur])) {
143
				// ajout d'une correspondance entre le nom complet de la publi et l'auteur (pour liaison ultérieure)
145
				// ajout d'une correspondance entre le nom complet de la publi et l'auteur (pour liaison ultérieure)
Line 225... Line 227...
225
		
227
		
226
		return $fmt_nom_complet;
228
		return $fmt_nom_complet;
Line 227... Line 229...
227
	}
229
	}
-
 
230
	
-
 
231
	private function insererPublications(&$colonnes, &$publications) {
-
 
232
		
-
 
233
		// Une insertion par tranche de 1000 permet d'insérer sans avoir de mysql
-
 
234
		// timeout qui nécessite de réveiller la connexion de temps en temps.
-
 
235
		// TODO: transactions ?
-
 
236
		$tranches_publis = array_chunk($publications, 1000);
-
 
237
		$nb_publis_inserees = 0; 
-
 
238
		
228
	
239
		foreach($tranches_publis as $tranche) {
229
	private function insererPublications(&$colonnes, &$publications) {
240
		
230
		$requete = "INSERT INTO ".$this->table_publication." ".
241
			$requete = "INSERT INTO ".$this->table_publication." ".
-
 
242
					   	"(".implode(',', $colonnes).") ".
-
 
243
					   "VALUES ".implode(","."\n", $tranche)."\n";
-
 
244
			
Line 231... Line 245...
231
				   	"(".implode(',', $colonnes).") ".
245
			$nb_publis_inserees += $this->bdd->executer($requete);
232
				   "VALUES ".implode(","."\n", $publications)."\n";
246
		}
Line 233... Line 247...
233
 
247
 
234
		return $this->bdd->executer($requete);
248
		return $nb_publis_inserees;
235
	}
249
	}
Line 249... Line 263...
249
	
263
	
250
	private function traiterChampAuteur($auteur_intitule) {
264
	private function traiterChampAuteur($auteur_intitule) {
251
		$auteurs_fmt = array();
265
		$auteurs_fmt = array();
252
		$auteurs_tab = explode(',', $auteur_intitule);
266
		$auteurs_tab = explode(',', $auteur_intitule);
-
 
267
		foreach($auteurs_tab as $auteur) {
253
		foreach($auteurs_tab as $auteur) {
268
			if(!empty(trim($auteur))) {
-
 
269
				$auteurs_fmt[] = $this->obtenirInfosAuteur($auteur);
254
			$auteurs_fmt[] = $this->obtenirInfosAuteur($auteur);
270
			}
Line 255... Line 271...
255
		}
271
		}
256
		
272