8 $schema = \Bitrix\Main\Context::getCurrent()->getRequest()->isHttps()?
"https" :
"http";
10 if (defined(
"SITE_SERVER_NAME") && SITE_SERVER_NAME <>
'')
12 $domain = SITE_SERVER_NAME;
16 $domain = \Bitrix\Main\Config\Option::get(
"main",
"server_name",
'');
19 $domain = $_SERVER[
'SERVER_NAME'].(in_array($_SERVER[
'SERVER_PORT'], Array(80, 443))?
'':
':'.$_SERVER[
'SERVER_PORT']);
23 return $schema.
"://".$domain;
28 if (is_array($params))
30 array_walk_recursive($params,
function(&$value, $key)
34 $value = date(
'c', $value->getTimestamp());
36 else if (is_string($key) && in_array($key, [
'AVATAR',
'AVATAR_HR']) && is_string($value) && $value && mb_strpos($value,
'http') !== 0)
38 $value = \Bitrix\Im\Common::getPublicDomain().$value;
51 $option = JSON_UNESCAPED_UNICODE;
54 return \Bitrix\Main\Web\Json::encode($array, $option);
59 return '/'.mb_substr(md5($id), 2, 2).
'/'.intval($id);
64 return $id && preg_match(
'/^(chat|sg|crm)[0-9]{1,}$/i', $id);
69 return $id && preg_match(
'/^([0-9]{1,}|(chat|sg|crm)[0-9]{1,})$/i', $id);
74 if (is_null($userId) && is_object($GLOBALS[
'USER']))
76 $userId = $GLOBALS[
'USER']->getId();
79 $userId = intval($userId);
88 public static function toJson($array, $camelCase =
true)
91 foreach ($array as $field => $value)
99 $value = date(
'c', $value->getTimestamp());
101 else if (is_string($value) && $value && is_string($field) && in_array($field, Array(
'AVATAR')) && mb_strpos($value,
'http') !== 0)
103 $value = \Bitrix\Im\Common::getPublicDomain().$value;
108 $field = lcfirst(\
Bitrix\Main\
Text\StringHelper::snake2camel($field));
112 $field = mb_strtolower($field);
115 $result[$field] = $value;
123 return \Bitrix\Im\Model\UserTable::filterExternalUserTypes($skipTypes);
129 'revision_im_web' => \Bitrix\Im\Revision::getWeb(),
130 'revision_im_mobile' => \Bitrix\Im\Revision::getMobile(),
131 'revision_im_rest' => \Bitrix\Im\Revision::getRest(),
133 'im_revision' => \Bitrix\Im\Revision::getWeb(),
134 'im_revision_mobile' => \Bitrix\Im\Revision::getMobile(),
static getExternalAuthId($skipTypes=[])
static toJson($array, $camelCase=true)
static objectEncode($params, $pureJson=false)
static jsonEncode($array=[])
static getCacheUserPostfix($id)
static getUserId($userId=null)