Example #1
0
 public static function getCountriesNames()
 {
     $arCNames = array();
     $dbCountList = CSaleLocation::GetCountryList(array("NAME" => "ASC"), array(), LANGUAGE_ID);
     while ($arCountry = $dbCountList->Fetch()) {
         $arCNames[$arCountry["ID"]] = $arCountry["NAME_ORIG"] . " [" . $arCountry["NAME_LANG"] . "]";
     }
     return $arCNames;
 }
Example #2
0
 public static function GetLocationString($locationId, $siteId = SITE_ID, $langId = LANGUAGE_ID)
 {
     $locationString = '';
     if (!\Bitrix\Sale\SalesZone::checkLocationId($locationId, $siteId)) {
         $locationId = 0;
     }
     $countryId = $regionId = $cityId = 0;
     if ($locationId > 0) {
         if ($arLocation = CSaleLocation::GetByID($locationId)) {
             $countryId = $arLocation["COUNTRY_ID"];
             $regionId = $arLocation["REGION_ID"];
             $cityId = $arLocation["CITY_ID"];
         }
     }
     //check in location city
     $bEmptyCity = "N";
     $arCityFilter = array("!CITY_ID" => "NULL", ">CITY_ID" => "0");
     if ($countryId > 0) {
         $arCityFilter["COUNTRY_ID"] = $countryId;
     }
     $rsLocCount = CSaleLocation::GetList(array(), $arCityFilter, false, false, array("ID"));
     if (!$rsLocCount->Fetch()) {
         $bEmptyCity = "Y";
     }
     //check in location region
     $bEmptyRegion = "N";
     $arRegionFilter = array("!REGION_ID" => "NULL", ">REGION_ID" => "0");
     if ($countryId > 0 && $regionId > 0) {
         $arRegionFilter["COUNTRY_ID"] = $countryId;
     }
     if ($regionId > 0) {
         $arRegionFilter["REGION_ID"] = $regionId;
     }
     $rsLocCount = CSaleLocation::GetList(array(), $arRegionFilter, false, false, array("ID"));
     if (!$rsLocCount->Fetch()) {
         $bEmptyRegion = "Y";
     }
     //check if exist another city
     if ($bEmptyCity == "Y" && $bEmptyRegion == "Y") {
         $arCityFilter = array("!CITY_ID" => "NULL", ">CITY_ID" => "0");
         $rsLocCount = CSaleLocation::GetList(array(), $arCityFilter, false, false, array("ID"));
         if ($rsLocCount->Fetch()) {
             $bEmptyCity = "N";
         }
     }
     //location value
     if ($locationId > 0) {
         if ($arLocation = CSaleLocation::GetByID($locationId)) {
             if ($bEmptyRegion == "Y" && $bEmptyCity == "Y") {
                 $countryId = $locationId;
             } else {
                 $countryId = $arLocation["COUNTRY_ID"];
             }
             if ($bEmptyCity == "Y") {
                 $regionId = $arLocation["ID"];
             } else {
                 $regionId = $arLocation["REGION_ID"];
             }
             $cityId = $locationId;
         }
     }
     //select country
     $arCountryList = array();
     if ($bEmptyRegion == "Y" && $bEmptyCity == "Y") {
         $rsCountryList = CSaleLocation::GetList(array("SORT" => "ASC", "NAME_LANG" => "ASC"), array("LID" => $langId), false, false, array("ID", "COUNTRY_ID", "COUNTRY_NAME_LANG"));
     } else {
         $rsCountryList = CSaleLocation::GetCountryList(array("SORT" => "ASC", "NAME_LANG" => "ASC"));
     }
     while ($arCountry = $rsCountryList->GetNext()) {
         if (!\Bitrix\Sale\SalesZone::checkCountryId($arCountry["ID"], $siteId)) {
             continue;
         }
         if ($bEmptyRegion == "Y" && $bEmptyCity == "Y") {
             $arCountry["NAME_LANG"] = $arCountry["COUNTRY_NAME_LANG"];
         }
         $arCountryList[] = $arCountry;
         if ($arCountry["ID"] == $countryId && strlen($arCountry["NAME_LANG"]) > 0) {
             $locationString .= $arCountry["NAME_LANG"];
         }
     }
     if (count($arCountryList) <= 0) {
         $arCountryList = array();
     } elseif (count($arCountryList) == 1) {
         $countryId = $arCountryList[0]["ID"];
     }
     //select region
     $arRegionList = array();
     if ($countryId > 0 || count($arCountryList) <= 0) {
         $arRegionFilter = array("LID" => $langId, "!REGION_ID" => "NULL", "!REGION_ID" => "0");
         if ($countryId > 0) {
             $arRegionFilter["COUNTRY_ID"] = IntVal($countryId);
         }
         if ($bEmptyCity == "Y") {
             $rsRegionList = CSaleLocation::GetList(array("SORT" => "ASC", "NAME_LANG" => "ASC"), $arRegionFilter, false, false, array("ID", "REGION_ID", "REGION_NAME_LANG"));
         } else {
             $rsRegionList = CSaleLocation::GetRegionList(array("SORT" => "ASC", "NAME_LANG" => "ASC"), $arRegionFilter);
         }
         while ($arRegion = $rsRegionList->GetNext()) {
             if (!\Bitrix\Sale\SalesZone::checkRegionId($arRegion["ID"], $siteId)) {
                 continue;
             }
             if ($bEmptyCity == "Y") {
                 $arRegion["NAME_LANG"] = $arRegion["REGION_NAME_LANG"];
             }
             $arRegionList[] = $arRegion;
             if ($arRegion["ID"] == $regionId && strlen($arRegion["NAME_LANG"]) > 0) {
                 $locationString = $arRegion["NAME_LANG"] . ", " . $locationString;
             }
         }
     }
     if (count($arRegionList) <= 0) {
         $arRegionList = array();
     } elseif (count($arRegionList) == 1) {
         $regionId = $arRegionList[0]["ID"];
     }
     //select city
     $arCityList = array();
     if ($bEmptyCity == "N" && (count($arCountryList) > 0 && count($arRegionList) > 0 && $countryId > 0 && $regionId > 0 || count($arCountryList) <= 0 && count($arRegionList) > 0 && $regionId > 0 || count($arCountryList) > 0 && count($arRegionList) <= 0 && $countryId > 0 || count($arCountryList) <= 0 && count($arRegionList) <= 0)) {
         $arCityFilter = array("LID" => $langId);
         if ($countryId > 0) {
             $arCityFilter["COUNTRY_ID"] = $countryId;
         }
         if ($regionId > 0) {
             $arCityFilter["REGION_ID"] = $regionId;
         }
         $rsLocationsList = CSaleLocation::GetList(array("SORT" => "ASC", "COUNTRY_NAME_LANG" => "ASC", "CITY_NAME_LANG" => "ASC"), $arCityFilter, false, false, array("ID", "CITY_ID", "CITY_NAME"));
         while ($arCity = $rsLocationsList->GetNext()) {
             if (!\Bitrix\Sale\SalesZone::checkCityId($arCity["CITY_ID"], $siteId)) {
                 continue;
             }
             $arCityList[] = array("ID" => $arCity["ID"], "CITY_ID" => $arCity['CITY_ID'], "CITY_NAME" => $arCity["CITY_NAME"]);
             if ($arCity["ID"] == $cityId) {
                 $locationString = (strlen($arCity["CITY_NAME"]) > 0 ? $arCity["CITY_NAME"] . ", " : "") . $locationString;
             }
         }
         //end while
     }
     return $locationString;
 }
