uawdijnntqw1x1x1
IP : 216.73.216.30
Hostname : xhost1.intravision.ru
Kernel : Linux xhost1.intravision.ru 3.16.0-7-amd64 #1 SMP Debian 3.16.59-1 (2018-10-03) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
.
/
files
/
.
/
.
/
need-2-delete
/
.
/
mini-borishof.ru1
/
new_mini
/
bitrix
/
modules
/
jauto
/
include.php
/
/
<?php define("JAUTO_MODULE", "jauto"); IncludeModuleLangFile(__FILE__); CModule::IncludeModule("jauto"); global $DBType; $arClasses = array( 'JB_JAuto' => 'classes/general/JB_JAuto.php' ); CModule::AddAutoloadClasses("jauto", $arClasses); function JBJ_Process() { // Notif: если модуль не установлен if (!CModule::IncludeModule("iblock")) { $model->Log(GetMessage("JBJ_LOG_ERROR_NO_IBLOCK_MODULE")); die(); } // Load model $model = new JB_JAuto; // Останавливаем процесс если запуск только по крону if (COption::GetOptionString(JAUTO_MODULE, "cron_only") == "Y" && !$model->IsCron()) { die (GetMessage("JBJ_LOG_ERROR_CRON_ONLY")); } // Проверка можно ли запустить процесс $mode_start = COption::GetOptionString(JAUTO_MODULE, "mode"); if (trim($mode_start) == "") { die(); } // Определяем, лимит выполнения шага $model->SetMaxTime(COption::GetOptionString(JAUTO_MODULE, "step")); // Определяем инфоблок в который загружать данные $iblock_id = IntVal(COption::GetOptionString(JAUTO_MODULE, "iblock_id")); // Если не указан инфоблок, останавливаем процесс if ($iblock_id <= 0) { $model->Log(GetMessage("JBJ_LOG_START_ERROR_NO_IBLOCK")); die(); } // Передаем модели ID инфоблока для работы $model->SetIBlockID($iblock_id); // Передаем модели логин и пароль $model->Authorize(COption::GetOptionString(JAUTO_MODULE, "username"), COption::GetOptionString(JAUTO_MODULE, "password")); // Определеяем стату на каком шаге находится процесс $status = $model->GetStatus(); // Если это старт процесса, то очищаем старые данные и подготавливаем новый старт if ($status == "SLEEP" && $model->CanBeStarted() || $model->Get("manual_start_first") == "Y") { $model->Set("session_id", MD5(RandString(32) . uniqid() . time())); // Генерируем ID сессии и передаем в конфиг $model->Set("manual_start_first", false); // Блокируем процесс пока полностью не завершит свою работу $model->Set("manual_start", "Y"); // Стартуем процесс $model->Log(GetMessage("JBJ_LOG_PROCESS_STARTED")); // Записываем лог старта процесса $model->FullReset(); // Очищаем статусы шагов для нового старта $model->Set("listlimit", COption::GetOptionString(JAUTO_MODULE, 'listlimit')); // List limit //$model->CreateSessionProperty(); // Создаем свойство привязки элемента к инфоблоку $status = "LOAD_PRODUCTS"; // Статус $model->SetNextStatus($status); // Устанавливаем на каком шаге нам работать дальше $model->ResetDoneCount("product"); // Сброс маркера product.xml // Запускаем обработчик события на выполнение foreach (GetModuleEvents(JAUTO_MODULE, "OnProcessStart", true) as $dataEvent) { ExecuteModuleEventEx($dataEvent, array($model)); } } $stock_only = COption::GetOptionString(JAUTO_MODULE, "stock_only") == "Y"; // вытягиваем настройку в конфиге - Загружать только цены и остатки $return = false; switch ($status) { // Обработка элементов case "LOAD_PRODUCTS": $name_table = "product"; $model->LoadStatusIndex($name_table); // Объявляем с какого шага стартовать (вытягиваем с конфига послудний удачный шаг) $model->DownloadFile($name_table); // Запрашиваем с сервера xml и сохраняем у себя $model->GetFilename($name_table); // Проверка является ли файл файлом с данными if ($model->CheckSize($name_table)) // Обработка данных if ($model->LoadProducts()) $return = true; if ($return) { $model->Log(GetMessage("JBJ_LOG_CONTINUE_LOAD_PRODUCTS", array( "#COUNT#" => IntVal($model->Get("done_product_total")) ))); } else { $model->Log(GetMessage("JBJ_LOG_LOAD_PRODUCTS_DONE", array( "#COUNT#" => IntVal($model->Get("done_product_total")) ))); $model->Log(GetMessage("JBJ_LOG_PROCESS_MISSING")); } break; // Деактивация старых элементов каталога case "PROCESS_MISSING": if (COption::GetOptionString(JAUTO_MODULE, "deactivate_products") != "Y") { $model->Log(GetMessage("JBJ_LOG_PROCESS_MISSING_SKIP")); } else { $model->ProcessMissing(); $model->Log(GetMessage("JBJ_LOG_PROCESS_MISSING_DONE")); } break; // Завершение процесса case "DONE": $product = IntVal($model->Get('done_product_total')); $start_time = $model->Get("start_time"); $processor_time = time() - $start_time; $time = ""; if ($start_time > 0) { $h = floor($processor_time / 60); $m = $processor_time - $h * 60; $s = floor($h / 60); $h -= $s * 60; $time = $s . GetMessage("JBJ_LOG_TIME_H") . " " . sprintf("%02d", $h) . GetMessage("JBJ_LOG_TIME_M") . " " . sprintf("%02d", $m) . GetMessage("JBJ_LOG_TIME_S"); } $model->Log(GetMessage("JBJ_LOG_PROCESS_DONE", array( "#PRODUCTS#" => $product, "#TIME#" => $time ))); $model->SetLastEndTime(); $model->Set("manual_start", false); // Запускаем обработчик события на выполнение foreach (GetModuleEvents(JAUTO_MODULE, "OnProcessDone", true) as $dataEvent) { ExecuteModuleEventEx($dataEvent, array($model)); } break; // Отправляет процессор спать case "SLEEP": $model->DeleteFiles(); // Удаляем файлы break; } if (!$return && $status != "SLEEP") { // Запускаем обработчик события на выполнение foreach (GetModuleEvents(JAUTO_MODULE, "OnProcessNextStep", true) as $dataEvent) { ExecuteModuleEventEx($dataEvent, array($model, $status)); } $model->SetNextStatus(); $model->Reset(); } }
/var/./files/././need-2-delete/./mini-borishof.ru1/new_mini/bitrix/modules/jauto/include.php