/**
  * Delete
  * @param $sIBlockCode
  * @param $sPropertyCode
  * @return array
  * @throws \Exception
  */
 public static function Delete($sIBlockCode, $sPropertyCode)
 {
     $rsProperty = \CIBlockProperty::GetList(array(), array('IBLOCK_CODE' => $sIBlockCode, 'CODE' => $sPropertyCode));
     if ($arProperty = $rsProperty->Fetch()) {
         if (\CIBlockProperty::Delete($arProperty['ID'])) {
             return true;
         } else {
             throw new BimException(__METHOD__ . "Iblock property delete error!");
         }
     } else {
         throw new BimException(__METHOD__ . 'Not find property with code ' . $sPropertyCode);
     }
 }
Example #2
0
 public function Delete()
 {
     if (is_array($this->_property)) {
         $obProperty = new CIBlockProperty();
         if ($obProperty->Delete($this->_property["ID"])) {
             $this->_property = false;
         }
     }
     parent::Delete();
     return true;
 }
Example #3
0
 public function deletePropertyIfExists($iblockId, $propertyCode)
 {
     $propId = $this->getPropertyId($iblockId, $propertyCode);
     if (!$propId) {
         return false;
     }
     $ib = new \CIBlockProperty();
     if ($ib->Delete($propId)) {
         return true;
     }
     $this->throwException(__METHOD__, $ib->LAST_ERROR);
 }
}
if ($arID = $lAdmin->GroupAction()) {
    if ($_REQUEST['action_target'] == 'selected') {
        $propertyIterator = Iblock\PropertyTable::getList(array('select' => array('ID'), 'filter' => $arFilter));
        while ($property = $propertyIterator->fetch()) {
            $arID[] = $property['ID'];
        }
        unset($property, $propertyIterator);
    }
    foreach ($arID as $ID) {
        if (strlen($ID) <= 0) {
            continue;
        }
        switch ($_REQUEST['action']) {
            case "delete":
                if (!CIBlockProperty::Delete($ID)) {
                    $lAdmin->AddGroupError(GetMessage("IBP_ADM_DELETE_ERROR"), $ID);
                }
                break;
            case "activate":
            case "deactivate":
                $ibp = new CIBlockProperty();
                $arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "Y" : "N");
                if (!$ibp->Update($ID, $arFields)) {
                    $lAdmin->AddUpdateError(GetMessage("IBP_ADM_SAVE_ERROR", array("#ID#" => $ID, "#ERROR_TEXT#" => $ibp->LAST_ERROR)), $ID);
                }
                break;
        }
    }
}
$arHeader = array(array("id" => "ID", "content" => GetMessage("IBP_ADM_ID"), "sort" => "ID", "align" => "right", "default" => true), array("id" => "NAME", "content" => GetMessage("IBP_ADM_NAME"), "sort" => "NAME", "default" => true), array("id" => "CODE", "content" => GetMessage("IBP_ADM_CODE"), "sort" => "CODE", "default" => true), array("id" => "PROPERTY_TYPE", "content" => GetMessage("IBP_ADM_PROPERTY_TYPE"), "sort" => "PROPERTY_TYPE", "default" => true), array("id" => "SORT", "content" => GetMessage("IBP_ADM_SORT"), "sort" => "SORT", "align" => "right", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("IBP_ADM_ACTIVE"), "sort" => "ACTIVE", "align" => "center", "default" => true), array("id" => "IS_REQUIRED", "content" => GetMessage("IBP_ADM_IS_REQUIRED"), "sort" => "IS_REQUIRED", "align" => "center", "default" => true), array("id" => "MULTIPLE", "content" => GetMessage("IBP_ADM_MULTIPLE"), "sort" => "MULTIPLE", "align" => "center", "default" => true), array("id" => "SEARCHABLE", "content" => GetMessage("IBP_ADM_SEARCHABLE"), "sort" => "SEARCHABLE", "align" => "center", "default" => true), array("id" => "FILTRABLE", "content" => GetMessage("IBP_ADM_FILTRABLE"), "sort" => "FILTRABLE", "align" => "center"), array("id" => "XML_ID", "content" => GetMessage("IBP_ADM_XML_ID"), "sort" => "XML_ID"), array("id" => "WITH_DESCRIPTION", "content" => GetMessage("IBP_ADM_WITH_DESCRIPTION"), "sort" => "WITH_DESCRIPTION", "align" => "center"), array("id" => "HINT", "content" => GetMessage("IBP_ADM_HINT")));
Example #5
0
     CAgent::AddAgent("CIBlockRSS::PreGenerateRSS(" . $ID . ", true);", "iblock", "N", IntVal($RSS_TTL) * 60 * 60, "", "Y");
 } else {
     CAgent::RemoveAgent("CIBlockRSS::PreGenerateRSS(" . $ID . ", true);", "iblock");
 }
 if ($_POST["IPROPERTY_CLEAR_VALUES"] === "Y") {
     $ipropValues = new \Bitrix\Iblock\InheritedProperty\IblockValues($ID);
     $ipropValues->clearValues();
 }
 /********************/
 $ibp = new CIBlockProperty();
 foreach ($arProperties as $property_id => $arProperty) {
     $property_id = (int) $property_id;
     $arProperty["IBLOCK_ID"] = $ID;
     if ($property_id > 0) {
         if (isset($arProperty['DEL']) && $arProperty['DEL'] == 'Y') {
             if (!CIBlockProperty::Delete($property_id) && ($ex = $APPLICATION->GetException())) {
                 $strWarning .= GetMessage("IB_E_PROPERTY_ERROR") . ": " . $ex->GetString() . "<br>";
                 $bVarsFromForm = true;
             }
         } else {
             $res = $ibp->Update($property_id, $arProperty);
             if (!$res) {
                 $strWarning .= GetMessage("IB_E_PROPERTY_ERROR") . ": " . $ibp->LAST_ERROR . "<br>";
                 $bVarsFromForm = true;
             }
         }
     } else {
         $PropID = (int) $ibp->Add($arProperty);
         if ($PropID <= 0) {
             $strWarning .= $ibp->LAST_ERROR . "<br>";
             $bVarsFromForm = true;
Example #6
0
 /**
  * <p>Функция удаляет информационный блок.</p>
  *
  *
  *
  *
  * @param int $ID  Код информационного блока.
  *
  *
  *
  * @return bool <a href="http://dev.1c-bitrix.ru/api_help/iblock/events/onbeforeiblockdelete.php">OnBeforeIBlockDelete</a><a
  * name="examples"></a>
  *
  *
  * <h4>Example</h4> 
  * <pre>
  * &lt;?<br>if($USER-&gt;IsAdmin())<br>{<br>	$DB-&gt;StartTransaction();<br>	if(!CIBlock::Delete($iblock_id))<br>	{<br>		$strWarning .= GetMessage("IBLOCK_DELETE_ERROR");<br>		$DB-&gt;Rollback();<br>	}<br>	else<br>		$DB-&gt;Commit();<br>}<br>?&gt;<br>
  * </pre>
  *
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblock/delete.php
  * @author Bitrix
  */
 public static function Delete($ID)
 {
     $err_mess = "FILE: " . __FILE__ . "<br>LINE: ";
     /** @global CDatabase $DB */
     global $DB;
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     /** @global CUserTypeManager $USER_FIELD_MANAGER */
     global $USER_FIELD_MANAGER;
     /** @global CCacheManager $CACHE_MANAGER */
     global $CACHE_MANAGER;
     $ID = IntVal($ID);
     $APPLICATION->ResetException();
     foreach (GetModuleEvents("iblock", "OnBeforeIBlockDelete", true) as $arEvent) {
         if (ExecuteModuleEventEx($arEvent, array($ID)) === false) {
             $err = GetMessage("MAIN_BEFORE_DEL_ERR") . ' ' . $arEvent['TO_NAME'];
             $ex = $APPLICATION->GetException();
             if (is_object($ex)) {
                 $err .= ': ' . $ex->GetString();
             }
             $APPLICATION->throwException($err);
             return false;
         }
     }
     foreach (GetModuleEvents("iblock", "OnIBlockDelete", true) as $arEvent) {
         ExecuteModuleEventEx($arEvent, array($ID));
     }
     $iblockSections = CIBlockSection::GetList(array(), array("IBLOCK_ID" => $ID, "DEPTH_LEVEL" => 1, "CHECK_PERMISSIONS" => "N"), false, array("ID"));
     while ($iblockSection = $iblockSections->Fetch()) {
         if (!CIBlockSection::Delete($iblockSection["ID"], false)) {
             return false;
         }
     }
     $iblockElements = CIBlockElement::GetList(array(), array("IBLOCK_ID" => $ID, "SHOW_NEW" => "Y", "CHECK_PERMISSIONS" => "N"), false, false, array("IBLOCK_ID", "ID"));
     while ($iblockElement = $iblockElements->Fetch()) {
         if (!CIBlockElement::Delete($iblockElement["ID"])) {
             return false;
         }
     }
     $props = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $ID, "CHECK_PERMISSIONS" => "N"));
     while ($property = $props->Fetch()) {
         if (!CIBlockProperty::Delete($property["ID"])) {
             return false;
         }
     }
     $seq = new CIBlockSequence($ID);
     $seq->Drop(true);
     $obIBlockRights = new CIBlockRights($ID);
     $obIBlockRights->DeleteAllRights();
     CIBlockSectionPropertyLink::DeleteByIBlock($ID);
     $DB->Query("delete from b_iblock_offers_tmp where PRODUCT_IBLOCK_ID=" . $ID, false, $err_mess . __LINE__);
     $DB->Query("delete from b_iblock_offers_tmp where OFFERS_IBLOCK_ID=" . $ID, false, $err_mess . __LINE__);
     if (!$DB->Query("DELETE FROM b_iblock_messages WHERE IBLOCK_ID = " . $ID, false, $err_mess . __LINE__)) {
         return false;
     }
     if (!$DB->Query("DELETE FROM b_iblock_fields WHERE IBLOCK_ID = " . $ID, false, $err_mess . __LINE__)) {
         return false;
     }
     $USER_FIELD_MANAGER->OnEntityDelete("IBLOCK_" . $ID . "_SECTION");
     if (!$DB->Query("DELETE FROM b_iblock_group WHERE IBLOCK_ID=" . $ID, false, $err_mess . __LINE__)) {
         return false;
     }
     if (!$DB->Query("DELETE FROM b_iblock_rss WHERE IBLOCK_ID=" . $ID, false, $err_mess . __LINE__)) {
         return false;
     }
     if (!$DB->Query("DELETE FROM b_iblock_site WHERE IBLOCK_ID=" . $ID, false, $err_mess . __LINE__)) {
         return false;
     }
     if (!$DB->Query("DELETE FROM b_iblock WHERE ID=" . $ID, false, $err_mess . __LINE__)) {
         return false;
     }
     $DB->Query("DROP TABLE b_iblock_element_prop_s" . $ID, true, $err_mess . __LINE__);
     $DB->Query("DROP TABLE b_iblock_element_prop_m" . $ID, true, $err_mess . __LINE__);
     $DB->Query("DROP SEQUENCE sq_b_iblock_element_prop_m" . $ID, true, $err_mess . __LINE__);
     CIBlock::CleanCache($ID);
     if (defined("BX_COMP_MANAGED_CACHE")) {
         $CACHE_MANAGER->ClearByTag("iblock_id_" . $ID);
     }
     $_SESSION["SESS_RECOUNT_DB"] = "Y";
     return true;
 }
Example #7
0
 /**
  *
  */
 public function process()
 {
     if ($this->processed) {
         return;
     }
     $this->processed = true;
     foreach ($this->generateData() as $k => $v) {
         $this->data[$k] = $v;
     }
     $this->update();
     $o = new \CIBlock();
     $mesages = $this->messages();
     $o->SetMessages($this->getId(), $mesages);
     $fields = $this->fields();
     $o->SetFields($this->getId(), $fields);
     $props = $this->loadProperties();
     $newProps = $this->properties();
     foreach ($this->urlsProps() as $key => $data) {
         $newProps[$key] = $data;
     }
     $o = new \CIBlockProperty();
     foreach ($props as $prop => $data) {
         if (!isset($newProps[$prop])) {
             $o->Delete($data['ID']);
         }
     }
     foreach ($newProps as $prop => $data) {
         $data['CODE'] = $prop;
         if ($data['PROPERTY_TYPE'] == 'E' || $data['PROPERTY_TYPE'] == 'G') {
             if (!isset($data['LINK_IBLOCK_ID'])) {
                 if (isset($data['LINK_IBLOCK_CODE'])) {
                     $data['LINK_IBLOCK_ID'] = self::codeToId($data['LINK_IBLOCK_CODE']);
                 }
             }
         }
         if (isset($props[$prop])) {
             $id = $props[$prop]['ID'];
             $o->Update($id, $data);
         } else {
             $data['IBLOCK_ID'] = $this->getId();
             $id = $o->Add($data);
         }
         if ($data['PROPERTY_TYPE'] == 'L' && isset($data['ITEMS']) && is_array($data['ITEMS'])) {
             $items = array();
             $newItems = $data['ITEMS'];
             $res = \CIBlockPropertyEnum::GetList(array(), array('PROPERTY_ID' => $id, 'CHECK_PERMISSIONS' => 'N'));
             while ($row = $res->Fetch()) {
                 $iid = $row['ID'];
                 $eid = $row['EXTERNAL_ID'];
                 if (!isset($newItems[$eid])) {
                     \CIBlockPropertyEnum::Delete($iid);
                 } else {
                     $items[$eid] = $row;
                 }
             }
             $eo = new \CIBlockPropertyEnum();
             foreach ($newItems as $eid => $edata) {
                 if (is_string($edata)) {
                     $edata = array('VALUE' => $edata);
                 }
                 $edata['PROPERTY_ID'] = $id;
                 $edata['EXTERNAL_ID'] = $eid;
                 $edata['XML_ID'] = $eid;
                 if (isset($items[$eid])) {
                     $eo->Update($items[$eid]['ID'], $edata);
                 } else {
                     $eo->Add($edata);
                 }
             }
         }
     }
 }
Example #8
0
	protected function delPropertiesInlock($arProperties){
		if (!CModule::IncludeModule("iblock")):
			return false; 
		endif;
		foreach ($arProperties as $key => $prop) :
			if (!CIBlockProperty::Delete($prop["ID"])):
				return false;
			endif;
		endforeach;
		return $res;
	}
Example #9
0
        }
    }
    if (!empty($errorMsg)) {
        ShowError($errorMsg);
    }
    unset($_GET['ID'], $_POST['ID'], $_REQUEST['ID']);
    // otherwise the filter will work
    /*if(!isset($_POST['AJAX_CALL']))
    	{
    		LocalRedirect($APPLICATION->GetCurPage());
    	}*/
} elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && check_bitrix_sessid() && isset($_GET['action_' . $arResult['GRID_ID']])) {
    if ($arResult['CAN_DELETE'] && $_GET['action_' . $arResult['GRID_ID']] === 'delete') {
        $id = isset($_GET['ID']) ? $_GET['ID'] : 0;
        if ($id > 0) {
            if (!CIBlockProperty::Delete($id)) {
                $errorMsg .= GetMessage("CRM_PRODUCT_PROP_PL_DELETE_ERROR", array("#ID#" => $id)) . '<br>';
            }
        }
        unset($_GET['ID'], $_REQUEST['ID']);
        // otherwise the filter will work
    }
    if (!empty($errorMsg)) {
        ShowError($errorMsg);
    }
    unset($_GET['ID'], $_POST['ID'], $_REQUEST['ID']);
    // otherwise the filter will work
    /*if(!isset($_POST['AJAX_CALL']))
    	{
    		LocalRedirect($APPLICATION->GetCurPage());
    	}*/
 protected function dropElementProperty($iblockId, $propertyName)
 {
     $query = CIBlockProperty::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("ACTIVE" => "Y", "IBLOCK_ID" => $iblockId, 'CODE' => $propertyName));
     if ($query && ($row = $query->fetch())) {
         CIBlockProperty::Delete($row['ID']);
     }
 }
