Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 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;">&nbsp;</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>&nbsp</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;
    }
Example #5
0
 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;
 }
Example #6
0
 /**
  * @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;
 }
Example #7
0
 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];
 }
Example #8
0
						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>