31,7 → 31,8 |
const SCRIPT_NOM = 'algolia'; |
|
public $parametres = array( |
'-ref' => array(false, false, 'Celui qui lit ça est un con') |
'-ref' => array(false, false, 'Celui qui lit ça est un con'), |
'-update' => array(false, false, 'Timestamp de la dernière mise à jour (YYYY-MM-DD)') |
); |
|
/** connexion PDO à la BDD "referentiels" */ |
64,6 → 65,10 |
var_dump($idsexistants); |
exit;*/ |
|
if ($this->getParam('update')) { |
$this->miseAJourPartielle($this->getParam('update')); |
} |
|
// Réglages de l'index @TODO tenir à jour |
if ($this->confirmer("Charger les réglages par défaut (index_settings.json) dans la configuration de l'index Algolia ?")) { |
// Chargement des réglages par défaut |
278,7 → 283,7 |
); |
// dans le cas de BDTFX, ajout de l'illustration de Coste et de |
// la carte Chorodep pour illustrer les résultats de recherche |
if ($ref == "bdtfx" && (Config::get("activer_image_coste") == "1")) { |
if (Config::get("activer_image_cel") == "1") { |
$this->ajouterImagesEflore($nn, $donneesRef); |
} |
|
351,6 → 356,67 |
} |
} |
|
/** |
* Met à jour les images d'illustration |
*/ |
protected function miseAJourPartielle($date) { |
try { |
$date = new DateTime($date); |
$date = $date->format('Y-m-d'); |
} catch (Exception $e) { |
die($e->getMessage()); |
} |
|
// récupération des nn mis à jour |
$sql = 'SELECT DISTINCT nn FROM del_image_top WHERE date_vote > ' . $date . ';'; |
$requete = $this->requete($sql); |
$nns = $requete->fetchAll(); |
// var_dump($nns); die(); |
|
$donnees = array(); |
foreach ($nns as $nn) { |
// récup des infos depuis le service d'images du cel |
$retour = @file_get_contents($sprintf(Config::get('url_template_cel'), $nn)); |
if ($retour) { |
try { |
$infosCel = json_decode($retour, true); |
if (! empty($infosCel['resultat']) && is_array($infosCel['resultat'])) { |
foreach($infosCel['resultat'] as $organe => $imageSrc) { |
$donnees[$nn]['thumbnails']['cel'][$organe] = $imageSrc; |
} |
// var_dump($donnees); die(); |
|
$response = $index->getObjects([$nn], ['objectID', 'nomenclatural_number', 'thumbnails']); |
$response = json_decode($response, true); |
// var_dump($response); die(); |
if (isset($response['results'])) { |
$results = array_reduce($response['results'], function($carry, $item) use ($nn) { |
if ($item['nomenclatural_number'] == $nn) { |
$carry[] = $item; |
} |
return $carry; |
}); |
// var_dump($results); die(); |
|
if (count($results) == 1) { |
unset($results['thumbnails']['cel']); |
$results = array_merge($results, $donnees[$nn]); |
$index->partialUpdateObject([ |
'thumbnails' => $results['thumbnails'], |
'objectID' => $results['objectID'] |
]); |
} |
|
} |
} |
} catch (Exception $e) { |
die(var_dump($e)); |
} |
} |
} |
|
} |
|
// ---------------- utilitaires -------------------------------------------- |
|
protected function extrait($index, $clefsOuNombre) { |