- Модуль: imconnector
- Путь к файлу: ~/bitrix/modules/imconnector/lib/update/update200300.php
- Класс: BitrixImconnectorUpdateUpdate200300
- Вызов: Update200300::execute
public function execute(array &$result): bool
{
$return = false;
if (Loader::includeModule(self::$moduleId))
{
$status = $this->loadCurrentStatus();
if ($status['count'] > 0)
{
$result['steps'] = '';
$result['count'] = $status['count'];
$cursor = StatusConnectorsTable::getList([
'select' => ['ID', 'LINE'],
'filter' => [
'=CONNECTOR' => self::$connectorId,
'=ACTIVE' => 'Y',
],
'offset' => 0,
'limit' => self::PORTION,
'order' => array('ID' => 'ASC'),
]);
$found = false;
while ($row = $cursor->fetch())
{
$deleteResult = BitrixImConnectorConnector::delete($row['LINE'], self::$connectorId);
if (!$deleteResult->isSuccess())
{
Status::delete(self::$connectorId, $row['LINE']);
}
$status['lastId'] = $row['ID'];
$status['number']++;
$found = true;
}
if ($found)
{
Option::set(self::$moduleId, self::OPTION_NAME, serialize($status));
$return = true;
}
$result['steps'] = $status['number'];
if ($found === false)
{
Option::delete(self::$moduleId, ['name' => self::OPTION_NAME]);
}
}
}
return $return;
}