From 4664b779371a1497134b77c771a7d4eef2f775ec Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Tue, 27 Aug 2019 11:21:42 +0200
Subject: [PATCH] Refactor e gestione di extensions multiple su stesso filtro

---
 src/Vola/UploadFile/FilterExt.class.php   |    5 +++++
 src/Vola/UploadFile/FilesFilter.class.php |   18 +++++++++++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/src/Vola/UploadFile/FilesFilter.class.php b/src/Vola/UploadFile/FilesFilter.class.php
index 6172a18..c0956d4 100644
--- a/src/Vola/UploadFile/FilesFilter.class.php
+++ b/src/Vola/UploadFile/FilesFilter.class.php
@@ -11,7 +11,15 @@
 
     public function toJson()
     {
-        return json_encode($this->filtro);
+
+        $temp = array ();
+
+        /** @var FilterExt $filtro */
+        foreach ($this->filtro as $filtro){
+            $temp[] = $filtro->getFilterObj();
+        }
+
+        return json_encode($temp);
     }
 
     public function addExt($extension = '')
@@ -19,8 +27,12 @@
         if ($extension != '') {
             $titolo = $this->decodeTitolo($extension);
             if ($titolo != null) {
-                $filtro = new FilterExt($titolo, $extension);
-                $this->filtro[] = json_decode($filtro->getFilter());
+                if($this->filtro[$titolo] instanceof FilterExt){
+                    $this->filtro[$titolo]->addExt($extension);
+                } else {
+                    $filtro = new FilterExt($titolo, $extension);
+                    $this->filtro[$titolo] = $filtro;
+                }
             }
         }
         return $this;
diff --git a/src/Vola/UploadFile/FilterExt.class.php b/src/Vola/UploadFile/FilterExt.class.php
index 4de5dc6..6a379e2 100644
--- a/src/Vola/UploadFile/FilterExt.class.php
+++ b/src/Vola/UploadFile/FilterExt.class.php
@@ -52,4 +52,9 @@
     {
         return $this->titolo;
     }
+
+    public function getFilterObj()
+    {
+        return json_decode($this->getFilter());
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0