if (!$proxy_class->checkProxy($row['proxy'], $row['proxy_type'])) { // Проверка proxy
$proxy_uprate = 100; // Начальная доступность proxy
$proxy_search_status = true; // Статус поиска proxy
while ($proxy_search_status && $proxy_uprate >= Config::KP_PROXY_UPRITE) { // Поиск новой proxy
foreach (Config::KP_PROXY_TYPE as $type) { // Перебор типов proxy https,socks4,socks5
if ($proxy_search_status) {
$proxy_list = $proxy_class->getProxyList($type, $proxy_uprate); // Получение списка proxy
if ($proxy_list) {
foreach ($proxy_list as $proxy) {
if ($proxy_search_status) {
// Проверка отсутствия дубля proxy
if (!$db->getRow('SELECT * FROM ' . Config::DB_TABLE_USERS . ' WHERE table_id=' . Config::ID . ' AND proxy LIKE "' . $proxy .'"')) {
Curl::setCurl()->setProxy($proxy, $type); // Установка proxy
// Запись в базу данных новой proxy
$db->getSql('UPDATE ' . Config::DB_TABLE_USERS . ' SET proxy = :proxy, proxy_type = :proxy_type WHERE id = ' . $row['id'], [
'proxy' => $proxy,
'proxy_type' => $type
]);
$proxy_search_status = false; // Смена статуса поиска proxy
}
}
}
}
}
}
$proxy_uprate = $proxy_uprate - 5; // Уменьшение доступности прокси
}
}