%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sale/admin/ |
Current File : //home/bitrix/www/bitrix/modules/sale/admin/vk_export_edit.php |
<? require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php"); use Bitrix\Main\Localization\Loc; use Bitrix\Main\Loader; use Bitrix\Sale\TradingPlatform\Helper; use Bitrix\Sale\TradingPlatform\Vk; use Bitrix\Main\Application; use Bitrix\Main\Web\HttpClient; use Bitrix\Main\ArgumentNullException; use Bitrix\Main\Text\HtmlFilter; Loc::loadMessages(__FILE__); global $APPLICATION; //system VARs $application = Application::getInstance(); $context = $application->getContext(); $request = $context->getRequest(); $server = $context->getServer(); //CHECK errors if ($APPLICATION->GetGroupRight("sale") < "W") $APPLICATION->AuthForm(Loc::getMessage("SALE_VK_ACCESS_DENIED")); if (!Loader::includeModule('sale')) $arResult["ERROR"] = Loc::getMessage("SALE_VK_MODULE_NOT_INSTALLED"); //get or create export ID if (isset($request['ID']) && $request['ID']) $exportId = $request['ID']; else $exportId = NULL; // download LOG file if(isset($request["download_log"]) && $request["download_log"] == "Y" && $exportId) { header('Content-disposition: attachment; filename=vk_export.log'); header('Content-type: text/plain'); echo Vk\Logger::createLogFileContent($exportId); die(); } //init VK and SETTINGS $vk = Vk\Vk::getInstance(); if ($exportId) $vkSettings = $vk->getSettings($exportId); else $vkSettings = array(); \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/vk_admin.js", true); require_once($DOCUMENT_ROOT . BX_ROOT . "/modules/main/include/prolog_admin_after.php"); // check REQUIRED fields $errorRequiredFields = array(); if (isset($request["VK"])) { if (!isset($request["VK"]["DESCRIPTION"]) || strlen($request["VK"]["DESCRIPTION"]) <= 0) $errorRequiredFields[] = Loc::getMessage("SALE_VK_SETTINGS_NO_NAME"); if (!isset($request["VK"]["VK_SETTINGS"]["APP_ID"]) || strlen($request["VK"]["VK_SETTINGS"]["APP_ID"]) <= 0) $errorRequiredFields[] = Loc::getMessage("SALE_VK_SETTINGS_NO_APP_ID"); if (!isset($request["VK"]["VK_SETTINGS"]["SECRET"]) || strlen($request["VK"]["VK_SETTINGS"]["SECRET"]) <= 0) $errorRequiredFields[] = Loc::getMessage("SALE_VK_SETTINGS_NO_SECRET"); // todo: somtehing wrong... if ($exportId && empty($errorRequiredFields) && isset($vkSettings["OAUTH"]["ACCESS_TOKEN"]) && !empty($vkSettings["OAUTH"]["ACCESS_TOKEN"])) { if (!isset($request["VK"]["VK_SETTINGS"]["GROUP_ID"]) || $request["VK"]["VK_SETTINGS"]["GROUP_ID"] <= 0) $errorRequiredFields[] = Loc::getMessage("SALE_VK_SETTINGS_NO_GROUP_ID"); if(!isset($request["VK"]["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"]) || $request["VK"]["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"] <= 0) { $errorRequiredFields[] = Loc::getMessage("SALE_VK_SETTINGS_NO_CATEOGRY"); // drop default category from settings unset($vkSettings["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"]); $vk->saveSettings(array('SETTINGS' => $vkSettings, 'EXPORT_ID' => $exportId)); $vkSettings = $vk->getSettings($exportId); //.. and get new settings array $vk->unsetActiveById($exportId); } } } //preset URL vars $siteDomain = $server->getHttpHost(); $currPageUrl = $APPLICATION->GetCurPage() . "?lang=" . LANGUAGE_ID; $currPageFullUrl = $siteDomain . $currPageUrl; $currPageSettingsTabUrl = $currPageFullUrl . '&tabControl_active_tab=vk_settings'; if ($exportId) { $currPageFullUrl .= '&ID=' . $exportId; $currPageSettingsTabUrl .= '&ID=' . $exportId; } if ($exportId) $APPLICATION->SetTitle(Loc::getMessage('SALE_VK_TITLE', array('#E1#' => $vkSettings["DESCRIPTION"]))); else $APPLICATION->SetTitle(Loc::getMessage('SALE_VK_TITLE_NEW')); //ONLY RUSSIAN!!! if (defined('LANG') && LANG != 'ru') { echo BeginNote(); echo '<p>' . Loc::getMessage("SALE_VK_ONLY_RUSSIAN") . '</p>'; echo '<p>' . Loc::getMessage("SALE_VK_ONLY_RUSSIAN_2") . '</p>'; echo '<img src="/bitrix/images/sale/vk/vk_only_russian.png" alt="">'; echo EndNote(); require($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_admin.php"); die(); } /////////////////////////////////////////////////////////////////// //get and save AUTH CODE if (isset($request["code"]) && !empty($request["code"]) && $exportId) { $vkSettings["OAUTH"]["CODE"] = $request["code"]; $vkSettings["OAUTH"]["CODE_TIME"] = time(); //set expires time for code $tokenUrl = $vk->getTokenUrl($exportId, $currPageSettingsTabUrl, $vkSettings["OAUTH"]["CODE"]); $http = new HttpClient(); $responseStr = $http->get($tokenUrl); // check answer from VK if (strlen($responseStr) <= 0) { // logger my throw exception try { $logger = new Vk\Logger($exportId); $logger->addError('VK_NOT_AVAILABLE'); unset($logger); } catch (Vk\ExecuteException $e){} } else { $response = Bitrix\Main\Web\Json::decode($responseStr); if (isset($response["error"])) { try { // if catch error - must clear access_token and unset activity unset($vkSettings["OAUTH"]["ACCESS_TOKEN"], $vkSettings["OAUTH"]["ACCESS_TOKEN_TIME"]); $vk->unsetActiveById($exportId); $logger = new Vk\Logger($exportId); $logger->addError(ToUpper(str_replace(' ','_',$response["error_description"]))); } catch (Vk\ExecuteException $e){} } elseif (isset($response["access_token"])) { $vkSettings["OAUTH"]["ACCESS_TOKEN"] = $response["access_token"]; $vkSettings["OAUTH"]["ACCESS_TOKEN_TIME"] = time(); // clear error about access token $logger = new Vk\Logger($exportId); $logger->clearOneError("WRONG_ACCESS_TOKEN"); unset($logger); } $bSaved = $vk->saveSettings(array('SETTINGS' => $vkSettings, 'EXPORT_ID' => $exportId)); $vk->changeActiveById($exportId); } LocalRedirect("sale_vk_export_edit.php?ID=" . $exportId . "&lang=" . LANGUAGE_ID); } /////////////////////////////////////////////////////////////////// // SAVE or APPLY settings if (isset($request["VK"]) && is_array($request["VK"]) && ($_POST['save'] || $_POST['apply'])) { if (empty($errorRequiredFields)) { // install platform in first run if (!$vk->isInstalled()) $vk->install(); // VALIDATE settings if (isset($request["VK"]["DESCRIPTION"])) $vkSettings["DESCRIPTION"] = $request["VK"]["DESCRIPTION"]; // adding "-" if (strlen($request["VK"]["VK_SETTINGS"]["GROUP_ID"]) > 1) { $vkSettings["VK_SETTINGS"]["GROUP_ID"] = substr($request["VK"]["VK_SETTINGS"]["GROUP_ID"], 0, 1) != "-" ? "-" . intval($request["VK"]["VK_SETTINGS"]["GROUP_ID"]) : intval($request["VK"]["VK_SETTINGS"]["GROUP_ID"]); } if ($request["VK"]["VK_SETTINGS"]["APP_ID"]) $vkSettings["VK_SETTINGS"]["APP_ID"] = intval($request["VK"]["VK_SETTINGS"]["APP_ID"]); if ($request["VK"]["VK_SETTINGS"]["SECRET"]) $vkSettings["VK_SETTINGS"]["SECRET"] = htmlspecialcharsbx($request["VK"]["VK_SETTINGS"]["SECRET"]); // validate EXPORT SETTINGS if (!isset($request["VK"]["EXPORT_SETTINGS"]["TIMELIMIT"]) || !$request["VK"]["EXPORT_SETTINGS"]["TIMELIMIT"]) $vkSettings["EXPORT_SETTINGS"]["TIMELIMIT"] = Vk\Vk::DEFAULT_TIMELIMIT; else $vkSettings["EXPORT_SETTINGS"]["TIMELIMIT"] = intval($request["VK"]["EXPORT_SETTINGS"]["TIMELIMIT"]); if ($request["VK"]["EXPORT_SETTINGS"]["COUNT_ITEMS"]) $vkSettings["EXPORT_SETTINGS"]["COUNT_ITEMS"] = $request["VK"]["EXPORT_SETTINGS"]["COUNT_ITEMS"] >= Vk\Vk::MAX_EXECUTION_ITEMS ? Vk\Vk::MAX_EXECUTION_ITEMS : intval($request["VK"]["EXPORT_SETTINGS"]["COUNT_ITEMS"]); else $vkSettings["EXPORT_SETTINGS"]["COUNT_ITEMS"] = Vk\Vk::DEFAULT_EXECUTION_ITEMS; if ($request["VK"]["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"]) $vkSettings["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"] = intval($request["VK"]["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"]); if (isset($request["VK"]["EXPORT_SETTINGS"]["AGRESSIVE"])) $vkSettings["EXPORT_SETTINGS"]["AGRESSIVE"] = $request["VK"]["EXPORT_SETTINGS"]["AGRESSIVE"]; if (isset($request["VK"]["EXPORT_SETTINGS"]["ONLY_AVAILABLE_FLAG"])) $vkSettings["EXPORT_SETTINGS"]["ONLY_AVAILABLE_FLAG"] = $request["VK"]["EXPORT_SETTINGS"]["ONLY_AVAILABLE_FLAG"]; if (isset($request["VK"]["EXPORT_SETTINGS"]["RICH_LOG"])) $vkSettings["EXPORT_SETTINGS"]["RICH_LOG"] = $request["VK"]["EXPORT_SETTINGS"]["RICH_LOG"]; // validate settings for AGENTS if (isset($request["VK"]["AGENT"]["INTERVAL"])) { // convert interval from hours to seconds $interval = intval($request["VK"]["AGENT"]["INTERVAL"] * 3600); $vkSettings["AGENT"]["INTERVAL"] = $interval; $vkSettings["AGENT"]['ID'] = ($agentId = Vk\Agent::update($exportId, 'ALL', $interval)) ? $agentId : 0; } // SAVE and init exportId if we create new profile if ($exportId) $bSaved = $vk->saveSettings(array('SETTINGS' => $vkSettings, 'EXPORT_ID' => $exportId)); else $exportId = $vk->saveSettings(array('SETTINGS' => $vkSettings)); // change of settings may change sections lists. Drop cache to have true data $sectionsList = new Vk\SectionsList($exportId); $sectionsList->clearCaches(); // create Agent for update vk categories to cache $vkCategories = new Vk\VkCategories($exportId); $vkCategories->createAgent(); // checking ACTIVITY after saving $vk->changeActiveById($exportId); // REDIRECT to listpage, if save (if apply - stay here) if ($_POST['save']) LocalRedirect('sale_vk_export_list.php?lang=' . LANGUAGE_ID); else LocalRedirect("sale_vk_export_edit.php?ID=" . $exportId . "&lang=" . LANGUAGE_ID); } //end if required fields } /////////////////////////////////////////////////////////////////// // PREPARE params to print // intervals if agent not set yet $defaultAgentsIntervals = Helper::getDefaultFeedIntervals(); // find running single (not pereodical) agents for noticy $runningProcess = Vk\Journal::getCurrentProcess($exportId); $processDisabledFlag = ''; $processDisabledClassFlag = ''; if ($runningProcess) { $processDisabledFlag = ' disabled '; $processDisabledClassFlag = ' adm-btn-disabled '; } // prepare ACCESS TOKEN to print if (isset($vkSettings["OAUTH"]["ACCESS_TOKEN"]) && !empty($vkSettings["OAUTH"]["ACCESS_TOKEN"])) { $authText = Loc::getMessage("SALE_VK_SETTINGS_ACCESS_TOKEN_REGET") . ' (' . date('j.m.Y - H:i', $vkSettings["OAUTH"]["ACCESS_TOKEN_TIME"]) . ')'; $authButtonText = "SALE_VK_SETTINGS_ACCESS_TOKEN_REGET_BUTTON"; } else { $authButtonText = "SALE_VK_SETTINGS_ACCESS_TOKEN_GET_BUTTON"; } $authUrl = $vk->getAuthUrl($exportId, $currPageSettingsTabUrl); // Try to get VK categories and VK groups. // in this method we use API request and must be checked execution errors // If catched errors - it means that export is not available try { if (isset($exportId) && $exportId) { $vkCategorySelected = $vkSettings["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"] > 0 ? $vkSettings["EXPORT_SETTINGS"]["CATEGORY_DEFAULT"] : null; $categoriesVk = new Vk\VkCategories($exportId); $vkCategorySelector = $categoriesVk->getVkCategorySelector($vkCategorySelected); $apiHelper = new Vk\Api\ApiHelper($exportId); $vkGroupsSelector = $apiHelper->getUserGroupsSelector($vkSettings["VK_SETTINGS"]["GROUP_ID"], 'VK[VK_SETTINGS][GROUP_ID]'); } } catch (Vk\ExecuteException $e) { $vkCategorySelector = ''; $vkGroupsSelector = ''; $vk->unsetActiveById($exportId); // if error - set vk-export is not active $vkSettings = $vk->getSettings($exportId); // and get new settings } catch (ArgumentNullException $e) { if ($e->getParameter() == 'accessToken') { // drop selectors $vkCategorySelector = ''; $vkGroupsSelector = ''; $vk->unsetActiveById($exportId); // if error - set vk-export is not active $vkSettings = $vk->getSettings($exportId); // and get new settings $errorRequiredFields[] = Loc::getMessage('SALE_VK_SETTINGS_ACCESS_TOKEN_NEED_GET'); } } // SHOW error REQUIRED fields if(!empty($errorRequiredFields)) { $errorRequiredFields = implode("\n", $errorRequiredFields); echo CAdminMessage::ShowMessage($errorRequiredFields); } // TIMELIMIT for feed $feedTimelimit = $vkSettings["EXPORT_SETTINGS"]["TIMELIMIT"] ? $vkSettings["EXPORT_SETTINGS"]["TIMELIMIT"] : Vk\Vk::DEFAULT_TIMELIMIT; // prepare TABS $arrTabs = array( array( "DIV" => "vk_settings", "TAB" => Loc::getMessage("SALE_VK_TAB_SETTINGS"), "TITLE" => Loc::getMessage("SALE_VK_TAB_SETTINGS_DESC"), ), ); // exchange and map active tab only if active if ($vk->isActive() && $vk->isActiveById($exportId)) { array_unshift($arrTabs, array( "DIV" => "vk_export", "TAB" => Loc::getMessage("SALE_VK_TAB_EXPORT"), "TITLE" => Loc::getMessage("SALE_VK_TAB_EXPORT_DESC"), )); $arrTabs[] = array( "DIV" => "vk_export_map", "TAB" => Loc::getMessage("SALE_VK_TAB_MAP"), "TITLE" => Loc::getMessage("SALE_VK_TAB_MAP_DESC"), ); // async map loading in tab echo "<script>BX.Sale.VkAdmin.loadExportMap(".$exportId.");</script>"; } $tabControl = new CAdminTabControl("tabControl", $arrTabs); /////////////////////////////////////////////////////////////////// // PRINTING FORM ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// ?> <div id="vk_export_notify__progress"> <? if ($runningProcess) echo Vk\Journal::getProgressMessage($exportId, $runningProcess['TYPE']); ?> </div> <div id="vk_export_notify__error_critical"> <?php // check error log - show if not empty $logger = new Vk\Logger($exportId); $errorsCritical = $logger->getErrorsList(true); if (strlen($errorsCritical) > 0) { $errorsCriticalString = Vk\Journal::getCriticalErrorsMessage($exportId, $errorsCritical); echo strlen($errorsCriticalString) > 0 ? $errorsCriticalString : ''; } ?> </div> <? $tabControl->Begin(); ?> <!-- -----------------------------------------------------> <!-- EXPORT tab--> <? if ($vk->isActive() && $vk->isActiveById($exportId)): ?> <?php $tabControl->BeginNextTab(); ?> <!-- NOTIFY about running agent--> <? if ($runningProcess): ?> <script> BX.ready(function () { BX.Sale.VkAdmin.exportProcessProlog(); BX.Sale.VkAdmin.startFeed("<?=$runningProcess['TYPE']?>", "<?=$exportId?>"); }); </script> <? endif; ?> <? // formatted BUTTONS // if exists running process - not active buttons $additionalMenuAdd = array(); $onclickAdd = 'return false;'; $additionalMenuDel = array(); $onclickDel = 'return false;'; foreach (array('ALBUMS', 'PRODUCTS') as $type1) { // ADD $additionalMenuAdd[] = array( "TEXT" => Loc::getMessage("SALE_VK_EXPORT_BUTTON_" . $type1), "TITLE" => Loc::getMessage("SALE_VK_EXPORT_BUTTON_" . $type1), "SHOW_TITLE" => 'true', "ONCLICK" => "BX.Sale.VkAdmin.startFeed('" . $type1 . "', '" . $exportId . "', true);", ); // DEL foreach (array('_DELETE', '_DELETE_ALL') as $type2) { $msg = Loc::getMessage("SALE_VK_EXPORT_BUTTON_" . $type1 . $type2 . "_ALERT") . '\n' . Loc::getMessage("SALE_VK_SETTINGS_BUTTON_CONFIRM"); $additionalMenuDel[] = array( "TEXT" => Loc::getMessage("SALE_VK_EXPORT_BUTTON_" . $type1 . $type2), "TITLE" => Loc::getMessage("SALE_VK_EXPORT_BUTTON_" . $type1 . $type2), "SHOW_TITLE" => 'true', "ONCLICK" => "if(confirm('" . $msg . "')) {BX.Sale.VkAdmin.startFeed('" . $type1 . $type2 . "', '" . $exportId . "', true);} ", ); } } $contextButtonAdd = array( "TEXT" => Loc::getMessage("SALE_VK_EXPORT_BUTTON_ADDITIONAL_ADD"), "MENU" => $additionalMenuAdd ); $contextButtonDel = array( "TEXT" => Loc::getMessage("SALE_VK_EXPORT_BUTTON_ADDITIONAL_DEL"), "MENU" => $additionalMenuDel ); $contextButtons = new CAdminContextMenu(array($contextButtonAdd, $contextButtonDel)); ?> <tr> <td> <input id="vk_export_button__startFeed_all" class="adm-btn-save" type="button" <?= $processDisabledFlag ?> style="margin-right:10px" value="<?= Loc::getMessage("SALE_VK_EXPORT_BUTTON_ALL") ?>" onclick="BX.Sale.VkAdmin.startFeed('ALL','<?= $exportId ?>', true);"> <?=$contextButtons->Button($contextButtonAdd, CHotKeys::getInstance());?> <?=$contextButtons->Button($contextButtonDel, CHotKeys::getInstance());?> </td> </tr> <tr class="heading"> <td colspan="2"><?= Loc::getMessage("SALE_VK_EXPORT_STATISTIC") ?></td> </tr> <tr> <td colspan="2"> <?php $errorsNormal = $logger->getErrorsList(false); ?> <div id="vk_export_notify__error_normal" style="display:<?= (strlen($errorsNormal) > 0) ? 'block' : 'none' ?>"> <? echo BeginNote(); ?> <span id="vk_export_notify__error_normal__msg"><?= $errorsNormal ?></span> <span id="vk_export_notify__error_normal__button"> <input type="button" value="<?= Loc::getMessage("SALE_VK_EXPORT_BUTTON_CLEAR_LOG") ?>" onclick="if(confirm('<?= Loc::getMessage("SALE_VK_EXPORT_BUTTON_CLEAR_LOG_ALERT") ?>')) {BX.Sale.VkAdmin.clearErrorLog('<?= $exportId ?>');}"> </span> <? echo EndNote(); ?> </div> <?=$logger->getErrorExpandScript();?> </td> </tr> <tr> <td colspan="2"> <div class="adm-bus-table-container border" id="vk_export_statistic__albums"> <?= Vk\Journal::getStatisticText('ALBUMS', $exportId); ?> </div> <div class="adm-bus-table-container border" id="vk_export_statistic__products"> <?= Vk\Journal::getStatisticText('PRODUCTS', $exportId); ?> </div> </td> </tr> <? endif; ?> <?php $tabControl->BeginNextTab(); ?> <!-- -----------------------------------------------------> <!-- SETTINGS tab--> <form name="vk_exhangesettings_form" method="post" action="<?= $currPageUrl ?>"> <!-- hidden EXPORT ID and DESC--> <tr> <td colspan="2"> <?php if ($exportId): ?> <input type="hidden" name="ID" value="<?= $exportId ?>"> <? endif; ?> </td> </tr> <tr class="adm-detail-required-field"> <td width="40%"><span><?= Loc::getMessage("SALE_VK_SETTINGS_NAME") ?>:</span></td> <td width="60%"> <input type="text" name="VK[DESCRIPTION]" size="50" maxlength="255" value="<?= isset($vkSettings["DESCRIPTION"]) ? HtmlFilter::encode($vkSettings["DESCRIPTION"]) : "" ?>"> </td> </tr> <tr class="heading"> <td colspan="2"><?= Loc::getMessage("SALE_VK_SETTINGS_CONNECT") ?></td> </tr> <!-- App ID--> <tr class="adm-detail-required-field"> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_EXPORT_SETTING_MANUAL", array( "#A1" => "<a href=/bitrix/admin/sale_vk_manual.php?lang=" . LANGUAGE_ID . ">", "#A2" => '</a>', ))); ?> <span><?= Loc::getMessage("SALE_VK_SETTINGS_APP_ID") ?>:</span> </td> <td> <input type="text" name="VK[VK_SETTINGS][APP_ID]" size="25" maxlength="255" value="<?= isset($vkSettings["VK_SETTINGS"]["APP_ID"]) ? $vkSettings["VK_SETTINGS"]["APP_ID"] : "" ?>"> </td> </tr> <!-- Secret key--> <tr class="adm-detail-required-field"> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_EXPORT_SETTING_MANUAL", array( "#A1" => "<a href=/bitrix/admin/sale_vk_manual.php?lang=" . LANGUAGE_ID . ">", "#A2" => '</a>', ))); ?> <span><?= Loc::getMessage("SALE_VK_SETTINGS_SECRET") ?>:</span> </td> <td> <input type="text" name="VK[VK_SETTINGS][SECRET]" size="25" maxlength="255" value="<?= isset($vkSettings["VK_SETTINGS"]["SECRET"]) ? $vkSettings["VK_SETTINGS"]["SECRET"] : "" ?>"> </td> </tr> <!-- get TOKEN--> <? if ( isset($vkSettings["VK_SETTINGS"]["APP_ID"]) && !empty($vkSettings["VK_SETTINGS"]["APP_ID"]) && isset($vkSettings["VK_SETTINGS"]["SECRET"]) && !empty($vkSettings["VK_SETTINGS"]["SECRET"]) ): ?> <tr> <td><span><?= $authText ?></span></td> <td> <a href="<?= $authUrl ?>"><?= Loc::getMessage($authButtonText) ?></a> </td> </tr> <? endif; ?> <? if ($exportId && strlen($vkGroupsSelector) > 0): ?> <tr class="heading"> <td colspan="2"><?= Loc::getMessage("SALE_VK_SETTINGS_VK_SETTINGS") ?></td> </tr> <!-- Groud ID--> <tr class="adm-detail-required-field"> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_EXPORT_SETTING_MANUAL", array( "#A1" => "<a href=/bitrix/admin/sale_vk_manual.php?lang=" . LANGUAGE_ID . ">", "#A2" => '</a>', ))) ?> <span><?= Loc::getMessage("SALE_VK_SETTINGS_GROUP_ID") ?>:</span> </td> <td><?=$vkGroupsSelector?></td> </tr> <?endif; //group selector?> <?php if ($exportId && strlen($vkCategorySelector) > 0): ?> <!-- CATEGORIES mapping--> <tr class="heading"> <td colspan="2"><?= Loc::getMessage("SALE_VK_SETTINGS_CATEGORIES") ?></td> </tr> <tr class="adm-detail-required-field"> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_CATEGORIES_DEFAULT_HELP")) ?> <?= Loc::getMessage("SALE_VK_SETTINGS_CATEGORIES_DEFAULT"); ?>: </td> <td> <select id="VK[EXPORT_SETTINGS][CATEGORY_DEFAULT]" name="VK[EXPORT_SETTINGS][CATEGORY_DEFAULT]"><?= $vkCategorySelector ?></select> </td> </tr> <? endif; ?> <? if ($vk->isActive() && $vk->isActiveById($exportId)): ?> <tr class="heading"> <td colspan="2"><?= Loc::getMessage("SALE_VK_SETTINGS_EXPORT") ?></td> </tr> <!-- level of LOG messages (default - all messages (debug))--> <tr> <td colspan="2"><input type="hidden" name="VK[LOG_LEVEL]" value="<?= \Bitrix\Sale\TradingPlatform\Logger::LOG_LEVEL_DEBUG ?>"></td> </tr> <!-- AGRESSIVE export --> <tr> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_AGRESSIVE_EXPORT_HELP")); ?> <?= Loc::getMessage("SALE_VK_SETTINGS_AGRESSIVE_EXPORT"); ?>:<br> </td> <td> <input type="hidden" name="VK[EXPORT_SETTINGS][AGRESSIVE]" value="0"> <input <?= isset($vkSettings["EXPORT_SETTINGS"]["AGRESSIVE"]) && $vkSettings["EXPORT_SETTINGS"]["AGRESSIVE"] ? "checked = checked" : "" ?> type="checkbox" name="VK[EXPORT_SETTINGS][AGRESSIVE]" value="1"> </td> </tr> <!-- IS AVAILABLE flag --> <tr> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_ONLY_AVAILABLE_FLAG_HELP")); ?> <?= Loc::getMessage("SALE_VK_SETTINGS_ONLY_AVAILABLE_FLAG"); ?>:<br> </td> <td> <input type="hidden" name="VK[EXPORT_SETTINGS][ONLY_AVAILABLE_FLAG]" value="0"> <input <?= isset($vkSettings["EXPORT_SETTINGS"]["ONLY_AVAILABLE_FLAG"]) && !$vkSettings["EXPORT_SETTINGS"]["ONLY_AVAILABLE_FLAG"] ? "" : "checked = checked" ?> type="checkbox" name="VK[EXPORT_SETTINGS][ONLY_AVAILABLE_FLAG]" value="1"> </td> </tr> <!-- export step LIFETIME--> <tr> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_EXPORT_TIMELIMIT")) ?> <?= Loc::getMessage("SALE_VK_SETTINGS_EXPORT_TIMELIMIT") ?>: </td> <td> <input type="text" size="3" name="VK[EXPORT_SETTINGS][TIMELIMIT]" value="<?= isset($vkSettings["EXPORT_SETTINGS"]["TIMELIMIT"]) ? $vkSettings["EXPORT_SETTINGS"]["TIMELIMIT"] : Vk\Vk::DEFAULT_TIMELIMIT; ?>"> </td> </tr> <!-- export step ITEMS COUNT--> <tr> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_EXPORT_COUNT_ITEMS_HELP")) ?> <?= Loc::getMessage("SALE_VK_SETTINGS_EXPORT_COUNT_ITEMS") ?>: </td> <td> <input type="text" size="3" name="VK[EXPORT_SETTINGS][COUNT_ITEMS]" value="<?= isset($vkSettings["EXPORT_SETTINGS"]["COUNT_ITEMS"]) ? $vkSettings["EXPORT_SETTINGS"]["COUNT_ITEMS"] : ceil(intval(Vk\Vk::MAX_EXECUTION_ITEMS) / 2); ?>"> </td> </tr> <!-- rich LOG --> <tr> <td> <?= ShowJSHint(Loc::getMessage("SALE_VK_SETTINGS_RICH_LOG_HELP")); ?> <?= Loc::getMessage("SALE_VK_SETTINGS_RICH_LOG"); ?>:<br> </td> <td> <input type="hidden" name="VK[EXPORT_SETTINGS][RICH_LOG]" value="0"> <input <?= isset($vkSettings["EXPORT_SETTINGS"]["RICH_LOG"]) && $vkSettings["EXPORT_SETTINGS"]["RICH_LOG"] ? "checked = checked" : "" ?> type="checkbox" name="VK[EXPORT_SETTINGS][RICH_LOG]" value="1"> </td> </tr> <? endif; ?> <tr height="25"> <td></td> </tr> <tr> <td> <input type="submit" class="adm-btn-save" name="save" id="vk_export_button__save" value="<?= Loc::getMessage("SALE_VK_SETTINGS_BUTTON_SAVE") ?>" style="margin-right:10px"/> <input type="submit" name="apply" style="margin-right:10px" id="vk_export_button__apply" value="<?= Loc::getMessage("SALE_VK_SETTINGS_BUTTON_APPLY") ?>"/> <input type="button" style="margin-right:10px" id="vk_export_button__cancel" onclick="window.location='/bitrix/admin/sale_vk_export_list.php?lang=<?= LANGUAGE_ID ?>'" name="cancel" value="<?= Loc::getMessage("SALE_VK_SETTINGS_BUTTON_CANCEL") ?>"/> </td> </tr> </form> <? if ($vk->isActive() && $vk->isActiveById($exportId)): ?> <?php // export MAP $tabControl->BeginNextTab(); ?> <tr> <td id="vk_export_map_edit_table__content"> <?= BeginNote() ?> <?= Loc::getMessage("SALE_VK_TAB_MAP_LOAD") ?> <?= EndNote() ?> </td> </tr> <? endif; ?> <?php $tabControl->End(); ?> <? require($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_admin.php");