9namespace Bitrix\Socialservices;
12use Bitrix\Main\ErrorCollection;
13use Bitrix\Main\Loader;
14use Bitrix\Main\Localization\Loc;
15use Bitrix\Main\Config\Option;
18Loc::loadMessages(__FILE__);
85 $this->errorCollection[] =
new Error(Loc::getMessage(
'B24NET_NETWORK_IN_NOT_ENABLED_MSGVER_1'), self::ERROR_NETWORK_IN_NOT_ENABLED);
101 $this->errorCollection[] =
new Error(Loc::getMessage(
'B24NET_NETWORK_IN_NOT_ENABLED_MSGVER_1'), self::ERROR_NETWORK_IN_NOT_ENABLED);
111 public function getUser($networkId, $lastSearch =
'')
124 public function getUsers($networkIds, $lastSearch =
'')
128 $this->errorCollection[] =
new Error(Loc::getMessage(
'B24NET_NETWORK_IN_NOT_ENABLED_MSGVER_1'), self::ERROR_NETWORK_IN_NOT_ENABLED);
135 $this->errorCollection[] =
new Error(Loc::getMessage(
'B24NET_SOCSERV_TRANSPORT_ERROR_MSGVER_1'), self::ERROR_SOCSERV_TRANSPORT);
139 if (!is_array($networkIds) || empty($networkIds))
141 $this->errorCollection[] =
new Error(Loc::getMessage(
'B24NET_ERROR_INCORRECT_PARAMS'), self::ERROR_INCORRECT_PARAMS);
145 $queryResult =
$query->call(
'profile.search',
array(
146 'ID' => array_values($networkIds),
147 'QUERY' => trim($lastSearch)
151 foreach ($queryResult[
'result'] as
$user)
162 $this->errorCollection[] =
new Error(Loc::getMessage(
'B24NET_SEARCH_USER_NOT_FOUND'), self::ERROR_SEARCH_USER_NOT_FOUND);
205 foreach ($users as $networkId =>
$userId)
209 $networkIds = array_diff($networkIds, array_keys($users));
211 if (!empty($networkIds))
213 $users = $this->
getUsers($networkIds, $lastSearch);
219 foreach ($users as $networkId => $userParams)
243 $photo = \CFile::MakeFileArray(
$params[
'PERSONAL_PHOTO_ORIGINAL']);
246 if(Loader::includeModule(
'extranet'))
248 $groups[] = \CExtranet::GetExtranetUserGroupID();
252 'LOGIN' =>
$params[
'NETWORK_USER_ID'].
'@'.
$params[
'CLIENT_DOMAIN'],
255 'LAST_NAME' =>
$params[
'LAST_NAME'],
256 'SECOND_NAME' =>
$params[
'SECOND_NAME'],
257 'PERSONAL_GENDER' =>
$params[
'PERSONAL_GENDER'],
258 'PERSONAL_PHOTO' => $photo,
259 'WORK_POSITION' =>
$params[
'CLIENT_DOMAIN'],
261 'EXTERNAL_AUTH_ID' => self::EXTERNAL_AUTH_ID,
269 $addParams[
'EMAIL'] =
$params[
'EMAIL'];
276 $this->errorCollection[] =
new Error(
$user->LAST_ERROR, self::ERROR_REGISTER_USER);
295 if (!
$user ||
$user[
'EXTERNAL_AUTH_ID'] != self::EXTERNAL_AUTH_ID)
300 list($networkId, ) = explode(
'|',
$user[
'XML_ID']);
324 if (!is_array($networkIds))
327 $searchArray = Array();
328 foreach ($networkIds as $networkId)
330 $searchArray[] = mb_substr($networkId, 0, 1).intval(mb_substr($networkId, 1)).
"|%";
334 'select' => Array(
'ID',
'WORK_PHONE',
'PERSONAL_PHONE',
'PERSONAL_MOBILE',
'UF_PHONE_INNER',
'XML_ID'),
335 'filter' => Array(
'=%XML_ID' => $searchArray,
'=EXTERNAL_AUTH_ID' => self::EXTERNAL_AUTH_ID),
342 list($networkId, ) = explode(
"|",
$user[
'XML_ID']);
343 $users[$networkId] =
$user[
'ID'];
363 if (!empty(
$params[
'PUBLIC_NAME']))
367 else if (!empty(
$params[
'EMAIL']))
381 'LAST_NAME' =>
$params[
'LAST_NAME'],
382 'SECOND_NAME' =>
$params[
'SECOND_NAME'],
383 'PUBLIC_NAME' =>
$params[
'PUBLIC_NAME'],
384 'PERSONAL_GENDER' =>
$params[
'PERSONAL_GENDER'],
385 'PERSONAL_PHOTO' =>
$params[
'PERSONAL_PHOTO_RESIZE'],
386 'PERSONAL_PHOTO_ORIGINAL' =>
$params[
'PERSONAL_PHOTO'],
389 'NETWORK_USER_ID' =>
$params[
'USER_ID'],
390 'REMOTE_USER_ID' =>
$params[
'PROFILE_ID'],
391 'CLIENT_DOMAIN' =>
$params[
'CLIENT_DOMAIN'],
397 public static function getAuthUrl($mode =
"page", $addScope =
null)
399 if(Option::get(
"socialservices",
"bitrix24net_id",
"") !=
"")
401 $o = new \CSocServBitrix24Net();
403 if($addScope !==
null)
405 $o->addScope($addScope);
408 return $o->getUrl($mode);
417 $_SESSION[static::ADMIN_SESSION_KEY] =
$USER->GetID();
427 unset($_SESSION[static::ADMIN_SESSION_KEY]);
433 return \CUserOptions::GetOption(
"socialservices",
"networkPopup",
array(
"dontshow" =>
"N",
"showcount" => 0));
440 $result = !isset($_SESSION[static::ADMIN_SESSION_KEY]) || $_SESSION[static::ADMIN_SESSION_KEY] !==
$USER->GetID();
443 $option = static::getShowOptions();
447 static::setAdminPopupSession();
456 static::$lastUserStatus =
$status;
461 return static::$lastUserStatus;
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static getList(array $parameters=array())
addUserById($networkId, $lastSearch='')
static getUsersId($networkIds)
const ERROR_REGISTER_USER
static getAdminPopupSession()
const ERROR_NETWORK_IN_NOT_ENABLED
addUsersById($networkIds, $lastSearch='')
static getAuthUrl($mode="page", $addScope=null)
static getUserId($networkId)
static formatUserParam($params)
static getLastUserStatus()
const ERROR_SOCSERV_TRANSPORT
getUsers($networkIds, $lastSearch='')
const ERROR_SEARCH_STRING_TO_SHORT
static setAdminPopupSession()
const ERROR_INCORRECT_PARAMS
static clearAdminPopupSession($userId)
static getNetworkId($userId)
const ERROR_SEARCH_USER_NOT_FOUND
getUser($networkId, $lastSearch='')
static setLastUserStatus($status)
static init($networkNode=null)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']