Ejemplo n.º 1
1
 /**
  * getRegionsList
  * @return array regions (locations) list
  */
 public static function getRegionsList($countryId = 0, $bFlip = false)
 {
     static $arRegions = array();
     $flipIndex = intval($bFlip);
     if (isset($arRegions[$countryId][$flipIndex])) {
         return $arRegions[$countryId][$flipIndex];
     }
     if (CSaleLocation::isLocationProMigrated()) {
         $types = array();
         $res = \Bitrix\Sale\Location\TypeTable::getList(array('select' => array('ID', 'CODE')));
         while ($item = $res->fetch()) {
             $types[$item['CODE']] = $item['ID'];
         }
         $filter = array(array('LOGIC' => 'OR', array('=TYPE_ID' => $types['CITY'], '=NAME.LANGUAGE_ID' => LANGUAGE_ID, array('LOGIC' => 'OR', array('=PARENT.TYPE_ID' => $types['COUNTRY']), array('=PARENT.TYPE_ID' => $types['COUNTRY_DISTRICT']), array('=PARENT_ID' => '0'))), array('=TYPE_ID' => $types['REGION'])));
         if (intval($countryId)) {
             $filter['=PARENTS.TYPE_ID'] = $types['COUNTRY'];
             $filter['=PARENTS.ID'] = $countryId;
         }
         $dbRegionList = \Bitrix\Sale\Location\LocationTable::getList(array('filter' => $filter, 'select' => array('ID', 'CODE', 'NAME_LANG' => 'NAME.NAME'), 'order' => array('NAME.NAME' => 'asc')));
     } else {
         $arFilterRegion = array();
         if (intval($countryId) > 0) {
             $arFilterRegion["COUNTRY_ID"] = $countryId;
         }
         $dbRegionList = CSaleLocation::GetRegionList(array("NAME_LANG" => "ASC"), $arFilterRegion, LANGUAGE_ID);
     }
     $key = 'ID';
     while ($arRegionList = $dbRegionList->Fetch()) {
         if ($key == 'ID' && isset($arRegionList['CODE'])) {
             $key = 'CODE';
         }
         if ($key == 'CODE' && strlen($arRegionList['CODE']) <= 0) {
             continue;
         }
         $arRegions[$countryId][0][$arRegionList[$key]] = $arRegionList["NAME_LANG"];
         // $bFlip == false
         $arRegions[$countryId][1][$arRegionList["NAME_LANG"]] = $arRegionList[$key];
         // $bFlip == true
     }
     return isset($arRegions[$countryId][$flipIndex]) ? $arRegions[$countryId][$flipIndex] : array();
 }
Ejemplo n.º 2
0
 protected static function prepareParamsForSaving(array $params = array(), $deliveryId = 0)
 {
     if ($deliveryId > 0) {
         $arLocation = array();
         if (!!\CSaleLocation::isLocationProEnabled()) {
             if (strlen($params["LOCATION"]['L'])) {
                 $LOCATION1 = explode(':', $params["LOCATION"]['L']);
             }
             if (strlen($params["LOCATION"]['G'])) {
                 $LOCATION2 = explode(':', $params["LOCATION"]['G']);
             }
         }
         if (isset($LOCATION1) && is_array($LOCATION1) && count($LOCATION1) > 0) {
             $arLocation["L"] = array();
             $locationCount = count($LOCATION1);
             for ($i = 0; $i < $locationCount; $i++) {
                 if (strlen($LOCATION1[$i])) {
                     $arLocation["L"][] = $LOCATION1[$i];
                 }
             }
         }
         if (isset($LOCATION2) && is_array($LOCATION2) && count($LOCATION2) > 0) {
             $arLocation["G"] = array();
             $locationCount = count($LOCATION2);
             for ($i = 0; $i < $locationCount; $i++) {
                 if (strlen($LOCATION2[$i])) {
                     $arLocation["G"][] = $LOCATION2[$i];
                 }
             }
         }
         DeliveryLocationTable::resetMultipleForOwner($deliveryId, $arLocation);
     }
     return array();
 }
Ejemplo n.º 3
0
 public function onAfterPerformIteration()
 {
     $this->data['migrator_data'] = serialize($this->migrator);
     if ($this->getPercent() == 100) {
         \CSaleLocation::locationProSetMigrated();
         \CSaleLocation::locationProEnable();
     }
 }
Ejemplo n.º 4
0
 function __GetLocationPrice($LOCATION_ID, $arConfig)
 {
     $dbLocationGroups = CSaleLocationGroup::GetLocationList(array("LOCATION_" . (CSaleLocation::checkIsCode($LOCATION_ID) ? 'CODE' : 'ID') => $LOCATION_ID));
     while ($arLocationGroup = $dbLocationGroups->Fetch()) {
         if (array_key_exists('price_' . $arLocationGroup["LOCATION_GROUP_ID"], $arConfig) && strlen($arConfig['price_' . $arLocationGroup["LOCATION_GROUP_ID"]]["VALUE"]) > 0) {
             return $arConfig['price_' . $arLocationGroup["LOCATION_GROUP_ID"]]["VALUE"];
         }
     }
     return false;
 }
Ejemplo n.º 5
0
 /**
  * Loads data from base
  */
 private function loadDataToCache()
 {
     $cityNames = array();
     $dbLocations = CSaleLocation::GetList(array(), array(), false, false, array("ID", "CITY_NAME_LANG"));
     while ($arLocation = $dbLocations->Fetch()) {
         if (isset($arLocation["CITY_NAME_LANG"]) && strlen($arLocation["CITY_NAME_LANG"]) > 0) {
             $cityNames[$arLocation["ID"]] = ToLower($arLocation["CITY_NAME_LANG"]);
         }
     }
     return $cityNames;
 }
Ejemplo n.º 6
0
 protected static function addPropertyValueField($tableAlias = 'V', &$arFields, &$arSelectFields)
 {
     $tableAlias = \Bitrix\Main\HttpApplication::getConnection()->getSqlHelper()->forSql($tableAlias);
     // locations kept in CODEs, but must be shown as IDs
     if (CSaleLocation::isLocationProMigrated()) {
         $arSelectFields = array_merge(array('PROP_TYPE'), $arSelectFields);
         // P.TYPE should be there and go above our join
         $arFields['VALUE'] = array("FIELD" => "\n\t\t\t\tCASE\n\n\t\t\t\t\tWHEN\n\t\t\t\t\t\tP.TYPE = 'LOCATION'\n\t\t\t\t\tTHEN\n\t\t\t\t\t\tCAST(L.ID as " . \Bitrix\Sale\Location\DB\Helper::getSqlForDataType('char', 255) . ")\n\n\t\t\t\t\tELSE\n\t\t\t\t\t\t" . $tableAlias . ".VALUE\n\t\t\t\tEND\n\t\t\t", "TYPE" => "string", "FROM" => "LEFT JOIN b_sale_location L ON (P.TYPE = 'LOCATION' AND " . $tableAlias . ".VALUE IS NOT NULL AND " . $tableAlias . ".VALUE = L.CODE)");
         $arFields['VALUE_ORIG'] = array("FIELD" => $tableAlias . ".VALUE", "TYPE" => "string");
     } else {
         $arFields['VALUE'] = array("FIELD" => $tableAlias . ".VALUE", "TYPE" => "string");
     }
 }
Ejemplo n.º 7
0
 function __GetLocation($location_id)
 {
     static $arDHLUSACountryList;
     $arLocation = CSaleLocation::GetByID($location_id, 'en');
     $dbZipList = CSaleLocation::GetLocationZIP($location_id);
     while ($arZip = $dbZipList->Fetch()) {
         $arLocation['ZIP_LIST'][] = $arZip['ZIP'];
     }
     if (!is_array($arDHLUSACountryList)) {
         require 'dhl_usa/country.php';
     }
     $arLocation['COUNTRY_DHLUSA'] = $arDHLUSACountryList[ToUpper($arLocation['COUNTRY_NAME'])];
     return $arLocation;
 }
Ejemplo n.º 8
0
 function __GetLocation($location, $bGetZIP = false)
 {
     $arLocation = CSaleHelper::getLocationByIdHitCached($location);
     $arLocation["IS_RUSSIAN"] = CDeliveryRUSSIANPOST::__IsRussian($arLocation) ? "Y" : "N";
     if ($bGetZIP) {
         $arLocation["ZIP"] = array();
         if ($arLocation["IS_RUSSIAN"] == "Y") {
             $rsZIPList = CSaleLocation::GetLocationZIP($location);
             while ($arZIP = $rsZIPList->Fetch()) {
                 $arLocation["ZIP"][] = $arZIP["ZIP"];
             }
         }
     }
     return $arLocation;
 }
