IncludeModuleLangFile(__FILE__); class CIBlockPropertyMapInterface { function GetUserTypeDescription() { return array(); } function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName) { return ''; } function GetAdminListViewHTML($arProperty, $value, $strHTMLControlName) { return $value['VALUE']; } function GetPublicViewHTML($arProperty, $value, $strHTMLControlName) { return ''; } function ConvertFromDB($arProperty, $value) { $arResult = array('VALUE' => ''); if (strlen($value['VALUE']) > 0) { $arCoords = explode(',', $value['VALUE'], 2); $lat = doubleval($arCoords[0]); $lng = doubleval($arCoords[1]); if ($lat && $lng) $arResult['VALUE'] = $lat.','.$lng; } return $arResult; } function ConvertToDB($arProperty, $value) { $arResult = array('VALUE' => ''); if (strlen($value['VALUE']) > 0) { $arCoords = explode(',', $value['VALUE'], 2); $lat = doubleval($arCoords[0]); $lng = doubleval($arCoords[1]); if ($lat && $lng) $arResult['VALUE'] = $lat.','.$lng; } return $arResult; } } class CIBlockPropertyMapGoogle extends CIBlockPropertyMapInterface { function GetUserTypeDescription() { return array( "PROPERTY_TYPE" =>"S", "USER_TYPE" =>"map_google", "DESCRIPTION" =>GetMessage("IBLOCK_PROP_MAP_GOOGLE"), "GetPropertyFieldHtml" =>array("CIBlockPropertyMapGoogle","GetPropertyFieldHtml"), "GetPublicViewHTML" =>array("CIBlockPropertyMapGoogle","GetPublicViewHTML"), "ConvertToDB" =>array("CIBlockPropertyMapGoogle","ConvertToDB"), "ConvertFromDB" =>array("CIBlockPropertyMapGoogle","ConvertFromDB"), ); } function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName) { global $APPLICATION; if ($strHTMLControlName["MODE"] != "FORM_FILL") return ''; if (strlen($value['VALUE']) > 0) { list($POINT_LAT, $POINT_LON) = explode(',', $value['VALUE'], 2); $bHasValue = true; } else { $POINT_LAT = doubleval(GetMessage('IBLOCK_PROP_MAP_GOOGLE_INIT_LAT')); $POINT_LON = doubleval(GetMessage('IBLOCK_PROP_MAP_GOOGLE_INIT_LON')); $bHasValue = false; } $MAP_ID = 'map_google_'.$arProperty['CODE'].'_'.$arProperty['ID']; $MAP_KEY = ''; $strMapKeys = COPtion::GetOptionString('fileman', 'map_google_keys'); $strDomain = $_SERVER['HTTP_HOST']; $wwwPos = strpos($strDomian, 'www.'); if ($wwwPos === 0) $strDomain = substr($strDomain, 4); if ($strMapKeys) { $arMapKeys = unserialize($strMapKeys); if (array_key_exists($strDomain, $arMapKeys)) $MAP_KEY = $arMapKeys[$strDomain]; } if (!$MAP_KEY) { ?> echo BeginNote(); ?>