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