function GetCity($arFields) { $iPPID = IntVal($arFields["PP_ID"]) ? IntVal($arFields["PP_ID"]) : 0; $iID = 0; $iBXCityID = 0; $sCode = strlen($arFields["CODE"]) ? $arFields["CODE"] : ""; $iPrice = 0; $sActive = "N"; if ($iPPID) { $obPPCity = CPickpoint::SelectCityByPPID($iPPID); if ($arPPCity = $obPPCity->Fetch()) { $iBXID = $arPPCity["BX_ID"]; if ($arPPCity["ACTIVE"] == "Y") { $sActive = "Y"; } $arBXCity = CPickpoint::SelectCityByID($iBXID); $iPrice = FloatVal($arPPCity["PRICE"]); $sCode = $arBXCity["CITY_NAME"]; } else { $arCity = CPickpoint::SelectCityByCode($sCode); $iBXID = $arCity["ID"]; } } else { $arCity = CPickpoint::SelectCityByCode($sCode); $iBXID = $arCity["ID"]; $iPPID = 0; } #ID# #CODE (BX or PP ? exists)# #PP_ID# #BX_ID# #PRICE# return array("ID" => $iID, "CODE" => $sCode, "PP_ID" => $iPPID, "BX_ID" => $iBXID, "PRICE" => $iPrice, "ACTIVE" => $sActive); }
function SetPPCity($iPPID, $arFields) { global $DB; if (!empty($arFields) && intval($iPPID) > 0) { //printr(CAddon::GetOrderBills($iOrderID)); $obCity = CPickpoint::SelectCityByPPID($iPPID); // if (!$obCity->SelectedRowsCount()) { $sQuery = "INSERT INTO `b_pp_city` (" . implode(",", array_keys($arFields)) . ")\n\t\t\t\t\tVALUES('" . implode("','", $arFields) . "')"; } else { $arSet = array(); unset($arFields["PP_ID"]); foreach ($arFields as $sKey => $sValue) { $arSet[] = $sKey . " = '{$sValue}'"; } $sQuery = "UPDATE `b_pp_city` SET " . implode(",", $arSet) . " WHERE PP_ID = {$iPPID}"; } $DB->Query($sQuery); } }