119,26 → 119,31 |
|
|
// utilisée uniquement par ListeImages.php |
static function reformateImagesSimpleIndex($obs, $url_pattern = '') { |
static function reformateImagesDoubleIndex($obs, $url_pattern = '', $image_format = 'XL') { |
// XXX: cf Observation.php::consulter(), nous pourriouns ici |
// conserver les valeurs vides (pour les phptests notamment, ou non) |
$obs = array_map('array_filter', $obs); |
$obs_merged = array(); |
// $obs = array_map('array_filter', $obs); |
$obs_merged = $obs_keyed_by_id_image = array(); |
foreach($obs as $o) { |
// $id = $o['jsonindex']; // non, ça nous complique la tâche, |
// faisons ça à la fin. |
$id = $o['id_image']; |
// ceci nous complique la tâche pour le reste du processing... |
$id = $o['jsonindex']; |
// ainsi nous utilisons deux tableaux: le final, indexé par couple d'id(image-obs) |
// et celui indexé par simple id_image qui est fort utile pour mapVotesToImages() |
// mais tout deux partage leur référence à "protocole" |
$image = array( |
'id_image' => $o['id_image'], |
'binaire.href' => sprintf($url_pattern, $o['id_image']), |
'mots_cles_texte' => $o['i_mots_cles_texte'], |
'jsonindex' => $o['jsonindex'], // tmp |
'binaire.href' => sprintf($url_pattern, $o['id_image'], $image_format), |
'mots_cles_texte' => @$o['i_mots_cles_texte'], // @, peut avoir été filtré par array_map() ci-dessus |
); |
unset($o['id_image'], $o['i_mots_cles_texte'], $o['jsonindex']); |
if(!isset($obs_merged[$id])) $obs_merged[$id] = $image; |
$obs_merged[$id]['observation'] = $o; |
$obs_merged[$id]['protocoles_votes'] = array(); |
|
$obs_keyed_by_id_image[$image['id_image']]['protocoles_votes'] = &$obs_merged[$id]['protocoles_votes']; |
} |
return $obs_merged; |
|
return array($obs_merged,$obs_keyed_by_id_image); |
} |
|
/** |