Example #3
0
        }
        if ($arResult["EMPTY_CITY"] == "Y") {
            $arParams["REGION"] = $arLocation["ID"];
        } else {
            $arParams["REGION"] = $arLocation["REGION_ID"];
        }
        $arParams["CITY"] = $arParams["CITY_OUT_LOCATION"] == "Y" ? $arParams["LOCATION_VALUE"] : $arLocation["CITY_ID"];
    }
}
$locationString = "";
//select country
$arResult["COUNTRY_LIST"] = array();
if ($arResult["EMPTY_REGION"] == "Y" && $arResult["EMPTY_CITY"] == "Y") {
    $rsCountryList = CSaleLocation::GetList(array("SORT" => "ASC", "NAME_LANG" => "ASC"), array("LID" => LANGUAGE_ID), false, false, array("ID", "COUNTRY_ID", "COUNTRY_NAME_LANG"));
} else {
    $rsCountryList = CSaleLocation::GetCountryList(array("SORT" => "ASC", "NAME_LANG" => "ASC"));
}
while ($arCountry = $rsCountryList->GetNext()) {
    if (!SalesZone::checkCountryId($arCountry["ID"], $arParams["SITE_ID"])) {
        continue;
    }
    if ($arResult["EMPTY_REGION"] == "Y" && $arResult["EMPTY_CITY"] == "Y") {
        $arCountry["NAME_LANG"] = $arCountry["COUNTRY_NAME_LANG"];
    }
    $arResult["COUNTRY_LIST"][] = $arCountry;
    if ($arCountry["ID"] == $arParams["COUNTRY"] && strlen($arCountry["NAME_LANG"]) > 0) {
        $locationString .= $arCountry["NAME_LANG"];
    }
}
if (count($arResult["COUNTRY_LIST"]) <= 0) {
    $arResult["COUNTRY_LIST"] = array();
			<select name="COUNTRY_ID" OnChange="SetContact()">
				<option value="0"><?php 
echo GetMessage("NEW_COUNTRY");
?>
</option>
				<option value="" <?php 
if (isset($COUNTRY_ID) && $COUNTRY_ID == "" || $str_COUNTRY_ID == "0") {
    echo " selected";
}
?>
><?php 
echo GetMessage("WITHOUT_COUNTRY");
?>
</option>
				<?php 
$db_contList = CSaleLocation::GetCountryList(array("NAME" => "ASC"), array(), LANG);
while ($arContList = $db_contList->Fetch()) {
    ?>
<option value="<?php 
    echo $arContList["ID"];
    ?>
"<?php 
    if (IntVal($arContList["ID"]) == IntVal($str_COUNTRY_ID)) {
        echo " selected";
    }
    ?>
><?php 
    echo htmlspecialcharsEx($arContList["NAME_ORIG"]);
    ?>
 [<?php 
    echo htmlspecialcharsEx($arContList["NAME_LANG"]);
Example #5
0
$arLocation = array();
$arLocationMap = array();
$arSysLangs = array();
$db_lang = CLangAdmin::GetList($b = "sort", $o = "asc", array("ACTIVE" => "Y"));
while ($arLang = $db_lang->Fetch()) {
    $arSysLangs[] = $arLang["LID"];
}
$i = 0;
while ($arRes = $csvFile->Fetch()) {
    $i++;
    if ($i >= 1000) {
        $_SESSION["LOC_POST"] = $csvFile->GetPos();
        break;
    }
    if (IntVal($CurCountryID) <= 0) {
        $dbCountry = CSaleLocation::GetCountryList(array("ID" => "DESC"));
        if ($arCountry = $dbCountry->Fetch()) {
            $CurCountryID = $arCountry["ID"];
        }
    }
    $arArrayTmp = array();
    for ($ind = 1; $ind < count($arRes); $ind += 2) {
        if (in_array($arRes[$ind], $arSysLangs)) {
            $arArrayTmp[$arRes[$ind]] = array("LID" => $arRes[$ind], "NAME" => $arRes[$ind + 1]);
            if ($arRes[$ind] == $lang) {
                $arArrayTmp["NAME"] = $arRes[$ind + 1];
            }
        }
    }
    if (is_array($arArrayTmp) && strlen($arArrayTmp["NAME"]) > 0) {
        if (ToUpper($arRes[0]) == "S") {
Example #6
0
									<option value=''<?php 
                echo in_array("", $sales_zone_countries) ? " selected" : "";
                ?>
><?php 
                echo GetMessage("SMO_LOCATION_ALL");
                ?>
</option>
									<option value='NULL'<?php 
                echo in_array("NULL", $sales_zone_countries) ? " selected" : "";
                ?>
><?php 
                echo GetMessage("SMO_LOCATION_NO_COUNTRY");
                ?>
</option>
									<?php 
                $dbCountryList = CSaleLocation::GetCountryList(array("NAME_LANG" => "ASC"));
                ?>
									<?php 
                while ($arCountry = $dbCountryList->fetch()) {
                    ?>
										<option value="<?php 
                    echo $arCountry["ID"];
                    ?>
"<?php 
                    echo in_array($arCountry["ID"], $sales_zone_countries) ? " selected" : "";
                    ?>
><?php 
                    echo htmlspecialcharsbx($arCountry["NAME_LANG"]);
                    ?>
</option>
									<?php 
Example #7
0
     //WriteToLog('start');
 }
 while ($arRes = $csvFile->Fetch()) {
     $arArrayTmp = array();
     for ($ind = 1; $ind < count($arRes); $ind += 2) {
         if (in_array($arRes[$ind], $arSysLangs)) {
             $arArrayTmp[$arRes[$ind]] = array("LID" => $arRes[$ind], "NAME" => $arRes[$ind + 1]);
             if ($arRes[$ind] == $DefLang) {
                 $arArrayTmp["NAME"] = $arRes[$ind + 1];
             }
         }
     }
     //WriteToLog(print_r($arArrayTmp, true));
     if (is_array($arArrayTmp) && strlen($arArrayTmp["NAME"]) > 0) {
         if (strtoupper($arRes[0]) == "S") {
             $db_contList = CSaleLocation::GetCountryList(array(), array("NAME" => $arArrayTmp["NAME"]), $DefLang);
             if ($arContList = $db_contList->Fetch()) {
                 $CurCountryID = $arContList["ID"];
                 $CurCountryID = IntVal($CurCountryID);
                 //WriteToLog('Country found: '.$CurCountryID);
             } else {
                 $CurCountryID = CSaleLocation::AddCountry($arArrayTmp);
                 $CurCountryID = IntVal($CurCountryID);
                 if ($CurCountryID > 0) {
                     $numCounties++;
                     $LLL = CSaleLocation::AddLocation(array("COUNTRY_ID" => $CurCountryID));
                     if (IntVal($LLL) > 0) {
                         $numLocations++;
                     }
                 }
                 //WriteToLog('Country not found: '.$CurCountryID);
 /**
  * getAllCountries() - get all cities from DB
  * $langId - id site version  (ru, en ...)
  */
 public static function getAllCountries($langId = LANGUAGE_ID)
 {
     $resLocDB = CSaleLocation::GetCountryList(array("NAME_LANG" => "ASC"), array(), $langId);
     $allCountries = array();
     while ($resLoc = $resLocDB->fetch()) {
         $allCountries[] = $resLoc;
     }
     return $allCountries;
 }