Ejemplo n.º 9
0
 public static function getConfig($siteId = false)
 {
     $shopLocationId = CSaleHelper::getShopLocationId($siteId);
     $arShopLocation = CSaleLocation::GetByID($shopLocationId);
     $locString = strlen($arShopLocation["COUNTRY_NAME_LANG"]) > 0 ? $arShopLocation["COUNTRY_NAME_LANG"] : "";
     $locString .= strlen($arShopLocation["REGION_NAME_LANG"]) > 0 ? (strlen($locString) > 0 ? ", " : "") . $arShopLocation["REGION_NAME_LANG"] : "";
     $locString .= strlen($arShopLocation["CITY_NAME_LANG"]) > 0 ? (strlen($locString) > 0 ? ", " : "") . $arShopLocation["CITY_NAME_LANG"] : "";
     $locDelivery = Adapter::mapLocation($shopLocationId);
     $arConfig = array('CONFIG_GROUPS' => array('exchange_sett' => GetMessage('SALE_DH_PECOM_EXCH_TITLE'), 'add_services' => GetMessage('SALE_DH_PECOM_ADD_SERVICES_TITLE'), 'auto' => GetMessage('SALE_DH_PECOM_AUTO_TITLE'), 'avia' => GetMessage('SALE_DH_PECOM_AVIA_TITLE')), "CONFIG" => array("LOGIN" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_LOGIN'), "GROUP" => "exchange_sett"), "KEY" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_KEY'), "GROUP" => "exchange_sett"), "NAME" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_NAME'), "GROUP" => "exchange_sett"), "INN" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_INN'), "GROUP" => "exchange_sett"), "CITY" => array("TYPE" => "TEXT_RO", "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_CITY'), "VALUE" => $locString, "GROUP" => "exchange_sett"), "CITY_DELIVERY" => array("TYPE" => "DROPDOWN", "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_CITY_DELIVERY'), "VALUES" => $locDelivery, "GROUP" => "exchange_sett"), "PHONE" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_PHONE'), "GROUP" => "exchange_sett"), "PAYMENT_FORM" => array("TYPE" => "DROPDOWN", "DEFAULT" => self::$PAYER_BUYER, "TITLE" => GetMessage('SALE_DH_PECOM_AS_PAYMENT_FORM'), "GROUP" => "exchange_sett", "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYMENT_BANK'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYMENT_KASSA'))), "SERVICE_TAKE" => array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE'), 'GROUP' => 'add_services'), "SERVICE_TAKE_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE_ENABLE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'HIDE_BY_NAMES' => array('SERVICE_TAKE_TENT_ENABLED', 'SERVICE_TAKE_HYDRO_ENABLED')), "SERVICE_TAKE_TENT_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE_TENT'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_TAKE_HYDRO_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE_HYDRO'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_DELIVERY" => array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY'), 'GROUP' => 'add_services'), "SERVICE_DELIVERY_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY_ENABLE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'HIDE_BY_NAMES' => array('SERVICE_DELIVERY_TENT_ENABLED', 'SERVICE_DELIVERY_HYDRO_ENABLED', 'SERVICE_OTHER_DELIVERY_PAYER')), "SERVICE_DELIVERY_TENT_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY_TENT'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_DELIVERY_HYDRO_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY_HYDRO'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_OTHER_DELIVERY_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER" => array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER'), 'GROUP' => 'add_services'), "SERVICE_OTHER_PLOMBIR_ENABLE" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_PLOMBIR_ENABLE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_PLOMBIR_COUNT', 'SERVICE_OTHER_PLOMBIR_PAYER')), "SERVICE_OTHER_PLOMBIR_COUNT" => array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_PLOMBIR_COUNT'), 'GROUP' => 'add_services', 'DEFAULT' => '0'), "SERVICE_OTHER_PLOMBIR_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER_PALLETE" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_PALLETE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'TOP_LINE' => 'Y', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_PALLETE_PAYER')), "SERVICE_OTHER_PALLETE_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER_INSURANCE" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_INSURANCE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'TOP_LINE' => 'Y', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_INSURANCE_PAYER')), "SERVICE_OTHER_INSURANCE_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER_RIGID_PACKING" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_RIGID_PACKING'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'TOP_LINE' => 'Y', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_RIGID_PAYER')), "SERVICE_OTHER_RIGID_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER')))));
     $aviableBoxes = self::getAviableBoxes();
     foreach ($aviableBoxes as $boxId => $arBox) {
         CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'auto', $arConfig);
         CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'avia', $arConfig);
     }
     return $arConfig;
 }
Ejemplo n.º 10
0
 function Update($ID, $arFields)
 {
     global $DB;
     $ID = IntVal($ID);
     // need to check here if we got CODE or ID came
     if (isset($arFields['VALUE']) && (string) $arFields['VALUE'] != '' && CSaleLocation::isLocationProMigrated()) {
         $propValue = self::GetByID($ID);
         if ($propValue['TYPE'] == 'LOCATION') {
             $arFields['VALUE'] = CSaleLocation::tryTranslateIDToCode($arFields['VALUE']);
         }
     }
     $strUpdate = $DB->PrepareUpdate("b_sale_user_props_value", $arFields);
     $strSql = "UPDATE b_sale_user_props_value SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " ";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     return $ID;
 }
Ejemplo n.º 11
0
 public function getLocation()
 {
     if (!$this->getLocationId()) {
         throw new \Exception('Не указано место доставки ' . __METHOD__);
     }
     $retval = false;
     $res = \CSaleLocation::GetList(array(), array('LID' => LANGUAGE_ID, 'ID' => $this->getLocationId()));
     while ($city = $res->GetNext()) {
         if (!\Bitrix\Sale\SalesZone::checkCityId($city['CITY_ID'], SITE_ID)) {
             continue;
         }
         if (empty($city['CITY_NAME'])) {
             continue;
         }
         $retval = $city;
     }
     return $retval;
 }
Ejemplo n.º 12
0
 function Calculate($profile, $arConfig, $arOrder, $STEP, $TEMP = false)
 {
     $arPacks = CSaleDeliveryHelper::getBoxesFromConfig($profile, $arConfig);
     $arPackagesParams = CSaleDeliveryHelper::getRequiredPacks($arOrder["ITEMS"], $arPacks, self::$MAX_WEIGHT);
     $packageCount = count($arPackagesParams);
     if (intval($packageCount) <= 0) {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage("SALE_DH_KP_OVERLOAD"));
     }
     $totalPrice = 0;
     $shopLocationId = CSaleHelper::getShopLocationId(SITE_ID);
     $arShopLocation = CSaleLocation::GetByID($shopLocationId);
     $arLocationTo = CSaleLocation::GetByID($arOrder['LOCATION_TO']);
     foreach ($arPackagesParams as $arPackage) {
         $totalPrice += self::calculatePackPrice($arPackage, $profile, $arConfig, $arShopLocation['REGION_ID'], $arLocationTo['REGION_ID']);
     }
     $arResult = array('RESULT' => 'OK', 'VALUE' => $totalPrice, 'PACKS_COUNT' => $packageCount);
     return $arResult;
 }
Ejemplo n.º 13
0
	function GetConfig() {
		// $locations = array();
		// $locationRes = CSaleLocation::GetList();
		// while ($locationAr = $locationRes->Fetch()) {
			// if ($locationAr["CITY_NAME"]) {
				// $locations[$locationAr["ID"]] = $locationAr["CITY_NAME"];
			// }
		// }
		$moduleID = 'getparcel.gpwidget';
		if (CModule::IncludeModule($moduleID)) {
			$default = COption::GetOptionString($moduleID, 'default_location');
		}
		$location_list = array();
		$location_res = CSaleLocation::GetList(
			array("SORT" => "ASC", "CITY_NAME" => "ASC"), array("LID" => LANGUAGE_ID, ">CITY_ID" => ""),
			false, false, array("ID", "CITY_NAME")
		);
		while ($location_ar = $location_res->Fetch()) {
			$location_list[$location_ar['ID']] = $location_ar['CITY_NAME'];
		}
		$arConfig = array(
			"CONFIG_GROUPS" => array(
				"all" => GetMessage("CONFIG_GROUPS_ALL"),
			),

			"CONFIG" => array(
				"LOCATION_ID" => array(
					"TYPE" => "DROPDOWN",
					"DEFAULT" => intVal($default) > 0 ? $default : "",
					"TITLE" => GetMessage("CONFIG_LOCATION_ID_TITLE"),
					"GROUP" => "all",
					"VALUES" => $location_list,
				),
                "URLES" => array(
                    "SYSTEM_STATUS_URL" => "api/shop-company/v1/system_status",
                    "TOKEN_URL" => "api/widget/v1/auth_token.json",
                    "POST_URL" => "api/shop-company/v1/orders.json",
                    "PATCH_URL" => "api/shop-company/v1/orders/#ID#.json",
                    "DELIVERY_URL" => "api/shop-company/v1/orders/delivery_price",
                )
			),
		);
		return $arConfig;
	}
Ejemplo n.º 14
0
 /**
  * getRegionsList
  * @return array regions (locations) list
  */
 public static function getRegionsList($countryId = 0, $bFlip = false)
 {
     static $arRegions = array();
     $flipIndex = intval($bFlip);
     if (isset($arRegions[$countryId][$flipIndex])) {
         return $arRegions[$countryId][$flipIndex];
     }
     $arFilterRegion = array();
     if (intval($countryId) > 0) {
         $arFilterRegion["COUNTRY_ID"] = $countryId;
     }
     $dbRegionList = CSaleLocation::GetRegionList(array("NAME_LANG" => "ASC"), $arFilterRegion, LANGUAGE_ID);
     while ($arRegionList = $dbRegionList->Fetch()) {
         $arRegions[$countryId][0][$arRegionList['ID']] = $arRegionList["NAME_LANG"];
         // $bFlip == false
         $arRegions[$countryId][1][$arRegionList["NAME_LANG"]] = $arRegionList['ID'];
         // $bFlip == true
     }
     return isset($arRegions[$countryId][$flipIndex]) ? $arRegions[$countryId][$flipIndex] : array();
 }
Ejemplo n.º 15
0
			),
		);

		/* LOCATIONS BEGIN */
		// this file can be loaded directly, without module include, so ...
		require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/include.php");

		if(class_exists('CSaleLocation'))
		{
			$locationMenu = array(
				"text" => GetMessage("SALE_LOCATION"),
				"title" => GetMessage("SALE_LOCATION_DESCR"),
				"items_id" => "menu_sale_locations",
			);

			if(CSaleLocation::isLocationProEnabled())
			{
				$locationMenu["items"] = array(
					array(
						"text" => GetMessage("sale_menu_locations"),
						"title" => GetMessage("sale_menu_locations_title"),
						"url" => Location\Admin\LocationHelper::getListUrl(0),
						"more_url" => array(Location\Admin\LocationHelper::getEditUrl()),

						"module_id" => "sale",
						"items_id" => Location\Admin\LocationHelper::packItemsQueryString(),
						"dynamic" => true,
						"items" => Location\Admin\LocationHelper::getLocationSubMenu()
					),
					array(
						"text" => GetMessage("SALE_LOCATION_GROUPS"),
Ejemplo n.º 16
0
}
$siteID = $arParams["site_id"];
if (strlen($arParams["site_id"]) <= 0) {
    $siteID = "s1";
}
$dbSite = CSite::GetByID($siteID);
if ($arSite = $dbSite->Fetch()) {
    $lang = $arSite["LANGUAGE_ID"];
}
if (strlen($lang) <= 0) {
    $lang = "ru";
}
$bRus = false;
if ($lang == "ru") {
    $bRus = true;
}
__IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__), $lang));
$dbLocation = CSaleLocation::GetList(array("ID" => "ASC"), array("LID" => $lang));
if ($arLocation = $dbLocation->Fetch()) {
    $arLocationArr = array();
    $arLocation4Delivery = array();
    do {
        $arLocationArr[] = $arLocation["ID"];
    } while ($arLocation = $dbLocation->Fetch());
    //Location group
    $groupLang = array(array("LID" => "en", "NAME" => "Group 1"));
    if ($bRus) {
        $groupLang[] = array("LID" => "ru", "NAME" => GetMessage("SALE_WIZARD_GROUP"));
    }
    $locationGroupID = CSaleLocationGroup::Add(array("SORT" => 150, "LOCATION_ID" => $arLocationArr, "LANG" => $groupLang));
}
Ejemplo n.º 17
0
 public static function getCityNameFromLocationId($locationId)
 {
     $loc = \CSaleLocation::GetById($locationId);
     return isset($loc["CITY_NAME_LANG"]) ? $loc["CITY_NAME_LANG"] : false;
 }
