Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
            $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";
    }
}
Exemplo n.º 5
0
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)'))));