$redirectUrl = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_PRODUCT_EDIT'], array('product_id' => 0)); } else { $redirectUrl = $arResult['BACK_URL']; } } LocalRedirect(CHTTP::urlAddParams($redirectUrl, array('list_section_id' => isset($arResult['LIST_SECTION_ID']) ? $arResult['LIST_SECTION_ID'] : 0))); } } } else { if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) { $err = ''; $productID = isset($arParams['PRODUCT_ID']) ? intval($arParams['PRODUCT_ID']) : 0; $product = $productID > 0 ? CCrmProduct::GetByID($productID, true) : null; if ($product) { if (!CCrmProduct::Delete($productID)) { $err = CCrmProduct::GetLastError(); if (!isset($err[0])) { $err = GetMessage('CRM_PRODUCT_DELETE_UNKNOWN_ERROR'); } } } if (isset($err[0])) { ShowError($err); $bVarsFromForm = true; } else { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_PRODUCT_LIST'], array('section_id' => isset($arResult['LIST_SECTION_ID']) ? $arResult['LIST_SECTION_ID'] : 0))); } } } } $productID = isset($arParams['PRODUCT_ID']) ? intval($arParams['PRODUCT_ID']) : 0;
$result = true; if ($elementType === 'P') { $result = CCrmProduct::Delete($ID); } else { if ($elementType === 'S') { $result = CCrmProductSection::Delete($ID) || CCrmProductSection::GetLastErrorCode() === CCrmProductSection::ERR_SECTION_NOT_FOUND; } } if ($result) { $DB->Commit(); } else { if ($errorMessage !== '') { $errorMessage .= '<br />'; } if ($elementType === 'P') { $errorMessage .= CCrmProduct::GetLastError(); } else { if ($elementType === 'S') { $errorMessage .= CCrmProductSection::GetLastError(); } } $DB->Rollback(); } } } if (strlen($errorMessage) > 0) { $errorID = uniqid('crm_err_'); $_SESSION[$errorID] = $errorMessage; LocalRedirect(CHTTP::urlAddParams($APPLICATION->GetCurPage(), array('error' => $errorID))); } if (!$actionData['AJAX_CALL']) {
protected function innerDelete($ID, &$errors) { if (!(CCrmProduct::CheckDeletePermission($ID) && CCrmProduct::EnsureDefaultCatalogScope($ID))) { $errors[] = 'Access denied.'; return false; } $result = CCrmProduct::Delete($ID); if ($result !== true) { $errors[] = CCrmProduct::GetLastError(); } return $result; }
protected function innerDelete($ID, &$errors) { if (!CModule::IncludeModule('iblock')) { throw new RestException('Could not load iblock module.'); } if (!(CCrmProduct::CheckDeletePermission($ID) && CCrmProduct::EnsureDefaultCatalogScope($ID))) { $errors[] = 'Access denied.'; return false; } $result = CCrmProduct::Delete($ID); if ($result !== true) { $errors[] = CCrmProduct::GetLastError(); } return $result; }