Ejemplo n.º 18
0
$arResult['FIELDS']['tab_params'][] = array('id' => 'CITY_NAME', 'name' => GetMessage('CRM_LOC_FIELD_NAME'), 'value' => htmlspecialcharsEx($arLoc['CITY_NAME_ORIG']), 'required' => true, 'type' => 'text');
$arResult['FIELDS']['tab_params'][] = array('id' => 'CITY_SHORT_NAME', 'name' => GetMessage('CRM_LOC_FIELD_SHORT_NAME'), 'value' => htmlspecialcharsEx($arLoc['CITY_SHORT_NAME']), 'type' => 'text');
for ($i = 0; $i < $countLang; $i++) {
    $arCity = CSaleLocation::GetCityLangByID($arLoc['CITY_ID'], $arSysLangs[$i]);
    /*
    	$arResult['FIELDS']['tab_params'][] = array(
    		'id' => 'CI_LANG_'.$arSysLangs[$i],
    		'value' => '<b>['.$arSysLangs[$i].'] '.$arSysLangNames[$i].'</b>',
    		'colspan' => true,
    		'type' =>  'label'
    	);
    */
    $arResult['FIELDS']['tab_params'][] = array('id' => 'CITY_NAME_' . $arSysLangs[$i], 'name' => GetMessage('CRM_LOC_FIELD_NAME'), 'value' => htmlspecialcharsEx($arCity["NAME"]), 'required' => true, 'type' => 'text');
    $arResult['FIELDS']['tab_params'][] = array('id' => 'CITY_SHORT_NAME_' . $arSysLangs[$i], 'name' => GetMessage('CRM_LOC_FIELD_SHORT_NAME'), 'value' => htmlspecialcharsEx($arCity["SHORT_NAME"]), 'type' => 'text');
}
/*ZIP TAB*/
$arResult['FIELDS']['tab_zip'][] = array('id' => 'loc_zip', 'name' => GetMessage('CRM_LOC_SECTION_ZIP'), 'type' => 'section');
$zipHtml = '<div id="zip_list">';
$arZipList = array();
$rsZipList = CSaleLocation::GetLocationZIP($locID);
while ($arZip = $rsZipList->Fetch()) {
    $arZipList[] = $arZip;
}
foreach ($arZipList as $key => $zip) {
    $zipHtml .= '<input type="text" name="ZIP[]" value="' . htmlspecialcharsEx($zip["ZIP"]) . '" size="10" /><span class="bx-crm-location-zip-delete" onclick="BX.crmLocationZip.delete(this);">' . GetMessage("CRM_DEL_ZIP") . '</span><br />';
}
$zipHtml .= '<input type="text" name="ZIP[]" value="" size="10" /><br />
			</div>
			<button onClick="return BX.crmLocationZip.add();">' . GetMessage("CRM_ADD_ZIP") . '</button>';
$arResult['FIELDS']['tab_zip'][] = array('id' => 'ZIP_INPUTS', 'name' => GetMessage('CRM_LOC_FIELD_LOC_ZIP'), 'value' => $zipHtml, 'type' => 'custom');
$this->IncludeComponentTemplate();
Ejemplo n.º 19
0
 function PrepareGetListArray($key, &$arFields, &$arPropIDsTmp)
 {
     $propIDTmp = false;
     if (StrPos($key, "PROPERTY_ID_") === 0) {
         $propIDTmp = IntVal(substr($key, StrLen("PROPERTY_ID_")));
     } elseif (StrPos($key, "PROPERTY_NAME_") === 0) {
         $propIDTmp = IntVal(substr($key, StrLen("PROPERTY_NAME_")));
     } elseif (StrPos($key, "PROPERTY_VALUE_") === 0) {
         $propIDTmp = IntVal(substr($key, StrLen("PROPERTY_VALUE_")));
     } elseif (StrPos($key, "PROPERTY_CODE_") === 0) {
         $propIDTmp = IntVal(substr($key, StrLen("PROPERTY_CODE_")));
     } elseif (StrPos($key, "PROPERTY_VAL_BY_CODE_") === 0) {
         $propIDTmp = preg_replace("/[^a-zA-Z0-9_-]/is", "", trim(substr($key, StrLen("PROPERTY_VAL_BY_CODE_"))));
     }
     $locationPropInfo = self::getLocationPropertyInfo();
     if (strlen($propIDTmp) > 0 || $propIDTmp > 0) {
         if (!in_array($propIDTmp, $arPropIDsTmp)) {
             $arPropIDsTmp[] = $propIDTmp;
             $arFields["PROPERTY_ID_" . $propIDTmp] = array("FIELD" => "SP_" . $propIDTmp . ".ID", "TYPE" => "int", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".ORDER_PROPS_ID = " . $propIDTmp . " AND O.ID = SP_" . $propIDTmp . ".ORDER_ID)");
             $arFields["PROPERTY_ORDER_PROPS_ID_" . $propIDTmp] = array("FIELD" => "SP_" . $propIDTmp . ".ORDER_PROPS_ID", "TYPE" => "int", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".ORDER_PROPS_ID = " . $propIDTmp . " AND O.ID = SP_" . $propIDTmp . ".ORDER_ID)");
             $arFields["PROPERTY_NAME_" . $propIDTmp] = array("FIELD" => "SP_" . $propIDTmp . ".NAME", "TYPE" => "string", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".ORDER_PROPS_ID = " . $propIDTmp . " AND O.ID = SP_" . $propIDTmp . ".ORDER_ID)");
             if (CSaleLocation::isLocationProMigrated() && isset($locationPropInfo['ID'][$propIDTmp])) {
                 $arFields["PROPERTY_VALUE_" . $propIDTmp] = array("FIELD" => "L_" . $propIDTmp . ".ID", "TYPE" => "string", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".ORDER_PROPS_ID = " . $propIDTmp . " AND O.ID = SP_" . $propIDTmp . ".ORDER_ID) INNER JOIN b_sale_location L_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".VALUE = L_" . $propIDTmp . ".CODE)");
             } else {
                 $arFields["PROPERTY_VALUE_" . $propIDTmp] = array("FIELD" => "SP_" . $propIDTmp . ".VALUE", "TYPE" => "string", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".ORDER_PROPS_ID = " . $propIDTmp . " AND O.ID = SP_" . $propIDTmp . ".ORDER_ID)");
             }
             $arFields["PROPERTY_CODE_" . $propIDTmp] = array("FIELD" => "SP_" . $propIDTmp . ".CODE", "TYPE" => "string", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".ORDER_PROPS_ID = " . $propIDTmp . " AND O.ID = SP_" . $propIDTmp . ".ORDER_ID)");
             if (CSaleLocation::isLocationProMigrated() && isset($locationPropInfo['CODE'][$propIDTmp])) {
                 $arFields["PROPERTY_VAL_BY_CODE_" . $propIDTmp] = array("FIELD" => "L_" . $propIDTmp . ".ID", "TYPE" => "string", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".CODE = '" . $propIDTmp . "' AND O.ID = SP_" . $propIDTmp . ".ORDER_ID) INNER JOIN b_sale_location L_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".VALUE = L_" . $propIDTmp . ".CODE)");
             } else {
                 $arFields["PROPERTY_VAL_BY_CODE_" . $propIDTmp] = array("FIELD" => "SP_" . $propIDTmp . ".VALUE", "TYPE" => "string", "FROM" => "INNER JOIN b_sale_order_props_value SP_" . $propIDTmp . " ON (SP_" . $propIDTmp . ".CODE = '" . $propIDTmp . "' AND O.ID = SP_" . $propIDTmp . ".ORDER_ID)");
             }
         }
     }
 }
