From cc4bd84f61f1afb3f2b1fc7c26e039a322e68b98 Mon Sep 17 00:00:00 2001 From: llaffont <llaffont@afi-sa.fr> Date: Fri, 16 Dec 2016 15:53:38 +0100 Subject: [PATCH] dev #50182 reporting : digital connectors displayed when activated or album count > 0 --- library/Class/Systeme/Report.php | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/library/Class/Systeme/Report.php b/library/Class/Systeme/Report.php index 2b0dd27db79..0d15562a709 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]); } } -- GitLab