Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1874 → Rev 1875

/trunk/scripts/modules/import/Import.php
45,6 → 45,7
// renvoi du résultat vers la sortie php
// car le script est surtout destiné à être appelé par un web service
echo $resultat;
exit;
}
private function initialiserScript() {
137,6 → 138,7
private function stockerAuteursPourLiaisons($infos_auteurs, $nom_complet_publication) {
// Découpage des différents auteurs
$auteurs_tab = explode(',', $infos_auteurs);
$auteurs_tab = array_filter($auteurs_tab);
foreach($auteurs_tab as $auteur) {
// si les infos auteurs sont un tableau dans le cache alors son id existe bien en base de données
if(is_array($this->cache_auteur[$auteur])) {
227,11 → 229,23
}
private function insererPublications(&$colonnes, &$publications) {
$requete = "INSERT INTO ".$this->table_publication." ".
"(".implode(',', $colonnes).") ".
"VALUES ".implode(","."\n", $publications)."\n";
// Une insertion par tranche de 1000 permet d'insérer sans avoir de mysql
// timeout qui nécessite de réveiller la connexion de temps en temps.
// TODO: transactions ?
$tranches_publis = array_chunk($publications, 1000);
$nb_publis_inserees = 0;
foreach($tranches_publis as $tranche) {
$requete = "INSERT INTO ".$this->table_publication." ".
"(".implode(',', $colonnes).") ".
"VALUES ".implode(","."\n", $tranche)."\n";
$nb_publis_inserees += $this->bdd->executer($requete);
}
 
return $this->bdd->executer($requete);
return $nb_publis_inserees;
}
private function traiterChamp($valeur, $role) {
251,7 → 265,9
$auteurs_fmt = array();
$auteurs_tab = explode(',', $auteur_intitule);
foreach($auteurs_tab as $auteur) {
$auteurs_fmt[] = $this->obtenirInfosAuteur($auteur);
if(!empty(trim($auteur))) {
$auteurs_fmt[] = $this->obtenirInfosAuteur($auteur);
}
}
return implode(', ', $auteurs_fmt);