Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1397 → Rev 1398

/trunk/services/modules/0.1/observations/ListeObservations2.php
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);
}
 
/**