403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/catalog/lib/update/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/catalog/lib/update/documentfilescleanup.php
<?php

namespace Bitrix\Catalog\Update;

use Bitrix\Catalog\StoreDocumentFileTable;

class DocumentFilesCleanup
{
	public static function execAgent(): string
	{
		$connection = \Bitrix\Main\Application::getConnection();
		$helper = $connection->getSqlHelper();
		$queryResult = $connection->query('
			select doc_files.ID, FILE_ID from b_catalog_store_document_file doc_files
			left outer join b_catalog_store_docs docs
			on docs.ID = doc_files.DOCUMENT_ID
			where docs.ID is null
			limit 50
		');
		$documentFiles = $queryResult->fetchAll();

		if (empty($documentFiles))
		{
			return '';
		}

		$filesToRemove = array_column($documentFiles, 'FILE_ID');
		$entriesToRemove = array_column($documentFiles, 'ID');

		foreach ($filesToRemove as $fileId)
		{
			\CFile::Delete($fileId);
		}

		$entriesForQuery = implode(',', $entriesToRemove);

		$connection->queryExecute(
			'delete from ' . $helper->quote(StoreDocumentFileTable::getTableName())
			. ' where ' . $helper->quote('ID') . ' in (' . $entriesForQuery . ')'
		);

		$isCleanupOver = !(bool)$connection->query('
			select doc_files.ID, FILE_ID from b_catalog_store_document_file doc_files
			left outer join b_catalog_store_docs docs
			on docs.ID = doc_files.DOCUMENT_ID
			where docs.ID is null
			limit 1
		')->fetch();

		if ($isCleanupOver)
		{
			return '';
		}

		return '\Bitrix\Catalog\Update\DocumentFilesCleanup::execAgent();';
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit