From 372620839ea0754c8e09fd822c0a01c8418e6895 Mon Sep 17 00:00:00 2001 From: Rekryt Date: Thu, 5 Sep 2024 16:29:53 +0300 Subject: [PATCH] fix: use groups for mikrotik lists names, update script format --- src/App/Controller/MikrotikController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/App/Controller/MikrotikController.php b/src/App/Controller/MikrotikController.php index f4cb44d..02a439f 100644 --- a/src/App/Controller/MikrotikController.php +++ b/src/App/Controller/MikrotikController.php @@ -32,11 +32,14 @@ class MikrotikController extends AbstractIPListController { '/ip firewall address-list', ]); $items = []; + $entries = []; foreach ($groupSites as $siteName => $siteEntity) { if (count($sites) && !in_array($siteName, $sites)) { continue; } - $items = array_merge($items, $this->generateList($siteEntity, $siteEntity->$data)); + $filteredItems = array_filter($siteEntity->$data, fn(string $row) => !in_array($row, $entries)); + $items = array_merge($items, $this->generateList($siteEntity, $filteredItems)); + $entries = array_merge($entries, $filteredItems); } $items = SiteFactory::normalizeArray($items, in_array($data, ['ip4', 'ip6', 'cidr4', 'cidr6'])); $items[count($items) - 1] = $items[count($items) - 1] . ';';