protected function getMappedGroups($iblockId) { $result = array(); $catMapEntId = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryEntityId($iblockId); $catRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array('select' => array('VALUE_INTERNAL'), 'filter' => array('=ENTITY_ID' => $catMapEntId), 'group' => array('VALUE_INTERNAL'))); while ($category = $catRes->fetch()) { $result[] = $category["VALUE_INTERNAL"]; } return $result; }
protected function getMappedCategories() { $ebay = \Bitrix\Sale\TradingPlatform\Ebay\Ebay::getInstance(); $settings = $ebay->getSettings(); $iblocksIds = array(); $result = array(); foreach ($settings[$this->siteId]["IBLOCK_ID"] as $iblockId) { $iblocksIds[] = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryEntityId($iblockId); } $catMapRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array("filter" => array("ENTITY_ID" => $iblocksIds))); while ($arMapRes = $catMapRes->fetch()) { $result = $arMapRes["VALUE_EXTERNAL"]; } return $result; }
protected function getVariationsValues($iblockId, $ebayCategoryId, $ebayCategoryVariations) { $result = array(); $mappedEbayCategoryVar = array(); $catVarEntId = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryVariationEntityId($iblockId, $ebayCategoryId); $catMapVarRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array("filter" => array("ENTITY_ID" => $catVarEntId))); while ($arMapRes = $catMapVarRes->fetch()) { $mappedEbayCategoryVar[$arMapRes["VALUE_EXTERNAL"]] = $arMapRes["VALUE_INTERNAL"]; } foreach ($ebayCategoryVariations as $variation) { if ($variation["REQUIRED"] == "Y" && !array_key_exists($variation["ID"], $mappedEbayCategoryVar)) { $result[$variation["ID"]] = ""; } } $result = $result + $mappedEbayCategoryVar; $result[''] = ''; return $result; }
public function ShowTabSection($divName, $arArgs, $bVarsFromForm) { $ebay = \Bitrix\Sale\TradingPlatform\Ebay\Ebay::getInstance(); $settings = $ebay->getSettings(); if (empty($settings[$arArgs["IBLOCK"]["LID"]])) { return ''; } $siteSettings = $settings[$arArgs["IBLOCK"]["LID"]]; global $APPLICATION; //categories $resultHtml = '<tr>' . '<td width="20%" valign="top">' . Loc::getMessage("SALE_EBAY_CSTH_CATEGORY") . ':</td>' . '<td width="80%">'; $catMapRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array("filter" => array("ENTITY_ID" => \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryEntityId($arArgs["IBLOCK"]["ID"]), "VALUE_INTERNAL" => $arArgs["ID"]))); $arMapRes = $catMapRes->fetch(); $params = array("TOP_CATEGORY_SELECT_NAME" => "SALE[EBAY][TOP_CATEGORY]", "CATEGORY_INPUT_NAME" => "SALE[EBAY][EBAY_CATEGORY_ID]", "EBAY_CATEGORY_VARIATIONS_SN" => "SALE[EBAY][EBAY_CATEGORY_VARIATIONS]", "BITRIX_CATEGORY_PROPS_SN" => "SALE[EBAY][BITRIX_CATEGORY_PROPS]", "BITRIX_CATEGORY_ID" => $arArgs["ID"], "IBLOCK_ID" => $arArgs["IBLOCK"]["ID"]); if (isset($_POST["SALE"]["EBAY"]["EBAY_CATEGORY_ID"])) { $params["EBAY_CATEGORY_ID"] = $_POST["SALE"]["EBAY"]["EBAY_CATEGORY_ID"]; } elseif (isset($arMapRes["VALUE_EXTERNAL"])) { $params["EBAY_CATEGORY_ID"] = $arMapRes["VALUE_EXTERNAL"]; } if (isset($_POST["SALE"]["EBAY"]["EBAY_CATEGORY_VARIATIONS"]) && isset($_POST["SALE"]["EBAY"]["BITRIX_CATEGORY_PROPS"])) { $params["VARIATIONS_VALUES"] = array(); for ($i = 0, $l = count($_POST["SALE"]["EBAY"]["EBAY_CATEGORY_VARIATIONS"]); $i < $l; $i++) { $params["VARIATIONS_VALUES"][$_POST["SALE"]["EBAY"]["EBAY_CATEGORY_VARIATIONS"][$i]] = $_POST["SALE"]["EBAY"]["BITRIX_CATEGORY_PROPS"][$i]; } } ob_start(); $APPLICATION->IncludeComponent("bitrix:sale.ebay.categories", ".default", $params); $resultHtml .= ob_get_contents(); ob_end_clean(); $resultHtml .= '</td>' . '</tr>'; //policies $errorMsg = ""; $policy = null; $policyReturn = ""; $policyPayment = ""; $policyShipping = ""; if (isset($_POST["SALE"]["EBAY"]["POLICY"])) { if (!empty($_POST["SALE"]["EBAY"]["POLICY"]["RETURN"])) { $policyReturn = $_POST["SALE"]["EBAY"]["POLICY"]["RETURN"]; } if (!empty($_POST["SALE"]["EBAY"]["POLICY"]["SHIPPING"])) { $policyShipping = $_POST["SALE"]["EBAY"]["POLICY"]["SHIPPING"]; } if (!empty($_POST["SALE"]["EBAY"]["POLICY"]["PAYMENT"])) { $policyPayment = $_POST["SALE"]["EBAY"]["POLICY"]["PAYMENT"]; } } elseif (!empty($arMapRes["PARAMS"]["POLICY"])) { if (!empty($arMapRes["PARAMS"]["POLICY"]["RETURN"])) { $policyReturn = $arMapRes["PARAMS"]["POLICY"]["RETURN"]; } if (!empty($arMapRes["PARAMS"]["POLICY"]["SHIPPING"])) { $policyShipping = $arMapRes["PARAMS"]["POLICY"]["SHIPPING"]; } if (!empty($arMapRes["PARAMS"]["POLICY"]["PAYMENT"])) { $policyPayment = $arMapRes["PARAMS"]["POLICY"]["PAYMENT"]; } } if (strlen($policyReturn) <= 0 && !empty($siteSettings["POLICY"]["RETURN"]["DEFAULT"])) { $policyReturn = $siteSettings["POLICY"]["RETURN"]["DEFAULT"]; } if (strlen($policyShipping) <= 0 && !empty($siteSettings["POLICY"]["SHIPPING"]["DEFAULT"])) { $policyShipping = $siteSettings["POLICY"]["SHIPPING"]["DEFAULT"]; } if (strlen($policyPayment) <= 0 && !empty($siteSettings["POLICY"]["PAYMENT"]["DEFAULT"])) { $policyPayment = $siteSettings["POLICY"]["PAYMENT"]["DEFAULT"]; } if (isset($siteSettings["API"]["AUTH_TOKEN"]) && strlen($siteSettings["API"]["AUTH_TOKEN"]) > 0) { $policy = new \Bitrix\Sale\TradingPlatform\Ebay\Policy($siteSettings["API"]["AUTH_TOKEN"], $arArgs["IBLOCK"]["LID"]); } else { $errorMsg .= "You must set API token first!\n"; } $resultHtml .= ' <tr></tr><td colspan="2" style="border-top: 2px solid #e0e8ea;"> </td></tr> <tr> <td>' . Loc::getMessage("SALE_EBAY_CSTH_POLICY_RETURN") . ':</span></td> <td> <select name="SALE[EBAY][POLICY][RETURN]">'; if ($policy) { foreach ($policy->getPoliciesNames(\Bitrix\Sale\TradingPlatform\Ebay\Policy::TYPE_RETURN) as $policyId => $policyName) { $resultHtml .= '<option value="' . htmlspecialcharsbx($policyId) . '"' . ($policyReturn == $policyId ? " selected" : "") . '>' . $policyName . '</option>'; } } $resultHtml .= ' </select> </td> </tr> <tr> <td>' . Loc::getMessage("SALE_EBAY_CSTH_POLICY_SHIPMENT") . ':</td> <td> <select name="SALE[EBAY][POLICY][SHIPPING]">'; if ($policy) { foreach ($policy->getPoliciesNames(\Bitrix\Sale\TradingPlatform\Ebay\Policy::TYPE_SHIPPING) as $policyId => $policyName) { $resultHtml .= '<option value="' . htmlspecialcharsbx($policyId) . '"' . ($policyShipping == $policyId ? " selected" : "") . '>' . $policyName . '</option>'; } } $resultHtml .= ' </select> </td> </tr> <tr> <td>' . Loc::getMessage("SALE_EBAY_CSTH_POLICY_PAYMENT") . ':</td> <td> <select name="SALE[EBAY][POLICY][PAYMENT]">'; if ($policy) { foreach ($policy->getPoliciesNames(\Bitrix\Sale\TradingPlatform\Ebay\Policy::TYPE_PAYMENT) as $policyId => $policyName) { $resultHtml .= '<option value="' . htmlspecialcharsbx($policyId) . '"' . ($policyPayment == $policyId ? " selected" : "") . '>' . $policyName . '</option>'; } } $resultHtml .= ' </select> </td> </tr> <tr> <td> </td><td><a href="http://www.bizpolicy.ebay.ru/businesspolicy/manage?totalPages=1">' . Loc::getMessage('SALE_EBAY_CSTH_EDIT_POLICIES') . '</a></td> </tr>'; return $resultHtml; }
protected static function getEbayCategoriesParams($iblockId, array $bitrixCategories = array()) { static $entitiesIds = array(); if (empty($entitiesIds[$iblockId])) { $res = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryEntityId($iblockId); if (!$res) { return array(); } $entitiesIds[$iblockId] = $res; } static $params = array(); if (!isset($params[$iblockId])) { $params[$iblockId] = array(); $catRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array('filter' => array('=ENTITY_ID' => $entitiesIds[$iblockId]))); while ($category = $catRes->fetch()) { $params[$iblockId][$category["VALUE_INTERNAL"]] = $category; } } $result = array(); if (!empty($bitrixCategories)) { foreach ($bitrixCategories as $catId) { if (isset($params[$iblockId][$catId]) && is_array($params[$iblockId][$catId])) { $result[] = $params[$iblockId][$catId]; } } } else { $result = $params[$iblockId]; } return $result; }
/** * @param array $ebayDelivery Ebay deliveries ids. * @param string $siteId Site id. * @return array Bitrix delivery ids. */ public function getBitrixDeliveryIds(array $ebayDelivery, $siteId) { $result = array(); $deliveryEntId = self::getDeliveryEntityId($siteId); $deliveryRes = MapTable::getList(array("filter" => array("ENTITY_ID" => $deliveryEntId, "VALUE_EXTERNAL" => $ebayDelivery))); while ($arMapRes = $deliveryRes->fetch()) { $result[$arMapRes["VALUE_EXTERNAL"]] = $arMapRes["VALUE_INTERNAL"]; } return $result; }
protected static function getMappedCount($siteId, $ebaySettings) { static $result = array(); if (isset($result[$siteId])) { return $result[$siteId]; } $result[$siteId] = 0; if (empty($ebaySettings[$siteId]['IBLOCK_ID']) || !is_array($ebaySettings[$siteId]['IBLOCK_ID'])) { return 0; } foreach ($ebaySettings[$siteId]['IBLOCK_ID'] as $ib) { $entityId = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryEntityId($ib); $mapRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array('filter' => array('=ENTITY_ID' => $entityId), "select" => array("CNT"), "runtime" => array(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)')))); if ($map = $mapRes->fetch()) { $result[$siteId] += $map["CNT"]; } } return $result[$siteId]; }
messageError: "<?php echo Loc::getMessage('SALE_EBAY_GET_SFTP_ERROR'); ?> ", submit: false }); </script> </td> </tr> <?php $tabControl->BeginNextTab(); $res = \Bitrix\Catalog\CatalogIblockTable::getList(array('select' => array('IBLOCK_ID', 'SITE_ID' => 'IBLOCK_SITE.SITE_ID'), 'filter' => array('SITE_ID' => $SITE_ID), 'runtime' => array('IBLOCK_SITE' => array('data_type' => 'Bitrix\\Iblock\\IblockSiteTable', 'reference' => array('ref.IBLOCK_ID' => 'this.IBLOCK_ID'), 'join_type' => 'inner')))); $maps = array(); while ($ib = $res->fetch()) { $entityId = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryEntityId($ib["IBLOCK_ID"]); $mapRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array('select' => array('VALUE_EXTERNAL', 'VALUE_INTERNAL', 'CATEGORY_EBAY_NAME' => 'CATEGORY_EBAY.NAME', 'CATEGORY_BITRIX_NAME' => 'CATEGORY_BITRIX.NAME', 'IBLOCK_ID' => 'CATEGORY_BITRIX.IBLOCK_ID'), 'filter' => array('=ENTITY_ID' => $entityId), 'order' => array('CATEGORY_BITRIX_NAME' => 'ASC', 'CATEGORY_EBAY_NAME' => 'ASC'), 'runtime' => array(new \Bitrix\Main\Entity\ReferenceField('CATEGORY_EBAY', '\\Bitrix\\Sale\\TradingPlatform\\Ebay\\CategoryTable', array('=this.VALUE_EXTERNAL' => 'ref.CATEGORY_ID')), new \Bitrix\Main\Entity\ReferenceField('CATEGORY_BITRIX', '\\Bitrix\\Iblock\\SectionTable', array('=this.VALUE_INTERNAL' => 'ref.ID'))))); $maps = array_merge($maps, $mapRes->fetchAll()); } ?> <tr><td colspan="2" align="center"> <table class="adm-detail-content-table edit-table" style="opacity: 1;"> <tr><td colspan="2" align="center"> <table border="0" cellpadding="0" cellspacing="0" class="internal" style="width:80%;"> <tr class="heading"><td><?php echo Loc::getMessage("SALE_EBAY_CAT_BITRIX_NAME"); ?> </td><td><?php echo Loc::getMessage("SALE_EBAY_CAT_EBAY_NAME"); ?> </td></tr>