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/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sender; use Bitrix\Main\Access\Entity\DataManager; use Bitrix\Main\Localization\Loc; use Bitrix\Main\ORM\Query\Query; use Bitrix\Main\Type; use Bitrix\Sender\Runtime\SegmentDataClearJob; Loc::loadMessages(__FILE__); /** * Class SegmentDataTable * * DO NOT WRITE ANYTHING BELOW THIS * * <<< ORMENTITYANNOTATION * @method static EO_SegmentData_Query query() * @method static EO_SegmentData_Result getByPrimary($primary, array $parameters = array()) * @method static EO_SegmentData_Result getById($id) * @method static EO_SegmentData_Result getList(array $parameters = array()) * @method static EO_SegmentData_Entity getEntity() * @method static \Bitrix\Sender\EO_SegmentData createObject($setDefaultValues = true) * @method static \Bitrix\Sender\EO_SegmentData_Collection createCollection() * @method static \Bitrix\Sender\EO_SegmentData wakeUpObject($row) * @method static \Bitrix\Sender\EO_SegmentData_Collection wakeUpCollection($rows) */ class SegmentDataTable extends DataManager { /** * @return string */ public static function getTableName() { return 'b_sender_group_data'; } /** * @return array */ public static function getMap() { return array( 'ID' => array( 'data_type' => 'integer', 'autocomplete' => true, 'primary' => true, ), 'GROUP_ID' => array( 'data_type' => 'integer', 'required' => true, ), 'DATE_INSERT' => array( 'data_type' => 'datetime', 'default_value' => new Type\DateTime(), 'required' => true, ), 'CRM_ENTITY_ID' => array( 'data_type' => 'integer', 'required' => false, ), 'FILTER_ID' => array( 'data_type' => 'string', 'required' => true, ), 'NAME' => array( 'data_type' => 'string', 'required' => false, ), 'CRM_ENTITY_TYPE' => array( 'data_type' => 'string', 'required' => false, ), 'CRM_ENTITY_TYPE_ID' => array( 'data_type' => 'integer', 'required' => false, ), 'CONTACT_ID' => array( 'data_type' => 'integer', 'required' => false, ), 'COMPANY_ID' => array( 'data_type' => 'integer', 'required' => false, ), 'EMAIL' => array( 'data_type' => 'string', 'required' => false, ), 'IM' => array( 'data_type' => 'string', 'required' => false, ), 'PHONE' => array( 'data_type' => 'string', 'required' => false, ), 'HAS_EMAIL' => array( 'data_type' => 'string', 'required' => false, ), 'HAS_IMOL' => array( 'data_type' => 'string', 'required' => false, ), 'HAS_PHONE' => array( 'data_type' => 'string', 'required' => false, ), 'SENDER_TYPE_ID' => array( 'data_type' => 'integer', 'required' => false, ), 'GROUP' => array( 'data_type' => 'Bitrix\Sender\GroupTable', 'reference' => array('=this.GROUP_ID' => 'ref.ID'), ), ); } public static function deleteByGroupId(int $groupId) { $entity = static::getEntity(); $connection = $entity->getConnection(); $selectedRows = SegmentDataTable::getList([ 'select' => ['ID'], 'filter' => ['GROUP_ID' => $groupId], 'limit' => 1000, ])->fetchAll(); $idsToDelete = array_column($selectedRows, 'ID'); if (empty($idsToDelete)) { return ''; } $ids = implode(',', $idsToDelete); $sql = "DELETE FROM b_sender_group_data WHERE ID IN ($ids)"; $connection->queryExecute($sql); return SegmentDataClearJob::getAgentName($groupId); } }