2namespace Bitrix\Im\Model;
4use Bitrix\Im\Model\ChatTable;
5use Bitrix\Im\Model\MessageTable;
6use Bitrix\Main\ORM\Data\DataManager;
7use Bitrix\Main\ORM\Data\Internal\DeleteByFilterTrait;
8use Bitrix\Main\ORM\Fields\BooleanField;
9use Bitrix\Main\ORM\Fields\DatetimeField;
10use Bitrix\Main\ORM\Fields\IntegerField;
11use Bitrix\Main\ORM\Fields\Relations\Reference;
12use Bitrix\Main\ORM\Fields\StringField;
13use Bitrix\Main\ORM\Fields\TextField;
14use Bitrix\Main\ORM\Fields\Validators\LengthValidator;
15use Bitrix\Main\ORM\Query\Join;
16use Bitrix\Main\ORM\Query\Query;
17use Bitrix\Main\Search\Content;
18use Bitrix\Main\Type\DateTime;
19use Bitrix\Main\UrlPreview\UrlMetadataTable;
53 use DeleteByFilterTrait {
64 return 'b_im_link_url';
79 'autocomplete' =>
true,
93 'validation' => [__CLASS__,
'validateUrl'],
104 'default_value' =>
static function() {
117 'values' =>
array(
'N',
'Y'),
119 'default_value' =>
false,
124 UrlMetadataTable::class,
125 Join::on(
'this.PREVIEW_URL_ID',
'ref.ID')
126 ))->configureJoinType(Join::TYPE_LEFT),
130 Join::on(
'this.MESSAGE_ID',
'ref.ID')
131 ))->configureJoinType(Join::TYPE_INNER),
135 Join::on(
'this.CHAT_ID',
'ref.ID')
136 ))->configureJoinType(Join::TYPE_INNER),
140 Join::on(
'this.AUTHOR_ID',
'ref.ID')
141 ))->configureJoinType(Join::TYPE_INNER)
159 LinkUrlIndexTable::deleteByParentFilter(
$filter);
160 static::defaultDeleteByFilter(
$filter);
165 $preparedSearchString = LinkUrlIndexTable::prepareSearchString($searchString);
166 if (Content::canUseFulltextSearch($preparedSearchString))
168 $query->registerRuntimeField(
171 LinkUrlIndexTable::class,
172 Join::on(
'this.ID',
'ref.URL_ID')
173 ))->configureJoinType(Join::TYPE_INNER)
176 $query->whereMatch(
'INDEX.SEARCH_CONTENT', $preparedSearchString);
static deleteByFilter(array $filter)
static withSearchByUrl(Query $query, string $searchString)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)