![]() 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/mageworx/module-seoredirects/Observer/DpRedirect/ |
<?php /** * Copyright © MageWorx. All rights reserved. * See LICENSE.txt for license details. */ namespace MageWorx\SeoRedirects\Observer\DpRedirect; use MageWorx\SeoRedirects\Model\ResourceModel\Redirect\DpRedirect as DpRedirectResource; use MageWorx\SeoRedirects\Model\ResourceModel\Redirect\DpRedirect\CollectionFactory as DpRedirectCollectionFactory; use MageWorx\SeoRedirects\Helper\DpRedirect\Data as HelperData; use MageWorx\SeoAll\Helper\Store as HelperStore; class RemoveOldRedirects { /** * @var DpRedirectCollectionFactory */ protected $dpRedirectCollectionFactory; /** * @var HelperData */ protected $helperData; /** * @var DpRedirectResource */ protected $dpRedirectResource; /** * @var HelperStore */ protected $helperStore; /** * RemoveOldRedirects constructor. * * @param DpRedirectResource $dpRedirectResource * @param DpRedirectCollectionFactory $dpRedirectCollectionFactory * @param HelperData $helperData * @param HelperStore $helperStore */ public function __construct( DpRedirectResource $dpRedirectResource, DpRedirectCollectionFactory $dpRedirectCollectionFactory, HelperData $helperData, HelperStore $helperStore ) { $this->dpRedirectResource = $dpRedirectResource; $this->dpRedirectCollectionFactory = $dpRedirectCollectionFactory; $this->helperData = $helperData; $this->helperStore = $helperStore; } /** * @throws \Exception */ public function delete() { $liveInterval = $this->helperData->getCountStableDay(); if ($liveInterval <= 0) { return; } $where = new \Zend_Db_Expr('`date_created` < DATE_ADD(NOW(), INTERVAL ' . -$liveInterval . ' DAY)'); foreach ($this->helperStore->getActiveStores() as $store) { if ($this->helperData->isEnabled($store->getId())) { $redirectCollection = $this->dpRedirectCollectionFactory->create(); $redirectCollection->addFieldToFilter('store_id', $store->getId()); $redirectCollection->getSelect()->where($where); foreach ($redirectCollection as $redirect) { $this->dpRedirectResource->delete($redirect); } } } return; } }