Ejemplo n.º 20
0
	// get prop values
	$arPropValsTmp = Array();
	if (!$bInitVars)
	{
		$dbPropVals = CSaleOrderUserPropsValue::GetList(
				array("SORT" => "ASC"),
				array("USER_PROPS_ID" => $arUserProps["ID"]),
				false,
				false,
				array("ID", "ORDER_PROPS_ID", "VALUE", "SORT")
			);
		while ($arPropVals = $dbPropVals->GetNext())
		{
			// replace here
			if(CSaleLocation::isLocationProMigrated() && isset($propsOfTypeLocation[$arPropVals['ORDER_PROPS_ID']]))
				$arPropVals["VALUE"] = CSaleLocation::getLocationIDbyCODE($arPropVals["VALUE"]);

			$arPropValsTmp["ORDER_PROP_".$arPropVals["ORDER_PROPS_ID"]] = $arPropVals["VALUE"];
		}
	}
	else
	{
		foreach ($_REQUEST as $key => $value)
		{
			if (substr($key, 0, strlen("ORDER_PROP_"))=="ORDER_PROP_")
				$arPropValsTmp[$key] = htmlspecialcharsbx($value);
		}
	}
	$arResult["ORDER_PROPS_VALUES"] = $arPropValsTmp;
}
else
Ejemplo n.º 21
0
 /**
  * Function gets order properties from database
  * @param mixed[] $cached Cached data taken from obtainDataCachedStructure()
  * @return void
  */
 protected function obtainProps(&$cached)
 {
     if (empty($this->dbResult["ID"])) {
         return;
     }
     $props = array();
     $dbOrderProps = CSaleOrderPropsValue::GetOrderProps($this->dbResult["ID"]);
     $iGroup = -1;
     while ($arOrderProps = $dbOrderProps->GetNext()) {
         if (empty($this->arParams["PROP_" . $this->dbResult["PERSON_TYPE_ID"]]) || !in_array($arOrderProps["ORDER_PROPS_ID"], $this->arParams["PROP_" . $this->dbResult["PERSON_TYPE_ID"]])) {
             if ($arOrderProps["ACTIVE"] == "Y" && $arOrderProps["UTIL"] == "N") {
                 $arOrderPropsTmp = $arOrderProps;
                 if ($iGroup != intval($arOrderProps["PROPS_GROUP_ID"])) {
                     $arOrderPropsTmp["SHOW_GROUP_NAME"] = "Y";
                     $iGroup = intval($arOrderProps["PROPS_GROUP_ID"]);
                 }
                 if ($arOrderProps["TYPE"] == "SELECT" || $arOrderProps["TYPE"] == "RADIO") {
                     $arVal = CSaleOrderPropsVariant::GetByValue($arOrderProps["ORDER_PROPS_ID"], $arOrderProps["VALUE"]);
                     $arOrderPropsTmp["VALUE"] = htmlspecialcharsEx($arVal["NAME"]);
                 } elseif ($arOrderProps["TYPE"] == "MULTISELECT") {
                     $arOrderPropsTmp["VALUE"] = "";
                     $curVal = explode(",", $arOrderProps["VALUE"]);
                     for ($i = 0, $intCount = count($curVal); $i < $intCount; $i++) {
                         $arVal = CSaleOrderPropsVariant::GetByValue($arOrderProps["ORDER_PROPS_ID"], $curVal[$i]);
                         if ($i > 0) {
                             $arOrderPropsTmp["VALUE"] .= ", ";
                         }
                         $arOrderPropsTmp["VALUE"] .= htmlspecialcharsEx($arVal["NAME"]);
                     }
                 } elseif ($arOrderProps["TYPE"] == "LOCATION") {
                     $locationName = "";
                     if (CSaleLocation::isLocationProMigrated()) {
                         $locationName = Location\Admin\LocationHelper::getLocationStringById($arOrderProps["VALUE"]);
                     } else {
                         $arVal = CSaleLocation::GetByID($arOrderProps["VALUE"], LANGUAGE_ID);
                         $locationName .= !strlen($arVal["COUNTRY_NAME"]) ? "" : $arVal["COUNTRY_NAME"];
                         if (strlen($arVal["COUNTRY_NAME"]) && strlen($arVal["REGION_NAME"])) {
                             $locationName .= " - " . $arVal["REGION_NAME"];
                         } elseif (strlen($arVal["REGION_NAME"])) {
                             $locationName .= $arVal["REGION_NAME"];
                         }
                         if (strlen($arVal["COUNTRY_NAME"]) || strlen($arVal["REGION_NAME"])) {
                             $locationName .= " - " . $arVal["CITY_NAME"];
                         } elseif (strlen($arVal["CITY_NAME"])) {
                             $locationName .= $arVal["CITY_NAME"];
                         }
                     }
                     $arOrderPropsTmp["VALUE"] = $locationName;
                 } elseif ($arOrderProps["TYPE"] == "FILE") {
                     if (strpos($arOrderProps["VALUE"], ",") !== false) {
                         $fileValue = "";
                         $values = explode(",", $arOrderProps["VALUE"]);
                         if (self::isNonemptyArray($values)) {
                             foreach ($values as $fileId) {
                                 $fileValue .= CFile::ShowFile(trim($fileId), 0, 90, 90, true) . "<br/>";
                             }
                         }
                         $arOrderPropsTmp["VALUE"] = $fileValue;
                     } else {
                         $arOrderPropsTmp["VALUE"] = CFile::ShowFile($arOrderProps["VALUE"], 0, 90, 90, true);
                     }
                 }
                 $props[] = $arOrderPropsTmp;
             }
         }
     }
     $cached["ORDER_PROPS"] = $props;
 }
