function SelectBox($sFieldName, $sValue, $sDefaultValue = "", $JavaChangeFunc = "", $sAdditionalParams = "") { if (!isset($GLOBALS["MAIN_EXTRA_LIST_CACHE"]) || !is_array($GLOBALS["MAIN_EXTRA_LIST_CACHE"]) || count($GLOBALS["MAIN_EXTRA_LIST_CACHE"]) < 1) { unset($GLOBALS["MAIN_EXTRA_LIST_CACHE"]); $l = CExtra::GetList(array("NAME" => "ASC")); while ($l_res = $l->Fetch()) { $GLOBALS["MAIN_EXTRA_LIST_CACHE"][] = $l_res; } } $s = '<select name="' . $sFieldName . '"'; if (!empty($JavaChangeFunc)) { $s .= ' OnChange="' . $JavaChangeFunc . '"'; } if (!empty($sAdditionalParams)) { $s .= ' ' . $sAdditionalParams . ' '; } $s .= '>' . "\n"; $found = false; $intCount = count($GLOBALS["MAIN_EXTRA_LIST_CACHE"]); for ($i = 0; $i < $intCount; $i++) { $found = intval($GLOBALS["MAIN_EXTRA_LIST_CACHE"][$i]["ID"]) == intval($sValue); $s1 .= '<option value="' . $GLOBALS["MAIN_EXTRA_LIST_CACHE"][$i]["ID"] . '"' . ($found ? ' selected' : '') . '>' . htmlspecialcharsbx($GLOBALS["MAIN_EXTRA_LIST_CACHE"][$i]["NAME"]) . ' (' . htmlspecialcharsbx($GLOBALS["MAIN_EXTRA_LIST_CACHE"][$i]["PERCENTAGE"]) . '%)</option>' . "\n"; } if (!empty($sDefaultValue)) { $s .= "<option value='' " . ($found ? "" : "selected") . ">" . htmlspecialcharsbx($sDefaultValue) . "</option>"; } return $s . $s1 . '</select>'; }
function SelectBox($sFieldName, $sValue, $sDefaultValue = "", $JavaChangeFunc = "", $sAdditionalParams = "") { if (empty(self::$arExtraCache)) { $rsExtras = CExtra::GetList(array("NAME" => "ASC")); while ($arExtra = $rsExtras->Fetch()) { $arExtra['ID'] = intval($arExtra['ID']); self::$arExtraCache[$arExtra['ID']] = $arExtra; if (defined('CATALOG_GLOBAL_VARS') && 'Y' == CATALOG_GLOBAL_VARS) { global $MAIN_EXTRA_LIST_CACHE; $MAIN_EXTRA_LIST_CACHE = self::$arExtraCache; } } } $s = '<select name="' . $sFieldName . '"'; if (!empty($JavaChangeFunc)) { $s .= ' onchange="' . $JavaChangeFunc . '"'; } if (!empty($sAdditionalParams)) { $s .= ' ' . $sAdditionalParams . ' '; } $s .= '>'; $sValue = intval($sValue); $boolFound = isset(self::$arExtraCache[$sValue]); if (!empty($sDefaultValue)) { $s .= '<option value="0"' . ($boolFound ? '' : ' selected') . '>' . htmlspecialcharsex($sDefaultValue) . '</option>'; } foreach (self::$arExtraCache as &$arExtra) { $s .= '<option value="' . $arExtra['ID'] . '"' . ($arExtra['ID'] == $sValue ? ' selected' : '') . '>' . htmlspecialcharsex($arExtra['NAME']) . ' (' . htmlspecialcharsex($arExtra['PERCENTAGE']) . '%)</option>'; } if (isset($arExtra)) { unset($arExtra); } return $s . '</select>'; }
$arBasePrice = CPrice::GetBasePrice($PRODUCT_ID, $arPriceBoundaries[0]["FROM"], $arPriceBoundaries[0]["TO"]); echo GetMessage("BASE_PRICE"); ?> (<?php echo GetMessage('C2IT_PRICE_TYPE'); ?> "<?php echo htmlspecialcharsbx(!empty($arBaseGroup['NAME_LANG']) ? $arBaseGroup['NAME_LANG'] : $arBaseGroup["NAME"]); ?> "): </td> <td width="60%"> <script type="text/javascript"> var arExtra = [], arExtraPrc = []; <?php $db_extras = CExtra::GetList($by3 = "NAME", $order3 = "ASC"); $i = 0; while ($extras = $db_extras->Fetch()) { echo "arExtra[" . $i . "]=" . $extras["ID"] . ";"; echo "arExtraPrc[" . $i . "]=" . $extras["PERCENTAGE"] . ";"; $i++; } ?> function OnChangeExtra(priceType) { if (bReadOnly) return; var e_base_price = BX('CAT_BASE_PRICE'); var e_extra = BX('CAT_EXTRA_' + priceType); var e_price = BX('CAT_PRICE_' + priceType); var e_currency = BX('CAT_CURRENCY_' + priceType);
false, false, array('ID', 'NAME', 'NAME_LANG') ); while ($arCatalogGroup = $dbCatalogGroups->Fetch()) { $arHeader[] = array( "id" => "CATALOG_GROUP_".$arCatalogGroup["ID"], "content" => htmlspecialcharsex(!empty($arCatalogGroup["NAME_LANG"]) ? $arCatalogGroup["NAME_LANG"] : $arCatalogGroup["NAME"]), "align" => "right", "sort" => "CATALOG_PRICE_".$arCatalogGroup["ID"], ); $arCatGroup[$arCatalogGroup["ID"]] = $arCatalogGroup; } $arCatExtra = array(); $db_extras = CExtra::GetList(array("NAME" =>"ASC")); while ($extras = $db_extras->Fetch()) $arCatExtra[] = $extras; } if ($bBizproc) { $arWorkflowTemplates = CBPDocument::GetWorkflowTemplatesForDocumentType(array(MODULE_ID, ENTITY, DOCUMENT_TYPE)); foreach ($arWorkflowTemplates as $arTemplate) { $arHeader[] = array( "id" => "WF_".$arTemplate["ID"], "content" => $arTemplate["NAME"], ); } $arHeader[] = array(
break; } } } $arHeaders = array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "NAME", "content" => GetMessage("EXTRA_NAME"), "sort" => "NAME", "default" => true), array("id" => "PERCENTAGE", "content" => GetMessage('EXTRA_PERCENTAGE'), "sort" => "PERCENTAGE", "default" => true)); if (!$bReadOnly) { $arHeaders[] = array("id" => "RECALCULATE", "content" => GetMessage("EXTRA_RECALCULATE"), "default" => true); } $lAdmin->AddHeaders($arHeaders); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); if (array_key_exists("mode", $_REQUEST) && $_REQUEST["mode"] == "excel") { $arNavParams = false; } else { $arNavParams = array("nPageSize" => CAdminResult::GetNavSize($sTableID)); } $dbResultList = CExtra::GetList(array($by => $order), $arFilter, false, $arNavParams); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("cat_extra_nav"))); while ($arExtra = $dbResultList->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arExtra); $row->AddField("ID", $f_ID); if ($bReadOnly) { $row->AddViewField("NAME", $f_NAME); $row->AddViewField("PERCENTAGE", $f_PERCENTAGE); } else { $row->AddInputField("NAME", array("size" => "35")); $row->AddInputField("PERCENTAGE", array("size" => "10")); $row->AddCheckField("RECALCULATE"); $row->AddViewField("RECALCULATE", ''); }
oCell.align = "center"; oCell.innerHTML = '<input type="text" disabled readonly id="CAT_QUANTITY_FROM_'+ind+'_'+cnt+'" name="CAT_QUANTITY_FROM_'+ind+'_'+cnt+'" value="" size="3">'; var oCell = oRow.insertCell(-1); oCell.valign = "top"; oCell.align = "center"; oCell.innerHTML = '<input type="text" disabled readonly id="CAT_QUANTITY_TO_'+ind+'_'+cnt+'" name="CAT_QUANTITY_TO_'+ind+'_'+cnt+'" value="" size="3">'; var oCell = oRow.insertCell(-1); oCell.valign = "top"; oCell.align = "center"; <?php if (!isset($GLOBALS["MAIN_EXTRA_LIST_CACHE"]) || !is_array($GLOBALS["MAIN_EXTRA_LIST_CACHE"]) || count($GLOBALS["MAIN_EXTRA_LIST_CACHE"]) < 1) { unset($GLOBALS["MAIN_EXTRA_LIST_CACHE"]); $GLOBALS["MAIN_EXTRA_LIST_CACHE"] = array(); $l = CExtra::GetList($by = "NAME", $order = "ASC"); while ($l_res = $l->Fetch()) { $GLOBALS["MAIN_EXTRA_LIST_CACHE"][] = $l_res; } } ?> var str = ''; oCell.valign = "top"; oCell.align = "center"; str += '<select id="CAT_EXTRA_'+ind+'_'+cnt+'" name="CAT_EXTRA_'+ind+'_'+cnt+'" OnChange="ChangeExtraEx(this)" <?php if ($bReadOnly) { echo "disabled readonly"; } ?> >';
array("SORT" => "ASC"), array("LID" => LANGUAGE_ID), false, false, array('ID', 'NAME', 'NAME_LANG') ); while ($arCatalogGroup = $dbCatalogGroups->Fetch()) { $arHeader[] = array( "id" => "CATALOG_GROUP_" . $arCatalogGroup["ID"], "content" => htmlspecialcharsex(!empty($arCatalogGroup["NAME_LANG"]) ? $arCatalogGroup["NAME_LANG"] : $arCatalogGroup["NAME"]), "title" => "", "align" => "right", "sort" => "CATALOG_PRICE_" . $arCatalogGroup["ID"], "default" => false, ); $arCatGroup[$arCatalogGroup["ID"]] = $arCatalogGroup; } $arCatExtra = array(); $db_extras = CExtra::GetList(($by3 = "NAME"), ($order3 = "ASC")); while ($extras = $db_extras->Fetch()) $arCatExtra[] = $extras; } if ($bBizproc) { $arWorkflowTemplates = CBPDocument::GetWorkflowTemplatesForDocumentType(array("iblock", "CIBlockDocument", "iblock_" . $IBLOCK_ID)); foreach ($arWorkflowTemplates as $arTemplate) { $arHeader[] = array( "id" => "WF_" . $arTemplate["ID"], "content" => $arTemplate["NAME"], ); } $arHeader[] = array( "id" => "BIZPROC", "content" => GetMessage("IBEL_A_BP_H"),
public static function priceRecalc() { $dbExtra = CExtra::GetList(array('ID' => 'ASC')); while ($extra = $dbExtra->Fetch()) { $fields = array('NAME' => $extra['NAME'], 'PERCENTAGE' => $extra['PERCENTAGE'], 'RECALCULATE' => 'Y'); CExtra::Update($extra['ID'], $fields); } }
@set_time_limit(0); $DB->StartTransaction(); if (!CExtra::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID); } else { $lAdmin->AddGroupError(GetMessage("EXTRA_DELETE_ERROR"), $ID); } } $DB->Commit(); break; } } } $dbResultList = CExtra::GetList(array($by => $order), $arFilter); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("cat_extra_nav"))); $arHeaders = array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "NAME", "content" => GetMessage("EXTRA_NAME"), "sort" => "NAME", "default" => true), array("id" => "PERCENTAGE", "content" => GetMessage('EXTRA_PERCENTAGE'), "sort" => "PERCENTAGE", "default" => true)); if (!$bReadOnly) { $arHeaders[] = array("id" => "RECALCULATE", "content" => GetMessage("EXTRA_RECALCULATE"), "default" => true); } $lAdmin->AddHeaders($arHeaders); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); while ($arExtra = $dbResultList->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arExtra); $row->AddField("ID", $f_ID); if ($bReadOnly) { $row->AddViewField("NAME", $f_NAME); $row->AddViewField("PERCENTAGE", $f_PERCENTAGE);