diff --git a/library/Class/Systeme/Report.php b/library/Class/Systeme/Report.php index 2b0dd27db79e1fffdbee2e518f2be6ee42fc54f7..0d15562a709c36e6ba0f7e0fb3664223f33f5bce 100644 --- a/library/Class/Systeme/Report.php +++ b/library/Class/Systeme/Report.php @@ -168,19 +168,21 @@ class Class_Systeme_Report_DigitalConnectors extends Class_Systeme_Report_Abstra 'features' => $this->_('Fonctionnalités'), 'album_count' => $this->_('Nombre d\'albums')]); - foreach ((new Class_WebService_BibNumerique_Connectors())->getDescription() as $key => $description) { - unset($description['url']); - unset($description['image_url']); - unset($description['desc']); - unset($description['sales_contact']); + array_map(function($description) use ($visitor) { $this->_reportConnector($visitor, $description); }, + (new Class_WebService_BibNumerique_Connectors())->getDescription()); + } - if ($description['enabled'] && $description['doctype_id'] && in_array('HARVEST', $description['features'])) - $description['album_count'] = Class_Album::countBy(['type_doc_id' => $description['doctype_id']]); - unset($description['doctype_id']); + protected function _reportConnector($visitor, $description) { + $album_count = 0; + if ($description['doctype_id'] && in_array('HARVEST', $description['features'])) + $album_count = Class_Album::countBy(['type_doc_id' => $description['doctype_id']]); - $visitor->visitRecordValues($description); - } + if ($description['enabled'] || $album_count) + $visitor->visitRecordValues(['label' => $description['label'], + 'enabled' => $description['enabled'] ? '1' : '0', + 'features' => $description['features'], + 'album_count' => $album_count]); } }