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); }