Example #11
0
        }
        if ($propID <= 0) {
            $errMsg .= $ibp->LAST_ERROR;
            $bVarsFromForm = true;
            if ($e = $APPLICATION->GetException()) {
                $errMsg .= $e->GetString() . '<br>';
            }
        } else {
            if (isset($_POST['apply'])) {
                LocalRedirect(CComponentEngine::makePathFromTemplate($arParams['PATH_TO_PRODUCTPROPS_EDIT'], array('prop_id' => $propID)));
            } else {
                LocalRedirect(CComponentEngine::makePathFromTemplate($arParams['PATH_TO_PRODUCTPROPS_LIST']));
            }
        }
    } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) {
        CIBlockProperty::Delete($propID);
        LocalRedirect(CComponentEngine::makePathFromTemplate($arParams['PATH_TO_PRODUCTPROPS_LIST']));
    }
}
$arResult['ERR_MSG'] = $errMsg . $errMsgDirValues;
if ($bVarsFromForm) {
    $arProperty = array("ID" => $propID, "ACTIVE" => $_POST["PROPERTY_ACTIVE"], "IBLOCK_ID" => $iblockID, "NAME" => $_POST["PROPERTY_NAME"], "SORT" => $_POST["PROPERTY_SORT"], "CODE" => $_POST["PROPERTY_CODE"], "MULTIPLE" => $_POST["PROPERTY_MULTIPLE"], "IS_REQUIRED" => $_POST["PROPERTY_IS_REQUIRED"], "SEARCHABLE" => $_POST["PROPERTY_SEARCHABLE"], "FILTRABLE" => $_POST["PROPERTY_FILTRABLE"], "WITH_DESCRIPTION" => $_POST["PROPERTY_WITH_DESCRIPTION"], "MULTIPLE_CNT" => $_POST["PROPERTY_MULTIPLE_CNT"], "HINT" => $_POST["PROPERTY_HINT"], "SECTION_PROPERTY" => $_POST["PROPERTY_SECTION_PROPERTY"], "SMART_FILTER" => $_POST["PROPERTY_SMART_FILTER"], "ROW_COUNT" => $_POST["PROPERTY_ROW_COUNT"], "COL_COUNT" => $_POST["PROPERTY_COL_COUNT"], "DEFAULT_VALUE" => $_POST["PROPERTY_DEFAULT_VALUE"], "FILE_TYPE" => $_POST["PROPERTY_FILE_TYPE"]);
    if (isset($_POST["PROPERTY_PROPERTY_TYPE"])) {
        if (strpos($_POST["PROPERTY_PROPERTY_TYPE"], ":")) {
            list($arProperty["PROPERTY_TYPE"], $arProperty["USER_TYPE"]) = explode(':', $_POST["PROPERTY_PROPERTY_TYPE"], 2);
        } else {
            $arProperty["PROPERTY_TYPE"] = $_POST["PROPERTY_PROPERTY_TYPE"];
        }
    }
    if (!empty($arListValues)) {
        $arProperty["VALUES"] = $arListValues;
 /**
  * Delete subject record
  * @param $id
  * @param null $dbVersion
  * @return ApplyResult
  */
 public function delete($id, $dbVersion = null)
 {
     $dbVersion && ($id = $this->getCurrentVersionId($id, $dbVersion));
     !$dbVersion && !$this->hasCurrentReference($id) && $this->registerCurrentVersionId($id);
     $res = new ApplyResult();
     $res->setSuccess((bool) \CIBlockProperty::Delete($id));
     $res->isSuccess() && $this->removeCurrentVersion($id);
     return $res;
 }
Example #13
0
 /**
  * @param string $iblock
  * @param string $code
  */
 protected function IblockPropertyDelete($iblock, $code)
 {
     $ibId = $this->IblockGetIdByCode($iblock);
     if (!$ibId) {
         throw new \Exception("Can't find iblock {$iblock}");
     }
     $res = \CIBlockProperty::GetList([], ['CODE' => $code, 'IBLOCK_ID' => $ibId, 'CHECK_PERMISSIONS' => 'N']);
     if ($ob = $res->Fetch()) {
         if (!\CIBlockProperty::Delete($ob['ID'])) {
             throw new \Exception("Can't delete iblock property {$code}");
         }
     }
 }
 public function deletePropertyById($propertyId)
 {
     $ib = new \CIBlockProperty();
     if ($ib->Delete($propertyId)) {
         return true;
     }
     $this->throwException(__METHOD__, $ib->LAST_ERROR);
 }
        $str_PROPERTY_ID = $str_PROPERTY_IDCheck;
        unset($str_PROPERTY_IDCheck);
        $rsProps = CIBlockProperty::GetByID($str_PROPERTY_ID, $intIBlockID);
        if (!($arPropCheck = $rsProps->Fetch())) {
            require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
            ShowError(str_replace('#ID#', $str_PROPERTY_ID, GetMessage("BT_ADM_IEP_PROPERTY_IS_NOT_EXISTS")));
            require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
            die;
        }
    }
}
$bVarsFromForm = $bReload;
$message = false;
$strWarning = "";
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["action"]) && $_POST["action"] === "delete") {
    CIBlockProperty::Delete($str_PROPERTY_ID);
    if (strlen($return_url) > 0) {
        LocalRedirect($return_url);
    } else {
        LocalRedirect('iblock_property_admin.php?lang=' . LANGUAGE_ID . '&IBLOCK_ID=' . $intIBlockID . ($_REQUEST["admin"] == "Y" ? "&admin=Y" : "&admin=N"));
    }
} elseif (!$bReload && $_SERVER["REQUEST_METHOD"] == "POST" && (isset($_POST["save"]) || isset($_POST["apply"]))) {
    $arFields = array("ACTIVE" => $_POST["PROPERTY_ACTIVE"], "IBLOCK_ID" => $_POST["IBLOCK_ID"], "LINK_IBLOCK_ID" => $_POST["PROPERTY_LINK_IBLOCK_ID"], "NAME" => $_POST["PROPERTY_NAME"], "SORT" => $_POST["PROPERTY_SORT"], "CODE" => $_POST["PROPERTY_CODE"], "MULTIPLE" => $_POST["PROPERTY_MULTIPLE"], "IS_REQUIRED" => $_POST["PROPERTY_IS_REQUIRED"], "SEARCHABLE" => $_POST["PROPERTY_SEARCHABLE"], "FILTRABLE" => $_POST["PROPERTY_FILTRABLE"], "WITH_DESCRIPTION" => $_POST["PROPERTY_WITH_DESCRIPTION"], "MULTIPLE_CNT" => $_POST["PROPERTY_MULTIPLE_CNT"], "HINT" => $_POST["PROPERTY_HINT"], "ROW_COUNT" => $_POST["PROPERTY_ROW_COUNT"], "COL_COUNT" => $_POST["PROPERTY_COL_COUNT"], "DEFAULT_VALUE" => $_POST["PROPERTY_DEFAULT_VALUE"], "LIST_TYPE" => $_POST["PROPERTY_LIST_TYPE"], "USER_TYPE_SETTINGS" => $_POST["PROPERTY_USER_TYPE_SETTINGS"], "FILE_TYPE" => $_POST["PROPERTY_FILE_TYPE"]);
    if (isset($_POST["PROPERTY_SECTION_PROPERTY"])) {
        $arFields["SECTION_PROPERTY"] = $_POST["PROPERTY_SECTION_PROPERTY"];
        if (isset($_POST["PROPERTY_SMART_FILTER"])) {
            $arFields["SMART_FILTER"] = $_POST["PROPERTY_SMART_FILTER"];
        }
        if (isset($_POST["PROPERTY_DISPLAY_TYPE"])) {
            $arFields["DISPLAY_TYPE"] = $_POST["PROPERTY_DISPLAY_TYPE"];
        }
 /**
  * @param int $id
  *
  * @throws MigrationException
  */
 protected function deleteProperty($id)
 {
     /** @global $APPLICATION \CMain */
     /** @global $DB \CDatabase */
     global $APPLICATION;
     global $DB;
     $DB->StartTransaction();
     if (\CIBlockProperty::Delete($id)) {
         $DB->Commit();
     } else {
         $DB->Rollback();
         throw new MigrationException($APPLICATION->GetException());
     }
 }
Example #17
0
    while ($arProperty = $dbProperty->GetNext()) {
        $arFields["find_el_property_" . $arProperty["ID"]] = "";
    }
    $dbProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $IBLOCK_CATALOG_ID, "CODE" => "SPECIALOFFER"));
    while ($arProperty = $dbProperty->GetNext()) {
        $arFields["find_el_property_" . $arProperty["ID"]] = "";
    }
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/interface/admin_lib.php";
    CAdminFilter::AddPresetToBase(array("NAME" => GetMessage("WIZ_PRECET"), "FILTER_ID" => "tbl_product_admin_" . md5($iblockType . "." . $IBLOCK_CATALOG_ID) . "_filter", "LANGUAGE_ID" => $lang, "FIELDS" => $arFields));
    CUserOptions::SetOption("filter", "tbl_product_admin_" . md5($iblockType . "." . $IBLOCK_CATALOG_ID) . "_filter", array("rows" => "find_el_name, find_el_active, find_el_timestamp_from, find_el_timestamp_to"), true);
    CAdminFilter::SetDefaultRowsOption("tbl_product_admin_" . md5($iblockType . "." . $IBLOCK_CATALOG_ID) . "_filter", array("miss-0", "IBEL_A_F_PARENT"));
    //delete 1c props
    $arPropsToDelete = array("CML2_TAXES", "CML2_BASE_UNIT", "CML2_TRAITS", "CML2_ATTRIBUTES", "CML2_ARTICLE", "CML2_BAR_CODE", "CML2_FILES", "CML2_MANUFACTURER", "CML2_PICTURES");
    foreach ($arPropsToDelete as $code) {
        $dbProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $IBLOCK_CATALOG_ID, "XML_ID" => $code));
        if ($arProperty = $dbProperty->GetNext()) {
            CIBlockProperty::Delete($arProperty["ID"]);
        }
        if ($IBLOCK_OFFERS_ID) {
            $dbProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $IBLOCK_OFFERS_ID, "XML_ID" => $code));
            if ($arProperty = $dbProperty->GetNext()) {
                CIBlockProperty::Delete($arProperty["ID"]);
            }
        }
    }
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/catalog/index.php", array("CATALOG_IBLOCK_ID" => $IBLOCK_CATALOG_ID));
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/sect_inc.php", array("CATALOG_IBLOCK_ID" => $IBLOCK_CATALOG_ID));
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/_index.php", array("CATALOG_IBLOCK_ID" => $IBLOCK_CATALOG_ID, "OFFERS_IBLOCK_ID" => $IBLOCK_OFFERS_ID));
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/catalog/sect_sidebar.php.php", array("CATALOG_IBLOCK_ID" => $IBLOCK_CATALOG_ID));
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/include/viewed_product.php", array("CATALOG_IBLOCK_ID" => $IBLOCK_CATALOG_ID, "OFFERS_IBLOCK_ID" => $IBLOCK_OFFERS_ID));
}
Example #18
0
 protected function innerDelete($id, &$errors)
 {
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     if (!CModule::IncludeModule('iblock')) {
         throw new RestException('Could not load iblock module.');
     }
     /** @var CCrmPerms $userPerms */
     $userPerms = CCrmPerms::GetCurrentUserPermissions();
     if (!$userPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE')) {
         $errors[] = 'Access denied.';
         return false;
     }
     $iblockId = intval(CCrmCatalog::EnsureDefaultExists());
     $userTypes = CCrmProductPropsHelper::GetPropsTypesByOperations(false, 'rest');
     $res = CIBlockProperty::GetByID($id, $iblockId);
     $result = false;
     if (is_object($res)) {
         $result = $res->Fetch();
     }
     unset($res);
     if (!is_array($result) || isset($result['USER_TYPE']) && !empty($result['USER_TYPE']) && !array_key_exists($result['USER_TYPE'], $userTypes)) {
         $errors[] = 'Not found';
         return false;
     }
     if (!CIBlockProperty::Delete($id)) {
         if ($e = $APPLICATION->GetException()) {
             $errors[] = $e->GetString();
         } else {
             $errors[] = 'Error on deleting product property.';
         }
         return false;
     }
     return true;
 }