require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); use \Bitrix\Main\Localization\Loc; use \Bitrix\Sale\TradingPlatform\Helper; use \Bitrix\Sale\TradingPlatform\Logger; use \Bitrix\Sale\TradingPlatform\Ebay\Ebay; Loc::loadMessages(__FILE__); /** @var CMain $APPLICATION */ if ($APPLICATION->GetGroupRight("sale") < "W") $APPLICATION->AuthForm(Loc::getMessage("SALE_ACCESS_DENIED")); if ($_SERVER["REQUEST_METHOD"] == "POST" && !check_bitrix_sessid()) $APPLICATION->AuthForm(Loc::getMessage("SALE_ACCESS_DENIED")); if (!\Bitrix\Main\Loader::includeModule('sale')) $arResult["ERROR"] = Loc::getMessage("SALE_MODULE_NOT_INSTALLED"); $ebay = Ebay::getInstance(); $errorMessages = array(); if(!$ebay->isInstalled()) $ebay->install(); $bSaved = false; $backUrl = !empty($_REQUEST["back_url"]) ? $_REQUEST["back_url"] : ""; if(isset($_POST["EBAY_ON"])) { $ebay->setActive(); if($backUrl <> '') LocalRedirect($backUrl); } elseif(isset($_POST["EBAY_OFF"])) { $ebay->unsetActive(); } if($ebay->isActive()) { $siteList = array(); $defaultSite = ""; $rsSites = CSite::GetList("sort", "asc", Array("ACTIVE"=> "Y")); while($arRes = $rsSites->Fetch()) { $siteList[$arRes['ID']] = $arRes['NAME']; if($arRes["DEF"] == "Y") $defaultSite = $arRes['ID']; } if(isset($_REQUEST["SITE_ID"]) && array_key_exists($_REQUEST["SITE_ID"], $siteList)) $SITE_ID = $_REQUEST["SITE_ID"]; else $SITE_ID = $defaultSite; $settings = $ebay->getSettings(); if(isset($_POST["EBAY_SETTINGS"]) && is_array($_POST["EBAY_SETTINGS"])) { foreach($_POST["EBAY_SETTINGS"]["IBLOCK_ID"] as $key => $iblockId) if($iblockId == '') unset($_POST["EBAY_SETTINGS"]["IBLOCK_ID"][$key]); $site = !empty($_POST["SITE_ID_INITIAL"]) && $SITE_ID == $_POST["SITE_ID_INITIAL"] ? $SITE_ID : $_POST["SITE_ID_INITIAL"]; if(!is_array($settings[$site])) $settings[$site] = array(); $settings[$site] = array_merge($settings[$site], $_POST["EBAY_SETTINGS"]); $bSaved = $ebay->saveSettings($settings); } $siteSettings = $settings[$SITE_ID]; unset ($settings); if(!\Bitrix\Main\Loader::includeModule('catalog')) $arResult["ERROR"] = Loc::getMessage("CATALOG_MODULE_NOT_INSTALLED"); if(!is_array($siteSettings["IBLOCK_ID"]) || !isset($siteSettings["IBLOCK_ID"])) $siteSettings["IBLOCK_ID"] = array(); $siteSettings["IBLOCK_ID"][] = ""; $arPersonTypes = Helper::getPersonTypesList($SITE_ID); if(!empty($arPersonTypes)) { if(isset($siteSettings["PERSON_TYPE"]) && array_key_exists($siteSettings["PERSON_TYPE"], $arPersonTypes)) { $personTypeId= $siteSettings["PERSON_TYPE"]; } else { reset($arPersonTypes); $personTypeId = $siteSettings["PERSON_TYPE"] = key($arPersonTypes); } $orderPropsList = Helper::getOrderPropsList($personTypeId); $requiredOrderProperties = Helper::getRequiredOrderProps(); $bitrixStatuses = Helper::getBitrixStatuses($SITE_ID); $arTabs = array( array( "DIV" => "sale_ebay_main", "TAB" => Loc::getMessage("SALE_EBAY_TAB_MAIN"), "TITLE" => Loc::getMessage("SALE_EBAY_TAB_MAIN_TITLE"), ), array( "DIV" => "sale_ebay_orderprops", "TAB" => Loc::getMessage("SALE_EBAY_TAB_MATCH"), "TITLE" =>Loc::getMessage("SALE_EBAY_TAB_MATCH_TITLE"), ), array( "DIV" => "sale_ebay_connect", "TAB" => Loc::getMessage("SALE_EBAY_TAB_CONNECT"), "TITLE" => Loc::getMessage("SALE_EBAY_TAB_CONNECT_TITLE"), ), array( "DIV" => "sale_ebay_categories", "TAB" => Loc::getMessage("SALE_EBAY_TAB_CATEGORIES"), "TITLE" => Loc::getMessage("SALE_EBAY_TAB_CATEGORIES_TITLE"), ) ); $tabControl = new CAdminTabControl("tabControl", $arTabs); } else { $errorMessages[] = Loc::getMessage('SALE_EBAY_TP_EMPTY_ERROR'); } } $APPLICATION->SetTitle(GetMessage("SALE_EBAY_TITLE")); \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/ebay_admin.js", true); require_once ($_SERVER['DOCUMENT_ROOT'].BX_ROOT."/modules/main/include/prolog_admin_after.php"); if($bSaved) CAdminMessage::ShowMessage(array("MESSAGE"=>GetMessage("SALE_EBAY_SETTINGS_SAVED"), "TYPE"=>"OK")); ?>