Ejemplo n.º 22
0
		// enable/disable town for location
		$dbProperties = CSaleOrderProps::GetList(
			array("SORT" => "ASC"),
			array("ID" => $locationID, "ACTIVE" => "Y", ">INPUT_FIELD_LOCATION" => 0, "RELATED" => false),
			false,
			false,
			array("INPUT_FIELD_LOCATION")
		);
		if ($arProperties = $dbProperties->Fetch())
			$bDeleteFieldLocationID = $arProperties["INPUT_FIELD_LOCATION"];

		$rsLocationsList = CSaleLocation::GetList(
			array(),
			array("ID" => $location),
			false,
			false,
			array("ID", "CITY_ID")
		);
		$arCity = $rsLocationsList->GetNext();
		if (intval($arCity["CITY_ID"]) <= 0)
			$bDeleteFieldLocation = "Y";
		else
			$bDeleteFieldLocation = "N";

		$arOrder = CSaleOrder::DoCalculateOrder(
			$LID,
			$user_id,
			$arShoppingCart,
			$buyerTypeId,
			$arOrderPropsValues,
Ejemplo n.º 23
0
 public static function getAllCMTarifsFromCsv()
 {
     $csvFile = CSaleHelper::getCsvObject(__DIR__ . '/ru/cm_tarif.csv');
     $arTarifs = array();
     $regNames = array();
     $arResult = array();
     while ($arRes = $csvFile->Fetch()) {
         $arRegName = array_shift($arRes);
         $arTarifs[$arRegName] = $arRes;
         if ($arRegName != 'default') {
             $regNames[] = $arRegName;
         }
     }
     if (isset($arTarifs['default'])) {
         $arResult[0] = array("TARIFS" => self::getTarifArrayCSV($arTarifs['default']), "REG_NAME" => GetMessage('SPFPCT_TARIF_DEFAULT'));
     }
     $regInfo = CSaleLocation::GetRegionsIdsByNames($regNames);
     foreach ($regInfo as $regName => $regId) {
         $assocTarif = self::getTarifArrayCSV($arTarifs[$regName]);
         $arResult[$regInfo[$regName]]["TARIFS"] = $assocTarif;
         $arResult[$regInfo[$regName]]["REG_NAME"] = $regName;
     }
     return $arResult;
 }
Ejemplo n.º 24
0
     $locationFound = false;
     $dbVariants = CSaleLocation::GetList(array("SORT" => "ASC", "COUNTRY_NAME_LANG" => "ASC", "CITY_NAME_LANG" => "ASC"), array("LID" => LANGUAGE_ID), false, false, array("ID", "COUNTRY_NAME", "CITY_NAME", "SORT", "COUNTRY_NAME_LANG", "CITY_NAME_LANG"));
     while ($arVariants = $dbVariants->GetNext()) {
         if (intval($arVariants["ID"]) == intval($curVal) || !isset($curVal) && intval($arVariants["ID"]) == intval($arProperties["DEFAULT_VALUE"])) {
             $locationFound = true;
             $arVariants["SELECTED"] = "Y";
             $arProperties["VALUE_FORMATED"] = $arVariants["COUNTRY_NAME"] . (strlen($arVariants["CITY_NAME"]) > 0 ? " - " : "") . $arVariants["CITY_NAME"];
             $arProperties["VALUE"] = $arVariants["ID"];
         }
         $arVariants["NAME"] = $arVariants["COUNTRY_NAME"] . (strlen($arVariants["CITY_NAME"]) > 0 ? " - " : "") . $arVariants["CITY_NAME"];
         $arProperties["VARIANTS"][] = $arVariants;
     }
     // this is not a COUNTRY, REGION or CITY, but must appear in $arProperties["VARIANTS"]
     if (CSaleLocation::isLocationProMigrated() && !$locationFound && IntVal($curVal)) {
         // CSaleLocation::GetById() is enought intelligent to accept modern (not-country-or-region-or-city) ID or CODE
         $item = CSaleLocation::GetById($curVal);
         if ($item) {
             $item['NAME'] = $item["COUNTRY_NAME"] . (strlen($item["CITY_NAME"]) > 0 ? " - " : "") . $item["CITY_NAME"];
             $item['SELECTED'] = 'Y';
             $arProperties["VARIANTS"][] = $item;
         }
     }
     if (count($arProperties["VARIANTS"]) == 1) {
         $arProperties["VALUE"] = $arProperties["VARIANTS"][0]["ID"];
     }
 } elseif ($arProperties["TYPE"] == "RADIO") {
     $arProperties["VARIANTS"] = array();
     $dbVariants = CSaleOrderPropsVariant::GetList(array("SORT" => "ASC"), array("ORDER_PROPS_ID" => $arProperties["ID"]), false, false, array("*"));
     while ($arVariants = $dbVariants->GetNext()) {
         if ($arVariants["VALUE"] == $curVal || !isset($curVal) && $arVariants["VALUE"] == $arProperties["DEFAULT_VALUE"]) {
             $arVariants["CHECKED"] = "Y";
Ejemplo n.º 25
0
	function PrintPropsForm($arSource=Array(), $PRINT_TITLE = "", $arParams)
	{
		if (!empty($arSource))
		{
			if (strlen($PRINT_TITLE) > 0)
			{
				?>
				<b><?php 
echo $PRINT_TITLE;
?>
</b><br /><br />
				<?
			}
			?>
			<table class="sale_order_full_table">
			<?
			foreach($arSource as $arProperties)
			{
				if($arProperties["SHOW_GROUP_NAME"] == "Y")
				{
					?>
					<tr>
						<td colspan="2" align="center">
							<b><?php 
echo $arProperties["GROUP_NAME"];
?>
</b>
						</td>
					</tr>
					<?
				}
				?>
				<tr>
					<td align="right" valign="top">
						<?php 
echo $arProperties["NAME"];
?>
:<?
						if($arProperties["REQUIED_FORMATED"]=="Y")
						{
							?><span class="sof-req">*</span><?
						}
						?>
					</td>
					<td>
						<?
						if($arProperties["TYPE"] == "CHECKBOX")
						{
							?>
							<input type="checkbox" name="<?php 
echo $arProperties["FIELD_NAME"];
?>
" value="Y"<?if ($arProperties["CHECKED"]=="Y") echo " checked";?>>
							<?
						}
						elseif($arProperties["TYPE"] == "TEXT")
						{
							?>
							<input type="text" maxlength="250" size="<?php 
echo $arProperties["SIZE1"];
?>
" value="<?php 
echo $arProperties["VALUE"];
?>
" name="<?php 
echo $arProperties["FIELD_NAME"];
?>
">
							<?
						}
						elseif($arProperties["TYPE"] == "SELECT")
						{
							?>
							<select name="<?php 
echo $arProperties["FIELD_NAME"];
?>
" size="<?php 
echo $arProperties["SIZE1"];
?>
">
							<?
							foreach($arProperties["VARIANTS"] as $arVariants)
							{
								?>
								<option value="<?php 
echo $arVariants["VALUE"];
?>
"<?if ($arVariants["SELECTED"] == "Y") echo " selected";?>><?php 
echo $arVariants["NAME"];
?>
</option>
								<?
							}
							?>
							</select>
							<?
						}
						elseif ($arProperties["TYPE"] == "MULTISELECT")
						{
							?>
							<select multiple name="<?php 
echo $arProperties["FIELD_NAME"];
?>
" size="<?php 
echo $arProperties["SIZE1"];
?>
">
							<?
							foreach($arProperties["VARIANTS"] as $arVariants)
							{
								?>
								<option value="<?php 
echo $arVariants["VALUE"];
?>
"<?if ($arVariants["SELECTED"] == "Y") echo " selected";?>><?php 
echo $arVariants["NAME"];
?>
</option>
								<?
							}
							?>
							</select>
							<?
						}
						elseif ($arProperties["TYPE"] == "TEXTAREA")
						{
							?>
							<textarea rows="<?php 
echo $arProperties["SIZE2"];
?>
" cols="<?php 
echo $arProperties["SIZE1"];
?>
" name="<?php 
echo $arProperties["FIELD_NAME"];
?>
"><?php 
echo $arProperties["VALUE"];
?>
</textarea>
							<?
						}
						elseif ($arProperties["TYPE"] == "LOCATION")
						{
							$value = 0;
							foreach ($arProperties["VARIANTS"] as $arVariant)
							{
								if ($arVariant["SELECTED"] == "Y")
								{
									$value = $arVariant["ID"];
									break;
								}
							}

							if ($arParams["USE_AJAX_LOCATIONS"] == "Y"):

								CSaleLocation::proxySaleAjaxLocationsComponent(
									array(
										"AJAX_CALL" => "N",
										"COUNTRY_INPUT_NAME" => "COUNTRY_".$arProperties["FIELD_NAME"],
										"REGION_INPUT_NAME" => "REGION_".$arProperties["FIELD_NAME"],
										"CITY_INPUT_NAME" => $arProperties["FIELD_NAME"],
										"CITY_OUT_LOCATION" => "Y",
										"LOCATION_VALUE" => $value,
										"ORDER_PROPS_ID" => $arProperties["ID"],
										"ONCITYCHANGE" => "",
									),
									array(
										"ID" => "",
										"CODE" => $arProperties["VALUE"],
										"PROVIDE_LINK_BY" => "code",
									)
								);

							else:
							?>
							<select name="<?php 
echo $arProperties["FIELD_NAME"];
?>
" size="<?php 
echo $arProperties["SIZE1"];
?>
">
							<?
							foreach($arProperties["VARIANTS"] as $arVariants)
							{
								?>
								<option value="<?php 
echo $arVariants["ID"];
?>
"<?if ($arVariants["SELECTED"] == "Y") echo " selected";?>><?php 
echo $arVariants["NAME"];
?>
</option>
								<?
							}
							?>
							</select>
							<?
							endif;
						}
						elseif ($arProperties["TYPE"] == "RADIO")
						{
							foreach($arProperties["VARIANTS"] as $arVariants)
							{
								?>
								<input type="radio" name="<?php 
echo $arProperties["FIELD_NAME"];
?>
" id="<?php 
echo $arProperties["FIELD_NAME"];
?>
_<?php 
echo $arVariants["ID"];
?>
" value="<?php 
echo $arVariants["VALUE"];
?>
"<?if($arVariants["CHECKED"] == "Y") echo " checked";?>> <label for="<?php 
echo $arProperties["FIELD_NAME"];
?>
_<?php 
echo $arVariants["ID"];
?>
"><?php 
echo $arVariants["NAME"];
?>
</label><br />
								<?
							}
						}

						if (strlen($arProperties["DESCRIPTION"]) > 0)
						{
							?><br /><small><?echo $arProperties["DESCRIPTION"] ?></small><?
						}
						?>

					</td>
				</tr>
				<?
			}
			?>
			</table>
			<?
			return true;
		}
		return false;
	}
Ejemplo n.º 26
0
function getOrderPropertiesHTML($arOrderProps, $arPropValues = array(), $LID, $USER_ID = '', $ORDER_ID = 0, $formVarsSubmit = false)
{
	$propertyGroupID = -1;
	$arDisableFieldForLocation = array();
	$resultHtml = "<table id=\"order_related_props\">";

	// get order properties values
	if ($formVarsSubmit)
	{
		$locationIndexForm = "";
		foreach ($_POST as $key => $value)
		{
			if (substr($key, 0, strlen("CITY_ORDER_PROP_")) == "CITY_ORDER_PROP_")
			{
				$arPropValues[intval(substr($key, strlen("CITY_ORDER_PROP_")))] = htmlspecialcharsbx($value);
				$locationIndexForm = intval(substr($key, strlen("CITY_ORDER_PROP_")));
			}
			if (substr($key, 0, strlen("ORDER_PROP_")) == "ORDER_PROP_")
			{
				if ($locationIndexForm != intval(substr($key, strlen("ORDER_PROP_"))))
				{
					if (!is_array($value))
						$arPropValues[intval(substr($key, strlen("ORDER_PROP_")))] = htmlspecialcharsbx($value);
					else
					{
						$arValues = array();
						foreach ($value as $k => $v)
							$arValues[$key] = htmlspecialcharsbx($v);

						$arPropValues[intval(substr($key, strlen("ORDER_PROP_")))] = $arValues;
					}
				}
			}
		}
	}

	// iterate over list of properties
	if (is_array($arOrderProps))
	{
		foreach ($arOrderProps as $arProperties)
		{
			if (intval($arProperties["PROPS_GROUP_ID"]) != $propertyGroupID)
			{
				$resultHtml .= "<tr><td colspan=\"2\" style=\"text-align:center;font-weight:bold;font-size:14px;color:rgb(75, 98, 103);\" >".htmlspecialcharsEx($arProperties["GROUP_NAME"])."\n</td>\n</tr>";
				$propertyGroupID = intval($arProperties["PROPS_GROUP_ID"]);
			}

			if (intval($arProperties["PROPS_GROUP_ID"]) != $propertyGroupID)
				$propertyGroupID = intval($arProperties["PROPS_GROUP_ID"]);

			$adit = "";
			$requiredField = "";
			if ($arProperties["REQUIED"] == "Y" || $arProperties["IS_PROFILE_NAME"] == "Y" || $arProperties["IS_LOCATION"] == "Y" || $arProperties["IS_LOCATION4TAX"] == "Y" || $arProperties["IS_PAYER"] == "Y" || $arProperties["IS_ZIP"] == "Y")
			{
				$adit = " class=\"adm-detail-required-field\"";
				$requiredField = " class=\"adm-detail-content-cell-l\"";
			}

			//delete town from location
			if (in_array($arProperties["ID"], $arDisableFieldForLocation))
				$resultHtml .= "<tr style=\"display:none;\" id=\"town_location_".$arProperties["ID"]."\"".$adit.">\n";
			else
				$resultHtml .= "<tr id=\"town_location_".$arProperties["ID"]."\"".$adit.">\n";

			if(($arProperties["TYPE"] == "MULTISELECT" || $arProperties["TYPE"] == "TEXTAREA") || ($ORDER_ID <= 0 && $arProperties["IS_PROFILE_NAME"] == "Y") )
				$resultHtml .= "<td valign=\"top\" class=\"adm-detail-content-cell-l\" width=\"40%\">\n";
			else
				$resultHtml .= "<td align=\"right\" width=\"40%\" ".$requiredField.">\n";

			$resultHtml .= $arProperties["NAME"].":</td>";

			$curVal = $arPropValues[intval($arProperties["ID"])];

			if($arProperties["IS_EMAIL"] == "Y" || $arProperties["IS_PAYER"] == "Y")
			{
				if(strlen($arProperties["DEFAULT_VALUE"]) <= 0 && intval($USER_ID) > 0)
				{
					$rsUser = CUser::GetByID($USER_ID);
					if ($arUser = $rsUser->Fetch())
					{
						if($arProperties["IS_EMAIL"] == "Y")
							$arProperties["DEFAULT_VALUE"] = $arUser["EMAIL"];
						else
						{
							if (strlen($arUser["LAST_NAME"]) > 0)
								$arProperties["DEFAULT_VALUE"] .= $arUser["LAST_NAME"];
							if (strlen($arUser["NAME"]) > 0)
								$arProperties["DEFAULT_VALUE"] .= " ".$arUser["NAME"];
							if (strlen($arUser["SECOND_NAME"]) > 0 AND strlen($arUser["NAME"]) > 0)
								$arProperties["DEFAULT_VALUE"] .= " ".$arUser["SECOND_NAME"];
						}
					}
				}
			}

			$resultHtml .= "<td class=\"adm-detail-content-cell-r\" width=\"60%\">";

			if ($arProperties["TYPE"] == "CHECKBOX")
			{
				$resultHtml .= '<input type="checkbox" class="inputcheckbox" ';
				$resultHtml .= 'name="ORDER_PROP_'.$arProperties["ID"].'" value="Y"';
				$resultHtml .= 'id="ORDER_PROP_'.$arProperties["ID"].'" ';
				if ($curVal=="Y" || !isset($curVal) && $arProperties["DEFAULT_VALUE"]=="Y")
					$resultHtml .= " checked";
				$resultHtml .= '>';
			}
			elseif ($arProperties["TYPE"] == "TEXT")
			{
				$change = "";
				if ($arProperties["IS_ZIP"] == "Y")
				{
					$DELIVERY_LOCATION_ZIP = $curVal;
					$resultHtml .= '<script> locationZipID = \''.$arProperties["ID"].'\';</script>';
					$locationZipID = ((isset($curVal)) ? htmlspecialcharsEx($curVal) : htmlspecialcharsex($arProperties["DEFAULT_VALUE"]));
				}

				if ($arProperties["IS_PAYER"] == "Y" && intval($USER_ID) <= 0)
				{
					$resultHtml .= '<div id="BREAK_NAME"';
					if ($ORDER_ID > 0 || ($formVarsSubmit && $_REQUEST["btnTypeBuyer"] == "btnBuyerExist"))
						$resultHtml .= ' style="display:none"';
					$resultHtml .= '>';

					$BREAK_LAST_NAME_TMP = GetMessage('NEWO_BREAK_LAST_NAME');
					if (isset($_REQUEST["BREAK_LAST_NAME"]) && strlen($_REQUEST["BREAK_LAST_NAME"]) > 0)
						$BREAK_LAST_NAME_TMP = htmlspecialcharsbx(trim($_REQUEST["BREAK_LAST_NAME"]));

					$NEWO_BREAK_NAME_TMP = GetMessage('NEWO_BREAK_NAME');
					if (isset($_REQUEST["BREAK_NAME"]) && strlen($_REQUEST["BREAK_NAME"]) > 0)
						$NEWO_BREAK_NAME_TMP = htmlspecialcharsbx(trim($_REQUEST["BREAK_NAME"]));

					$BREAK_SECOND_NAME_TMP = GetMessage('NEWO_BREAK_SECOND_NAME');
					if (isset($_REQUEST["BREAK_SECOND_NAME"]) && strlen($_REQUEST["BREAK_SECOND_NAME"]) > 0)
						$BREAK_SECOND_NAME_TMP = htmlspecialcharsbx(trim($_REQUEST["BREAK_SECOND_NAME"]));

					$resultHtml .= "<div class=\"fio newo_break_active\"><input onblur=\"if (this.value==''){this.value='".CUtil::JSEscape(GetMessage('NEWO_BREAK_LAST_NAME'))."';BX.addClass(this.parentNode,'newo_break_active');}\" onfocus=\"if (this.value=='".CUtil::JSEscape(GetMessage('NEWO_BREAK_LAST_NAME'))."') {this.value='';BX.removeClass(this.parentNode,'newo_break_active');}\" type=\"text\" name=\"BREAK_LAST_NAME\" id=\"BREAK_LAST_NAME\" size=\"30\" value=\"".$BREAK_LAST_NAME_TMP."\" /></div>";
					$resultHtml .= "<div class=\"fio newo_break_active\"><input onblur=\"if (this.value==''){this.value='".CUtil::JSEscape(GetMessage('NEWO_BREAK_NAME'))."';BX.addClass(this.parentNode,'newo_break_active');}\" onfocus=\"if (this.value=='".CUtil::JSEscape(GetMessage('NEWO_BREAK_NAME'))."') {this.value='';BX.removeClass(this.parentNode,'newo_break_active');}\" type=\"text\" name=\"BREAK_NAME\" id=\"BREAK_NAME_BUYER\" size=\"30\" value=\"".$NEWO_BREAK_NAME_TMP."\" /></div>";
					$resultHtml .= "<div class=\"fio newo_break_active\"><input onblur=\"if (this.value==''){this.value='".CUtil::JSEscape(GetMessage('NEWO_BREAK_SECOND_NAME'))."';BX.addClass(this.parentNode,'newo_break_active');}\" onfocus=\"if (this.value=='".CUtil::JSEscape(GetMessage('NEWO_BREAK_SECOND_NAME'))."') {this.value='';BX.removeClass(this.parentNode,'newo_break_active');}\" type=\"text\" name=\"BREAK_SECOND_NAME\" id=\"BREAK_SECOND_NAME\" size=\"30\" value=\"".$BREAK_SECOND_NAME_TMP."\" /></div>";
					$resultHtml .= '</div>';

					$resultHtml .= '<div id="NO_BREAK_NAME"';
					if ($ORDER_ID <= 0)
						$tmpNone = ' style="display:none"';
					if ($formVarsSubmit && $_REQUEST["btnTypeBuyer"] == "btnBuyerExist")
						$tmpNone = ' style="display:block"';
					$resultHtml .= $tmpNone.'>';
				}

				$resultHtml .= '<input type="text" maxlength="250" ';
				$resultHtml .= 'size="30" ';
				$resultHtml .= 'value="'.((isset($curVal)) ? $curVal : $arProperties["DEFAULT_VALUE"]).'" ';
				$resultHtml .= 'name="ORDER_PROP_'.$arProperties["ID"].'" ';
				$resultHtml .= 'id="ORDER_PROP_'.$arProperties["ID"].'" '.$change.'>';

				if ($arProperties["IS_PAYER"] == "Y" && intval($USER_ID) <= 0)
					$resultHtml .= '</div>';
			}
			elseif ($arProperties["TYPE"] == "SELECT")
			{
				$size = (intval($arProperties["SIZE1"]) > 0) ? intval($arProperties["SIZE1"]) : 5;

				$resultHtml .= '<select name="ORDER_PROP_'.$arProperties["ID"].'" ';
				$resultHtml .= 'id="ORDER_PROP_'.$arProperties["ID"].'" ';
				$resultHtml .= 'size='.$size.' ';
				$resultHtml .= 'class="typeselect">';
				$dbVariants = CSaleOrderPropsVariant::GetList(
					array("SORT" => "ASC"),
					array("ORDER_PROPS_ID" => $arProperties["ID"]),
					false,
					false,
					array("*")
				);
				while ($arVariants = $dbVariants->Fetch())
				{
					$resultHtml .= '<option value="'.htmlspecialcharsex($arVariants["VALUE"]).'"';
					if ($arVariants["VALUE"] == $curVal || !isset($curVal) && $arVariants["VALUE"] == $arProperties["DEFAULT_VALUE"])
						$resultHtml .= " selected";
					$resultHtml .= '>'.htmlspecialcharsEx($arVariants["NAME"]).'</option>';
				}
				$resultHtml .= '</select>';
			}
			elseif ($arProperties["TYPE"] == "MULTISELECT")
			{
				$size = (intval($arProperties["SIZE1"]) > 0) ? intval($arProperties["SIZE1"]) : 5;

				$resultHtml .= '<select multiple name="ORDER_PROP_'.$arProperties["ID"].'[]" ';
				$resultHtml .= 'id="ORDER_PROP_'.$arProperties["ID"].'" ';
				$resultHtml .= 'size='.$size.' ';
				$resultHtml .= 'class="typeselect" type="multyselect">';

				if (!is_array($curVal))
				{
					if (strlen($curVal) > 0 OR $ORDER_ID != "")
						$curVal = explode(",", $curVal);
					else
						$curVal = explode(",", $arProperties["DEFAULT_VALUE"]);

					$arCurVal = array();
					$countCurVal = count($curVal);
					for ($i = 0; $i < $countCurVal; $i++)
						$arCurVal[$i] = Trim($curVal[$i]);
				}
				else
					$arCurVal = $curVal;

				$dbVariants = CSaleOrderPropsVariant::GetList(
					array("SORT" => "ASC"),
					array("ORDER_PROPS_ID" => $arProperties["ID"]),
					false,
					false,
					array("*")
				);
				while ($arVariants = $dbVariants->Fetch())
				{
					$resultHtml .= '<option value="'.htmlspecialcharsex($arVariants["VALUE"]).'"';
					if (in_array($arVariants["VALUE"], $arCurVal))
						$resultHtml .= " selected";
					$resultHtml .= '>'.htmlspecialcharsEx($arVariants["NAME"]).'</option>';
				}
				$resultHtml .= '</select>';
			}
			elseif ($arProperties["TYPE"] == "TEXTAREA")
			{
				$resultHtml .= '<textarea ';
				$resultHtml .= 'rows="4" ';
				$resultHtml .= 'cols="40" ';
				$resultHtml .= 'name="ORDER_PROP_'.$arProperties["ID"].'" ';
				$resultHtml .= 'id="ORDER_PROP_'.$arProperties["ID"].'" type="textarea">';
				$resultHtml .= ((isset($curVal)) ? $curVal : $arProperties["DEFAULT_VALUE"]);
				$resultHtml .= '</textarea>';
			}
			elseif ($arProperties["TYPE"] == "LOCATION")
			{
				$countryID = "";
				$cityID = "";
				$cityList = "";
				$DELIVERY_LOCATION = $arPropValues[intval($arProperties["ID"])];
				$locationID = $curVal;
				$tmpLocation = '';

				ob_start();

				CSaleLocation::proxySaleAjaxLocationsComponent(
					array(
						"SITE_ID" => $LID,
						"AJAX_CALL" => "N",
						"COUNTRY_INPUT_NAME" => "ORDER_PROP_".$arProperties["ID"],
						"REGION_INPUT_NAME" => "REGION_ORDER_PROP_".$arProperties["ID"],
						"CITY_INPUT_NAME" => "CITY_ORDER_PROP_".$arProperties["ID"],
						"CITY_OUT_LOCATION" => "Y",
						"ALLOW_EMPTY_CITY" => "Y",
						"LOCATION_VALUE" => $curVal,
						"COUNTRY" => "",
						"ONCITYCHANGE" => "",
						"PUBLIC" => "N",
					),
					array(
						"ID" => "",
						"CODE" => $curVal,
						"PROVIDE_LINK_BY" => "code",
					)
				);

				$tmpLocation = ob_get_contents();
				ob_end_clean();

				$resultHtml .= '<script>var locationID = \''.$arProperties["ID"].'\';</script>';
				$resultHtml .= $tmpLocation;
			}
			elseif ($arProperties["TYPE"] == "RADIO")
			{
				$dbVariants = CSaleOrderPropsVariant::GetList(
					array("SORT" => "ASC"),
					array("ORDER_PROPS_ID" => $arProperties["ID"]),
					false,
					false,
					array("*")
				);
				$resultHtml .= '<div id="ORDER_PROP_'.$arProperties["ID"].'">';// type="radio"
				while ($arVariants = $dbVariants->Fetch())
				{
					$resultHtml .= '<input type="radio" class="inputradio" ';
					$resultHtml .= 'name="ORDER_PROP_'.$arProperties["ID"].'" ';
					$resultHtml .= 'value="'.htmlspecialcharsex($arVariants["VALUE"]).'"';
					if ($arVariants["VALUE"] == $curVal || !isset($curVal) && $arVariants["VALUE"] == $arProperties["DEFAULT_VALUE"])
						$resultHtml .= " checked";
					$resultHtml .= '>'.htmlspecialcharsEx($arVariants["NAME"]).'<br>';
				}
				$resultHtml .= '</div>';
			}
			elseif ($arProperties["TYPE"] == "FILE")
			{
				$arValues = array();
				$arTmpValues = array();
				if (isset($arPropValues[$arProperties["ID"]]) && !is_array($arPropValues[$arProperties["ID"]]))
				{
					$arTmpValues = explode(", ", $arPropValues[$arProperties["ID"]]);
					foreach ($arTmpValues as $key => $value)
						$arValues[$value] = $value;
				}

				$resultHtml .= fShowFilePropertyField("ORDER_PROP_".$arProperties["ID"], $arProperties, $arValues, $arProperties["SIZE1"], $formVarsSubmit);
			}

			if (strlen($arProperties["DESCRIPTION"]) > 0)
			{
				$resultHtml .= "<br><small>".htmlspecialcharsEx($arProperties["DESCRIPTION"])."</small>";
			}
			$resultHtml .= "\n</td>\n</tr>";

		}//end while
	}

	$resultHtml .= "</table>";

	return $resultHtml;
}
Ejemplo n.º 27
0
    $arResult['FIELDS']['tab_1'][] = array('id' => 'DEAL_ID', 'name' => GetMessage('CRM_QUOTE_FIELD_DEAL_ID'), 'type' => 'crm_entity_selector', 'componentParams' => array('ENTITY_TYPE' => 'DEAL', 'INPUT_NAME' => 'DEAL_ID', 'NEW_INPUT_NAME' => '', 'INPUT_VALUE' => isset($arResult['ELEMENT']['DEAL_ID']) ? $arResult['ELEMENT']['DEAL_ID'] : '', 'FORM_NAME' => $arResult['FORM_ID'], 'MULTIPLE' => 'N', 'NAME_TEMPLATE' => \Bitrix\Crm\Format\PersonNameFormatter::getFormat()));
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'OPENED', 'name' => GetMessage('CRM_QUOTE_FIELD_OPENED'), 'type' => 'vertical_checkbox', 'params' => array(), 'value' => isset($arResult['ELEMENT']['OPENED']) ? $arResult['ELEMENT']['OPENED'] : true, 'title' => GetMessage('CRM_QUOTE_FIELD_OPENED_TITLE'));
$arResult['FIELDS']['tab_1'][] = array('id' => 'section_contact_info', 'name' => GetMessage('CRM_SECTION_CLIENT_INFO'), 'type' => 'section');
if (CCrmContact::CheckReadPermission()) {
    $arResult['FIELDS']['tab_1'][] = array('id' => 'CONTACT_ID', 'name' => GetMessage('CRM_QUOTE_FIELD_CONTACT_ID'), 'type' => 'crm_entity_selector', 'componentParams' => array('ENTITY_TYPE' => 'CONTACT', 'INPUT_NAME' => 'CONTACT_ID', 'NEW_INPUT_NAME' => CCrmContact::CheckCreatePermission() ? 'NEW_CONTACT_ID' : '', 'INPUT_VALUE' => isset($arResult['ELEMENT']['CONTACT_ID']) ? $arResult['ELEMENT']['CONTACT_ID'] : '', 'FORM_NAME' => $arResult['FORM_ID'], 'MULTIPLE' => 'N', 'NAME_TEMPLATE' => \Bitrix\Crm\Format\PersonNameFormatter::getFormat()));
}
if (CCrmCompany::CheckReadPermission()) {
    $arResult['FIELDS']['tab_1'][] = array('id' => 'COMPANY_ID', 'name' => GetMessage('CRM_QUOTE_FIELD_COMPANY_ID'), 'type' => 'crm_entity_selector', 'componentParams' => array('ENTITY_TYPE' => 'COMPANY', 'INPUT_NAME' => 'COMPANY_ID', 'NEW_INPUT_NAME' => CCrmCompany::CheckCreatePermission() ? 'NEW_COMPANY_ID' : '', 'INPUT_VALUE' => isset($arResult['ELEMENT']['COMPANY_ID']) ? $arResult['ELEMENT']['COMPANY_ID'] : '', 'FORM_NAME' => $arResult['FORM_ID'], 'MULTIPLE' => 'N', 'NAME_TEMPLATE' => \Bitrix\Crm\Format\PersonNameFormatter::getFormat()));
}
if ($bTaxMode) {
    // CLIENT LOCATION
    $sLocationHtml = '';
    $locValue = isset($arResult['ELEMENT']['LOCATION_ID']) ? $arResult['ELEMENT']['LOCATION_ID'] : '';
    ob_start();
    CSaleLocation::proxySaleAjaxLocationsComponent(array('AJAX_CALL' => 'N', 'COUNTRY_INPUT_NAME' => 'LOC_COUNTRY', 'REGION_INPUT_NAME' => 'LOC_REGION', 'CITY_INPUT_NAME' => 'LOC_CITY', 'CITY_OUT_LOCATION' => 'Y', 'LOCATION_VALUE' => $locValue, 'ORDER_PROPS_ID' => 'QUOTE_' . $arResult['ELEMENT']['ID'], 'ONCITYCHANGE' => 'BX.onCustomEvent(\'CrmProductRowSetLocation\', [\'LOC_CITY\']);', 'SHOW_QUICK_CHOOSE' => 'N'), array("CODE" => $locValue, "ID" => "", "PROVIDE_LINK_BY" => "code", "JS_CALLBACK" => 'CrmProductRowSetLocation'), 'popup');
    $sLocationHtml = ob_get_contents();
    ob_end_clean();
    $locationField = array('id' => 'LOCATION_ID', 'name' => GetMessage('CRM_QUOTE_FIELD_LOCATION_ID'), 'type' => 'custom', 'value' => $sLocationHtml . '<div>' . '<span class="bx-crm-edit-content-location-description">' . GetMessage('CRM_QUOTE_FIELD_LOCATION_ID_DESCRIPTION') . '</span>' . '</div>', 'required' => true);
    $arResult['FIELDS']['tab_1'][] = $locationField;
    $arResult['FORM_FIELDS_TO_ADD']['LOCATION_ID'] = $locationField;
    unset($locationField);
}
// Rewrite client fields
if (!($bEdit || $bCopy || !empty($arResult['ERROR_MESSAGE']))) {
    CCrmQuote::RewriteClientFields($arResult['ELEMENT']);
}
// person type
$arResult['ELEMENT']['PERSON_TYPE_ID'] = 0;
$arResult['PERSON_TYPE'] = 'CONTACT';
if (isset($arPersonTypes['CONTACT']) && (!isset($arResult['ELEMENT']['COMPANY_ID']) || intval($arResult['ELEMENT']['COMPANY_ID']) <= 0)) {
Ejemplo n.º 28
0
									if (strlen($arVal["REGION_NAME"]) > 0 && strlen($locationString) > 0)
										$locationString .= " - ".$arVal["REGION_NAME"];
									elseif (strlen($locationString) <= 0 && strlen($arVal["REGION_NAME"]) > 0)
										$locationString = $arVal["REGION_NAME"];

									if (strlen($locationString) > 0 && strlen($arVal["CITY_NAME"]) > 0)
										$locationString .= " - ".$arVal["CITY_NAME"];
									elseif (strlen($locationString) <= 0  && strlen($arVal["CITY_NAME"]) > 0)
										$locationString = $arVal["CITY_NAME"];

									echo htmlspecialcharsEx($locationString);
								}

								$locationData = $arOrderProps["VALUE"];

								$rsZipList = CSaleLocation::GetLocationZIP($locationData);
								if ($arZip = $rsZipList->Fetch())
								{
									if (strlen($arZip["ZIP"]) > 0)
										$locationZip = $arZip["ZIP"];
								}
							}
							elseif ($arOrderProps["TYPE"] == "FILE")
							{
								if (strpos($arOrderProps["VALUE"], ",") !== false)
								{
									$arValues = explode(",", $arOrderProps["VALUE"]);
									foreach ($arValues as $fileId)
									{
										echo showImageOrDownloadLink(trim($fileId), $ID);
										echo "<br/>";
Ejemplo n.º 29
0
if (CModule::IncludeModule("sale")) {
    if ($arOrder = CSaleOrder::GetByID($ORDER_ID)) {
        $rep_file_name = GetRealPath2Report($doc . ".php");
        if (strlen($rep_file_name) <= 0) {
            ShowError("PRINT TEMPLATE NOT FOUND");
            die;
        }
        $arOrderProps = array();
        $dbOrderPropVals = CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => $ORDER_ID), false, false, array("ID", "CODE", "VALUE", "ORDER_PROPS_ID", "PROP_TYPE"));
        while ($arOrderPropVals = $dbOrderPropVals->Fetch()) {
            $arCurOrderPropsTmp = CSaleOrderProps::GetRealValue($arOrderPropVals["ORDER_PROPS_ID"], $arOrderPropVals["CODE"], $arOrderPropVals["PROP_TYPE"], $arOrderPropVals["VALUE"], LANGUAGE_ID);
            foreach ($arCurOrderPropsTmp as $key => $value) {
                $arOrderProps[$key] = $value;
            }
        }
        if (CSaleLocation::isLocationProMigrated()) {
            if (strlen($arOrderProps['LOCATION_VILLAGE']) && !strlen($arOrderProps['LOCATION_CITY'])) {
                $arOrderProps['LOCATION_CITY'] = $arOrderProps['LOCATION_VILLAGE'];
            }
            // street added to the beginning of address, as it used to be before
            if (strlen($arOrderProps['LOCATION_STREET']) && isset($arOrderProps['ADDRESS'])) {
                $arOrderProps['ADDRESS'] = $arOrderProps['LOCATION_STREET'] . (strlen($arOrderProps['ADDRESS']) ? ', ' . $arOrderProps['ADDRESS'] : '');
            }
        }
        $arBasketIDs = array();
        $arQuantities = array();
        if (!isset($SHOW_ALL) || $SHOW_ALL == "N") {
            $arBasketIDs_tmp = explode(",", $BASKET_IDS);
            $arQuantities_tmp = explode(",", $QUANTITIES);
            if (count($arBasketIDs_tmp) != count($arQuantities_tmp)) {
                die("INVALID PARAMS");
Ejemplo n.º 30
0
    function PrintPropsForm($arSource = array(), $locationTemplate = ".default")
    {
        if (!empty($arSource)) {
            ?>
				<div>
					<?php 
            foreach ($arSource as $arProperties) {
                ?>
						<div data-property-id-row="<?php 
                echo intval(intval($arProperties["ID"]));
                ?>
">

						<?php 
                if ($arProperties["TYPE"] == "CHECKBOX") {
                    ?>
							<input type="hidden" name="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" value="">

							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r1x3 pt8">
								<input type="checkbox" name="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" id="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" value="Y"<?php 
                    if ($arProperties["CHECKED"] == "Y") {
                        echo " checked";
                    }
                    ?>
>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>

							<div style="clear: both;"></div>
							<?php 
                } elseif ($arProperties["TYPE"] == "TEXT") {
                    ?>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">
								<input type="text" maxlength="250" size="<?php 
                    echo $arProperties["SIZE1"];
                    ?>
" value="<?php 
                    echo $arProperties["VALUE"];
                    ?>
" name="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" id="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" />

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>
							<div style="clear: both;"></div><br/>
							<?php 
                } elseif ($arProperties["TYPE"] == "SELECT") {
                    ?>
							<br/>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">
								<select name="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" id="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" size="<?php 
                    echo $arProperties["SIZE1"];
                    ?>
">
									<?php 
                    foreach ($arProperties["VARIANTS"] as $arVariants) {
                        ?>
										<option value="<?php 
                        echo $arVariants["VALUE"];
                        ?>
"<?php 
                        if ($arVariants["SELECTED"] == "Y") {
                            echo " selected";
                        }
                        ?>
><?php 
                        echo $arVariants["NAME"];
                        ?>
</option>
									<?php 
                    }
                    ?>
								</select>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>
							<div style="clear: both;"></div>
							<?php 
                } elseif ($arProperties["TYPE"] == "MULTISELECT") {
                    ?>
							<br/>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">
								<select multiple name="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" id="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" size="<?php 
                    echo $arProperties["SIZE1"];
                    ?>
">
									<?php 
                    foreach ($arProperties["VARIANTS"] as $arVariants) {
                        ?>
										<option value="<?php 
                        echo $arVariants["VALUE"];
                        ?>
"<?php 
                        if ($arVariants["SELECTED"] == "Y") {
                            echo " selected";
                        }
                        ?>
><?php 
                        echo $arVariants["NAME"];
                        ?>
</option>
									<?php 
                    }
                    ?>
								</select>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>
							<div style="clear: both;"></div>
							<?php 
                } elseif ($arProperties["TYPE"] == "TEXTAREA") {
                    $rows = $arProperties["SIZE2"] > 10 ? 4 : $arProperties["SIZE2"];
                    ?>
							<br/>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">
								<textarea rows="<?php 
                    echo $rows;
                    ?>
" cols="<?php 
                    echo $arProperties["SIZE1"];
                    ?>
" name="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
" id="<?php 
                    echo $arProperties["FIELD_NAME"];
                    ?>
"><?php 
                    echo $arProperties["VALUE"];
                    ?>
</textarea>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>
							<div style="clear: both;"></div>
							<?php 
                } elseif ($arProperties["TYPE"] == "LOCATION") {
                    ?>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">

								<?php 
                    $value = 0;
                    if (is_array($arProperties["VARIANTS"]) && count($arProperties["VARIANTS"]) > 0) {
                        foreach ($arProperties["VARIANTS"] as $arVariant) {
                            if ($arVariant["SELECTED"] == "Y") {
                                $value = $arVariant["ID"];
                                break;
                            }
                        }
                    }
                    // here we can get '' or 'popup'
                    // map them, if needed
                    if (CSaleLocation::isLocationProMigrated()) {
                        $locationTemplateP = $locationTemplate == 'popup' ? 'search' : 'steps';
                        $locationTemplateP = $_REQUEST['PERMANENT_MODE_STEPS'] == 1 ? 'steps' : $locationTemplateP;
                        // force to "steps"
                    }
                    ?>

								<?php 
                    if ($locationTemplateP == 'steps') {
                        ?>
									<input type="hidden" id="LOCATION_ALT_PROP_DISPLAY_MANUAL[<?php 
                        echo intval($arProperties["ID"]);
                        ?>
]" name="LOCATION_ALT_PROP_DISPLAY_MANUAL[<?php 
                        echo intval($arProperties["ID"]);
                        ?>
]" value="<?php 
                        echo $_REQUEST['LOCATION_ALT_PROP_DISPLAY_MANUAL'][intval($arProperties["ID"])] ? '1' : '0';
                        ?>
" />
								<?php 
                    }
                    ?>

								<?php 
                    CSaleLocation::proxySaleAjaxLocationsComponent(array("AJAX_CALL" => "N", "COUNTRY_INPUT_NAME" => "COUNTRY", "REGION_INPUT_NAME" => "REGION", "CITY_INPUT_NAME" => $arProperties["FIELD_NAME"], "CITY_OUT_LOCATION" => "Y", "LOCATION_VALUE" => $value, "ORDER_PROPS_ID" => $arProperties["ID"], "ONCITYCHANGE" => $arProperties["IS_LOCATION"] == "Y" || $arProperties["IS_LOCATION4TAX"] == "Y" ? "submitForm()" : "", "SIZE1" => $arProperties["SIZE1"]), array("ID" => $value, "CODE" => "", "SHOW_DEFAULT_LOCATIONS" => "Y", "JS_CALLBACK" => "submitFormProxy", "JS_CONTROL_DEFERRED_INIT" => intval($arProperties["ID"]), "JS_CONTROL_GLOBAL_ID" => intval($arProperties["ID"]), "DISABLE_KEYBOARD_INPUT" => "Y", "PRECACHE_LAST_LEVEL" => "Y", "PRESELECT_TREE_TRUNK" => "Y", "SUPPRESS_ERRORS" => "Y"), $locationTemplateP, true, 'location-block-wrapper');
                    ?>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>

							</div>
							<div style="clear: both;"></div>
							<?php 
                } elseif ($arProperties["TYPE"] == "RADIO") {
                    ?>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">
								<?php 
                    if (is_array($arProperties["VARIANTS"])) {
                        foreach ($arProperties["VARIANTS"] as $arVariants) {
                            ?>
										<input
											type="radio"
											name="<?php 
                            echo $arProperties["FIELD_NAME"];
                            ?>
"
											id="<?php 
                            echo $arProperties["FIELD_NAME"];
                            ?>
_<?php 
                            echo $arVariants["VALUE"];
                            ?>
"
											value="<?php 
                            echo $arVariants["VALUE"];
                            ?>
" <?php 
                            if ($arVariants["CHECKED"] == "Y") {
                                echo " checked";
                            }
                            ?>
 />

										<label for="<?php 
                            echo $arProperties["FIELD_NAME"];
                            ?>
_<?php 
                            echo $arVariants["VALUE"];
                            ?>
"><?php 
                            echo $arVariants["NAME"];
                            ?>
</label></br>
									<?php 
                        }
                    }
                    ?>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>
							<div style="clear: both;"></div>
							<?php 
                } elseif ($arProperties["TYPE"] == "FILE") {
                    ?>
							<br/>
							<div class="bx_block r1x3 pt8">
								<?php 
                    echo $arProperties["NAME"];
                    ?>
								<?php 
                    if ($arProperties["REQUIED_FORMATED"] == "Y") {
                        ?>
									<span class="bx_sof_req">*</span>
								<?php 
                    }
                    ?>
							</div>

							<div class="bx_block r3x1">
								<?php 
                    echo showFilePropertyField("ORDER_PROP_" . $arProperties["ID"], $arProperties, $arProperties["VALUE"], $arProperties["SIZE1"]);
                    ?>

								<?php 
                    if (strlen(trim($arProperties["DESCRIPTION"])) > 0) {
                        ?>
								<div class="bx_description">
									<?php 
                        echo $arProperties["DESCRIPTION"];
                        ?>
								</div>
								<?php 
                    }
                    ?>
							</div>

							<div style="clear: both;"></div><br/>
							<?php 
                }
                ?>
						</div>

						<?php 
                if (CSaleLocation::isLocationProEnabled()) {
                    ?>

							<?php 
                    $propertyAttributes = array('type' => $arProperties["TYPE"], 'valueSource' => $arProperties['SOURCE'] == 'DEFAULT' ? 'default' : 'form');
                    if (intval($arProperties['IS_ALTERNATE_LOCATION_FOR'])) {
                        $propertyAttributes['isAltLocationFor'] = intval($arProperties['IS_ALTERNATE_LOCATION_FOR']);
                    }
                    if (intval($arProperties['CAN_HAVE_ALTERNATE_LOCATION'])) {
                        $propertyAttributes['altLocationPropId'] = intval($arProperties['CAN_HAVE_ALTERNATE_LOCATION']);
                    }
                    if ($arProperties['IS_ZIP'] == 'Y') {
                        $propertyAttributes['isZip'] = true;
                    }
                    ?>

							<script>

								<?php 
                    // add property info to have client-side control on it
                    ?>
								(window.top.BX || BX).saleOrderAjax.addPropertyDesc(<?php 
                    echo CUtil::PhpToJSObject(array('id' => intval($arProperties["ID"]), 'attributes' => $propertyAttributes));
                    ?>
);

							</script>
						<?php 
                }
                ?>

						<?php 
            }
            ?>
				</div>
			<?php 
        }
    }