Всем здрасти. Никогда не юзал этот скрипт, но очень хотел его заполучить и потестить, тем более что есть практически полноценный аналог в виде santafox, который кстати также можно настроить и сделать полную копию adCMS, чтобы не могли придраться admitadовцы.
Так вот, к чему все это я. Скачал архив, создал пару категорий и реально импорт не пашет, но я нашел разгадку, которая исправляет этот косяк. Я не очень хорошо разбираюсь в PHP, но логика и внимательность имеется. так вот я начал импортировать и заметил что ошибка выскакивает очень быстро, а файл с admitad можно ждать и 30 сек и больше. В этом направлении и пошел рыть. Залез в файл импорта по адресу modules/catalog/import.class.php и буквально в первых строках увидел функцию импорта:
Код:
function get_cutl_file ( $url, $time = true )
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ( $time )
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_FORBID_REUSE, true);
$data = curl_exec($ch); //Возвращает TRUE в случае успешного завершения или FALSE в случае ошибки. Однако, если установлена опция CURLOPT_RETURNTRANSFER, при успешном завершении будет возвращен результат, а при неудаче - FALSE.
//global $kernel;
//$kernel->debug(curl_getinfo($ch));
//var_dump(curl_error($ch));
if ( curl_getinfo($ch,CURLINFO_HTTP_CODE) != 200 ) // любая ошибка получения файла
$data = false;
curl_close($ch);
return $data;
}
В строке
Код:
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
и есть то что мешает нам получить файл.
Исправление элементарное - исправьте 5 на любое удобное вам число секунд, я поставил на 120 - 2 минуты.
Если будет мало. можете вообще вырубить ограничение по времени
Код:
function get_cutl_file ( $url, $time = true )
Замените true на false и ограничения не будет)))
Жду спасибок))))