- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/lib/userlink.php
- Класс: BitrixSocialservicesUserLinkTable
- Вызов: UserLinkTable::compareUserLinks
static function compareUserLinks($userId, $socservUserId, $links)
{
$dbRes = static::getList(array(
'filter' => array(
//'USER_ID' => $userId, // link USER_ID doesn't update with socserv_user
'=SOCSERV_USER_ID' => $socservUserId,
),
'select' => array('ID', 'LINK_UID')
));
$currentList = array();
while($linkInfo = $dbRes->fetch())
{
$currentList[$linkInfo['LINK_UID']] = $linkInfo['ID'];
}
foreach($links as $key => $link)
{
if(array_key_exists($link['uid'], $currentList))
{
unset($currentList[$link['uid']]);
unset($links[$key]);
}
}
foreach($currentList as $linkId)
{
static::delete($linkId);
}
foreach($links as $link)
{
static::add(array(
'USER_ID' => $userId,
'SOCSERV_USER_ID' => $socservUserId,
'LINK_USER_ID' => null, // !!!!!!
'LINK_UID' => $link['uid'],
'LINK_NAME' => $link['first_name'],
'LINK_LAST_NAME' => $link['last_name'],
'LINK_PICTURE' => $link['picture'],
));
}
}