![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/amasty/product-attachment/Model/Healthcheck/ |
<?php declare(strict_types=1); /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Product Attachments Base for Magento 2 */ namespace Amasty\ProductAttachment\Model\Healthcheck; use Amasty\ProductAttachment\Model\File\FileType\TypeProcessorProvider; class InvalidLinksProvider { public const ID = 'id'; public const URL = 'url'; public const RESPONSE = 'response'; /** * @var TypeProcessorProvider */ private $typeProcessorProvider; /** * @var array */ private $invalidLinks = []; public function __construct( TypeProcessorProvider $typeProcessorProvider ) { $this->typeProcessorProvider = $typeProcessorProvider; } /** * @return array [ * 'linkKey'=>['id'=>'fileId','url'=>'fileUrl','response'=>'statusCode: reasonPhrase'], * 'otherlinkKey'=>[...] * ] */ public function getInvalidLinks(): array { if (empty($this->invalidLinks)) { $this->collect(); } return $this->invalidLinks; } private function collect(): void { foreach ($this->typeProcessorProvider->getTypeCodes() as $typeCode => $type) { $invalidLinks = $this->typeProcessorProvider->getProcessorByType($typeCode)->collectInvalidLinks(); // phpcs:ignore Magento2.Performance.ForeachArrayMerge.ForeachArrayMerge $this->invalidLinks = array_merge($this->invalidLinks, $invalidLinks); } } }