- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/agent.php
- Класс: BitrixImConnectorAgent
- Вызов: Agent::agentDisconnectConnectorVK
static function agentDisconnectConnectorVK($step = 0, $line = 0)
{
$connector = 'vkgroup';
$statuses = array();
$maxNumberAttempts = 10;
$statusesRaw = Status::getInstanceAllLine($connector);
foreach ($statusesRaw as $status)
{
if($status->getActive())
{
$statuses[] = $status->getLine();
}
else
{
Status::delete($connector, (int)$status->getLine());
Connector::cleanCacheConnector($status->getLine(), Connector::getCacheIdConnector($status->getLine(), $connector));
}
}
if(!empty($statuses))
{
if(empty($line) || empty($statuses[$line]))
{
$line = reset($statuses);
}
$connectorOutput = new Output($connector, $line, true);
$rawDelete = $connectorOutput->deleteConnector();
if($rawDelete->isSuccess() || $step > $maxNumberAttempts)
{
Status::delete($connector, (int)$line);
Connector::cleanCacheConnector($line, Connector::getCacheIdConnector($line, $connector));
$step = 0;
$line = 0;
}
else
{
$step++;
}
return '\Bitrix\ImConnector\Agent::agentDisconnectConnectorVK(' . $step . ', ' . $line . ');';
}
}