39 return 'b_mail_blacklist';
47 return BlacklistEmail::class;
54 'data_type' =>
'integer',
56 'autocomplete' =>
true,
59 'data_type' =>
'string',
63 'data_type' =>
'integer',
66 'data_type' =>
'integer',
69 'data_type' =>
'integer',
73 'data_type' =>
'string',
75 'fetch_data_modification' =>
function ()
82 $value = sprintf(
'@%s', $value);
99 $DB->query(sprintf(
"DELETE FROM b_mail_blacklist WHERE MAILBOX_ID = %u", $mailboxId));
103 $DB->query(sprintf(
"DELETE FROM b_mail_blacklist WHERE SITE_ID = '%s' AND MAILBOX_ID = 0",
$DB->forSql(
$siteId)));
108 foreach ($list as $item)
112 'MAILBOX_ID' => $mailboxId,
113 'ITEM_TYPE' =>
Blacklist\ItemType::resolveByValue($item),
114 'ITEM_VALUE' => $item,
136 $sqlHelper = Application::getConnection()->getSqlHelper();
138 foreach ($list as $index => $item)
145 'ITEM_VALUE' => $item,
147 $addList[] = $itemToAdd;
150 if (
count($addList) === 0)
154 $keys = implode(
', ', array_keys(current($addList)));
156 foreach ($addList as $item)
161 "'" . $sqlHelper->forSql($item[
'SITE_ID']) .
"'",
162 (
int)$item[
'MAILBOX_ID'],
163 (
int)$item[
'USER_ID'],
165 "'" . $sqlHelper->forSql($item[
'ITEM_VALUE']) .
"'",
169 $values = implode(
'), (', $values);
171 $tableName = static::getTableName();
172 $sql = $sqlHelper->getInsertIgnore($tableName,
"($keys)",
" VALUES($values)");
173 Application::getConnection()->query($sql);
174 return Application::getConnection()->getAffectedRowsCount();
188 if (!empty($userMailboxes))
190 $mailboxesIds = array_column($userMailboxes,
'ID');
191 if ($includeAddressesForAllUsers)
196 '@MAILBOX_ID' => $mailboxesIds,
200 $newStyleAddressesFilter = [];
202 $newStyleAddressesFilter[
'=MAILBOX_ID'] = 0;
204 if ($includeAddressesForAllUsers)
208 $newStyleAddressesFilter[
'@USER_ID'] = $userIds;
209 $mailsQuery = \Bitrix\Mail\BlacklistTable::query()
211 $filter[] = $newStyleAddressesFilter;
212 return $mailsQuery->setFilter([
$filter]);
220 'DELETE FROM %s WHERE %s',
222 Query::buildFilterSql(
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static resolveByValue($value)
static deleteList($filter)
static getUserAddressesListQuery($userId, $includeAddressesForAllUsers=true)
static addMailsBatch(array $list, $userId=null)
static replace($siteId, $mailboxId, array $list)
static getUserMailboxes($userId=null, bool $onlyIds=false)
static loadMessages($file)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"