public function refreshTableData() { $refreshedCount = 0; $catInfo = $this->getItems(array("DetailLevel" => "ReturnAll")); $existCategoriesList = array(); $res = CategoryTable::getList(array("select" => array("ID", "CATEGORY_ID"))); while ($category = $res->fetch()) { $existCategoriesList[$category["CATEGORY_ID"]] = $category["ID"]; } if (isset($catInfo["CategoryArray"]["Category"])) { $categories = Xml2Array::normalize($catInfo["CategoryArray"]["Category"]); foreach ($categories as $category) { $fields = array("CATEGORY_ID" => $category["CategoryID"], "LEVEL" => $category["CategoryLevel"], "NAME" => $category["CategoryName"], "PARENT_ID" => $category["CategoryParentID"]); if (array_key_exists($category["CategoryID"], $existCategoriesList)) { $result = CategoryTable::update($existCategoriesList[$category["CategoryID"]], $fields); } else { $result = CategoryTable::add($fields); } if ($result > 0) { $refreshedCount++; } } } return $refreshedCount; }
protected function getCategoryAndParentsInfo($categoryId) { $categories = Bitrix\Sale\TradingPlatform\Ebay\CategoryTable::getCategoryParents($categoryId); foreach ($categories as $catLevel => $category) { $categories[$catLevel]["CHILDREN"] = array(); $categoriesRes = \Bitrix\Sale\TradingPlatform\Ebay\CategoryTable::getList(array('select' => array('CATEGORY_ID', 'NAME'), 'order' => array('NAME' => 'ASC'), 'filter' => array('PARENT_ID' => $category["CATEGORY_ID"]))); while ($cat = $categoriesRes->fetch()) { if ($cat["CATEGORY_ID"] != $category["CATEGORY_ID"]) { $categories[$catLevel]["CHILDREN"][$cat["CATEGORY_ID"]] = $cat; } } } return $categories; }
protected static function getCategoriesCount() { static $result = null; if ($result !== null) { return $result; } $res = \Bitrix\Sale\TradingPlatform\Ebay\CategoryTable::getList(array("select" => array("CNT"), "runtime" => array(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)')))); if ($cat = $res->fetch()) { $result = $cat["CNT"]; } return $result; }
$variationRes = Bitrix\Sale\TradingPlatform\Ebay\CategoryVariationTable::getById($variationId); if ($variation = $variationRes->fetch()) { $arResult["VARIATION_VALUES"] = $variation["VALUE"]; } break; case "set_category_property_link": if (!\Bitrix\Main\Loader::includeModule('iblock')) { $arResult["ERROR"] = "Can't include module Iblock!"; } $bitrixCategoryId = isset($_REQUEST['bitrixCategoryId']) ? trim($_REQUEST['bitrixCategoryId']) : ''; $properyId = isset($_REQUEST['properyId']) ? trim($_REQUEST['properyId']) : ''; CIBlockSectionPropertyLink::Add($bitrixCategoryId, $properyId); break; case "get_category_children": $ebayCategoryId = isset($_REQUEST['ebayCategoryId']) ? trim($_REQUEST['ebayCategoryId']) : ''; $categoriesRes = \Bitrix\Sale\TradingPlatform\Ebay\CategoryTable::getList(array('select' => array('CATEGORY_ID', 'PARENT_ID', 'NAME'), 'order' => array('NAME' => 'ASC'), 'filter' => array('PARENT_ID' => $ebayCategoryId))); while ($cat = $categoriesRes->fetch()) { if ($cat["CATEGORY_ID"] != $ebayCategoryId) { $arResult["CATEGORY_CHILDREN"][$cat["CATEGORY_ID"]] = $cat; } } break; default: $arResult["ERROR"] = "Wrong action!"; break; } } else { if (strlen($arResult["ERROR"]) <= 0) { $arResult["ERROR"] = "Access denied"; } }
if (isset($_POST["SITE_ID"]) && array_key_exists($_POST["SITE_ID"], $siteList)) { $SITE_ID = $_POST["SITE_ID"]; } else { $SITE_ID = $defaultSite; } $settings = $ebay->getSettings(); if (isset($_POST["EBAY_SETTINGS"]) && is_array($_POST["EBAY_SETTINGS"])) { $_POST["EBAY_SETTINGS"]["FEEDS"] = \Bitrix\Sale\TradingPlatform\Ebay\Agent::update($SITE_ID, $_POST["EBAY_SETTINGS"]["FEEDS"]); $settings[$SITE_ID] = array_merge($settings[$SITE_ID], $_POST["EBAY_SETTINGS"]); $bSaved = $ebay->saveSettings($settings); } $siteSettings = $settings[$SITE_ID]; unset($settings); $ebayCategoriesCount = 0; $ebayCategoriesUpdateDate = ""; $res = \Bitrix\Sale\TradingPlatform\Ebay\CategoryTable::getList(array("select" => array("CNT", "LAST_UPDATE"), "runtime" => array(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)'), new \Bitrix\Main\Entity\ExpressionField('LAST_UPDATE', 'MAX(LAST_UPDATE)')))); if ($cat = $res->fetch()) { if (!empty($cat["CNT"])) { $ebayCategoriesCount = $cat["CNT"]; } if (!empty($cat["LAST_UPDATE"])) { $ebayCategoriesUpdateDate = $cat["LAST_UPDATE"]->toString(); } } $ebayCategoriesVars = 0; $res = \Bitrix\Sale\TradingPlatform\Ebay\CategoryVariationTable::getList(array("select" => array("CNT"), "runtime" => array(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)')))); if ($var = $res->fetch()) { $ebayCategoriesVars = $var["CNT"]; } $defaultFeedIntervals = \Bitrix\Sale\TradingPlatform\Helper::getDefaultFeedIntervals(); $res = \Bitrix\Sale\TradingPlatform\Ebay\Feed\ResultsTable::getList(array("select" => array("FEED_TYPE", "MAX_UPLOAD_TIME"), "group" => array("FEED_TYPE"), "runtime" => array(new \Bitrix\Main\Entity\ExpressionField('MAX_UPLOAD_TIME', 'MAX(UPLOAD_TIME)'))));