4use Bitrix\Im\Model\AliasTable;
6use Bitrix\Main\Type\DateTime;
26 $entityType =
$fields[
'ENTITY_TYPE'];
41 $result = \Bitrix\Im\Model\AliasTable::add(Array(
43 'ENTITY_TYPE' => $entityType,
71 'LINK' => self::getPublicLink(
$fields[
'ENTITY_TYPE'], $alias)
92 if (isset(
$fields[
'ENTITY_TYPE']))
94 $update[
'ENTITY_TYPE'] =
$fields[
'ENTITY_TYPE'];
96 if (isset(
$fields[
'ENTITY_ID']))
98 $update[
'ENTITY_ID'] =
$fields[
'ENTITY_ID'];
104 $oldRecord = AliasTable::getByPrimary($id)->fetch();
105 \Bitrix\Im\Model\AliasTable::update($id, $update);
106 if ((
int)$oldRecord[
'ENTITY_ID'] !== 0)
112 && (
int)
$fields[
'ENTITY_ID'] !== (
int)$oldRecord[
'ENTITY_ID']
113 && (
int)
$fields[
'ENTITY_ID'] !== 0
122 public static function delete($id,
$filter = self::FILTER_BY_ID)
124 if (
$filter == self::FILTER_BY_ALIAS)
132 $aliasData = AliasTable::getByPrimary($id)->fetch();
135 $result = \Bitrix\Im\Model\AliasTable::delete((
int)$aliasData[
'ID']);
141 public static function get($alias)
149 $query = \Bitrix\Im\Model\AliasTable::query();
154 $alias =
$connection->getSqlHelper()->forSql($alias);
157 ->whereExpr(
"LOWER(%s) = LOWER('{$alias}')", [
'ALIAS'])
164 ->where(
'ALIAS', $alias)
182 $query = \Bitrix\Im\Model\AliasTable::query();
192 $query->whereExpr(
"LOWER(%s) = LOWER('{$code}')", [
'ALIAS']);
199 return $query->exec()->fetch();
204 $result = \Bitrix\Im\Model\AliasTable::getList(Array(
205 'filter' => [
'=ENTITY_TYPE' => $entityType,
'=ENTITY_ID' =>
$entityId]
220 $alias = preg_replace(
"/[^\.\-0-9a-zA-Z]+/",
"", $alias);
221 $alias = mb_substr($alias, 0, 255);
230 if (
$type === self::ENTITY_TYPE_VIDEOCONF)
234 else if (
$type === self::ENTITY_TYPE_LIVECHAT)
239 return \Bitrix\Im\Common::getPublicDomain() .
$path . $alias;
244 if (\
Bitrix\
Main\Loader::includeModule(
'security'))
246 return \Bitrix\Main\Security\Random::getString(8,
true);
250 return mb_substr(uniqid(),-8);
256 if ($entityType !== self::ENTITY_TYPE_USER)
const ENTITY_TYPE_LIVECHAT
static getByIdAndCode($id, $code)
const ENTITY_TYPE_VIDEOCONF
static update($id, $fields)
static addUnique(array $fields)
static cleanChatCache(string $entityType, int $entityId)
static getByEntity($entityType, $entityId)
const ENTITY_TYPE_OPEN_LINE
static prepareAlias($alias)
static getPublicLink($type, $alias)
static add(array $fields)
static getConnection($name="")
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code