Example #1
0
							if (
								$arCurValues['SUBSCRIPTION'] != $arIBlockInfo['SUBSCRIPTION']
								|| $arCurValues['PRODUCT_IBLOCK_ID'] != $arIBlockInfo['PRODUCT_IBLOCK_ID']
								|| $arCurValues['YANDEX_EXPORT'] != $arIBlockInfo['YANDEX_EXPORT']
								|| $arCurValues['VAT_ID'] != $arIBlockInfo['VAT_ID']
							)
							{
								$boolCatalogUpdate = true;
							}
							if ($arIBlockInfo['YANDEX_EXPORT']=="Y")
								$bNeedAgent = true;
						}
					}
					elseif ($boolExists && $arIBlockInfo['CATALOG']!="Y" && $arIBlockInfo['SUBSCRIPTION']!="Y" && 0 == $arIBlockInfo['PRODUCT_IBLOCK_ID'])
					{
						if (!CCatalog::Delete($arIBlockInfo['ID']))
						{
							$boolFlag = false;
							$strWarning .= Loc::getMessage("CAT_DEL_CATALOG1").' '.$arIBlockInfo['INFO'].' '.Loc::getMessage("CAT_DEL_CATALOG2").".<br />";
						}
						else
						{
							$boolCatalogUpdate = true;
						}
					}
					elseif ($arIBlockInfo['CATALOG']=="Y" || $arIBlockInfo['SUBSCRIPTION']=="Y" || 0 < $arIBlockInfo['PRODUCT_IBLOCK_ID'])
					{
						$boolAttr = $obCatalog->Add(array(
							'IBLOCK_ID' => $arIBlockInfo['ID'],
							'YANDEX_EXPORT' => $arIBlockInfo['YANDEX_EXPORT'],
							'SUBSCRIPTION' => $arIBlockInfo['SUBSCRIPTION'],
Example #2
0
 $arOffersFields = array('IBLOCK_ID' => $ID, 'SUBSCRIPTION' => $SUBSCRIPTION, 'YANDEX_EXPORT' => $YANDEX_EXPORT, 'VAT_ID' => $VAT_ID);
 if (false == $arCatalog || 'P' == $arCatalog['CATALOG_TYPE']) {
     if ($IS_CATALOG == 'Y') {
         $boolFlag = $obCatalog->Add($arOffersFields);
     }
     if ($boolFlag && $arOffersFields['YANDEX_EXPORT'] == 'Y') {
         $boolNeedAgent = true;
     }
 } else {
     if ($IS_CATALOG == 'Y' || $SUBSCRIPTION == 'Y') {
         $boolFlag = $obCatalog->Update($ID, $arOffersFields);
         if ($boolFlag) {
             $boolNeedAgent = $YANDEX_EXPORT != $arCatalog['YANDEX_EXPORT'];
         }
     } elseif ('Y' != $IS_CATALOG && 'Y' != $SUBSCRIPTION) {
         $boolFlag = $obCatalog->Delete($ID);
         if ($boolFlag) {
             $boolNeedAgent == ('Y' == $arCatalog['YANDEX_EXPORT']);
         }
     }
 }
 if (!$boolFlag) {
     $bVarsFromForm = true;
     if ($ex = $APPLICATION->GetException()) {
         $strWarning .= $ex->GetString() . "<br>";
     }
 }
 if (!$bVarsFromForm) {
     // start offers
     if ('Y' == $USED_SKU) {
         if (0 == $OF_IBLOCK_ID) {
Example #3
0
 public static function OnIBlockDelete($ID)
 {
     return CCatalog::Delete($ID);
 }
Example #4
0
     $boolAttr = $obCatalog->Update($intIBlockID, array('IBLOCK_ID' => $arIBlockInfo['ID'], "YANDEX_EXPORT" => $arIBlockInfo['YANDEX_EXPORT'], "SUBSCRIPTION" => $arIBlockInfo['SUBSCRIPTION'], "VAT_ID" => $arIBlockInfo['VAT_ID'], "PRODUCT_IBLOCK_ID" => $arIBlockInfo['PRODUCT_IBLOCK_ID'], 'SKU_PROPERTY_ID' => $arIBlockInfo['SKU_PROPERTY_ID']));
     if (false == $boolAttr) {
         $ex = $APPLICATION->GetException();
         $strError = $ex->GetString();
         $strWarning .= str_replace(array('#PRODUCT#', '#ERROR#'), array($arIBlockInfo['INFO'], $strError), GetMessage('CAT_IBLOCK_OFFERS_ERR_CAT_UPDATE')) . '<br />';
         $boolFlag = false;
     } else {
         if ($ar_res1['SUBSCRIPTION'] != $arIBlockInfo['SUBSCRIPTION'] || intval($ar_res1['PRODUCT_IBLOCK_ID']) != intval($arIBlockInfo['PRODUCT_IBLOCK_ID']) || $ar_res1['YANDEX_EXPORT'] != $arIBlockInfo['YANDEX_EXPORT'] || $ar_res1['VAT_ID'] != $arIBlockInfo['VAT_ID']) {
             $boolCatalogUpdate = true;
         }
         if ($arIBlockInfo['YANDEX_EXPORT'] == "Y") {
             $bNeedAgent = True;
         }
     }
 } elseif ($arIBlockInfo['CATALOG'] != "Y" && $arIBlockInfo['SUBSCRIPTION'] != "Y" && 0 == $arIBlockInfo['PRODUCT_IBLOCK_ID'] && $ar_res1) {
     if (CCatalog::Delete($arIBlockInfo['ID']) === False) {
         $boolFlag = false;
         $strWarning .= GetMessage("CAT_DEL_CATALOG1") . ' ' . $arIBlockInfo['INFO'] . ' ' . GetMessage("CAT_DEL_CATALOG2") . ".<br />";
     } else {
         $boolCatalogUpdate = true;
     }
 } elseif ($arIBlockInfo['CATALOG'] == "Y" || $arIBlockInfo['SUBSCRIPTION'] == "Y" || 0 < $arIBlockInfo['PRODUCT_IBLOCK_ID']) {
     $boolAttr = $obCatalog->Add(array('IBLOCK_ID' => $arIBlockInfo['ID'], "YANDEX_EXPORT" => $arIBlockInfo['YANDEX_EXPORT'], "SUBSCRIPTION" => $arIBlockInfo['SUBSCRIPTION'], "VAT_ID" => $arIBlockInfo['VAT_ID'], "PRODUCT_IBLOCK_ID" => $arIBlockInfo['PRODUCT_IBLOCK_ID'], 'SKU_PROPERTY_ID' => $arIBlockInfo['SKU_PROPERTY_ID']));
     if (false == $boolAttr) {
         $ex = $APPLICATION->GetException();
         $strError = $ex->GetString();
         $strWarning .= str_replace(array('#PRODUCT#', '#ERROR#'), array($arIBlockInfo['INFO'], $strError), GetMessage('CAT_IBLOCK_OFFERS_ERR_CAT_ADD')) . '<br />';
         $boolFlag = false;
     } else {
         if ($arIBlockInfo['YANDEX_EXPORT'] == "Y") {
             $bNeedAgent = True;
Example #5
0
 public static function Delete($ID)
 {
     if (!CModule::IncludeModule('catalog')) {
         return false;
     }
     self::$LAST_ERROR = '';
     global $DB;
     $tableName = CCrmCatalog::TABLE_NAME;
     $ID = intval($ID);
     if (!is_array(self::GetByID($ID))) {
         // Is no exists
         return true;
     }
     $events = GetModuleEvents('crm', 'OnBeforeCrmCatalogDelete');
     while ($arEvent = $events->Fetch()) {
         if (ExecuteModuleEventEx($arEvent, array($ID)) === false) {
             return false;
         }
     }
     $dbRes = CCrmProduct::GetList(array(), array('CATALOG_ID' => $ID), array('ID'));
     while ($arRes = $dbRes->Fetch()) {
         $productID = $arRes['ID'];
         if (!CCrmProduct::Delete($productID)) {
             self::RegisterError(sprintf('Deletion of CrmCatalog(ID=%d) is canceled. Could not delete CrmProduct(ID = %d).', $ID, $productID));
             return false;
         }
     }
     if (!$DB->Query('DELETE FROM ' . $tableName . ' WHERE ID = ' . $ID, true)) {
         return false;
     }
     // -------------- remove from catalog module -------------->
     $CCatalog = new CCatalog();
     if (!$CCatalog->Delete($ID)) {
         return false;
     }
     // <-------------- remove from catalog module --------------
     CCrmEntityHelper::RemoveCached(self::CACHE_NAME, $ID);
     $events = GetModuleEvents('crm', 'OnCrmCatalogDelete');
     while ($arEvent = $events->Fetch()) {
         ExecuteModuleEventEx($arEvent, array($ID));
     }
     return true;
 }
Example #6
0
 function OnIBlockDelete($ID)
 {
     return CCatalog::Delete($ID);
 }