Архив

Архив Октябрь 2017
27 октября 2017 Нет комментариев

Актуально для CentOS.
При ошибке PHP Fatal error: Class 'DOMDocument' not found in необходимо установить пакет php-xml

yum install php-xml
apachectl restart
Categories: Linux Tags: ,
26 октября 2017 Нет комментариев

HTML:

<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>

Javascript:

var map;
function initMap(){
	map=new google.maps.Map(document.getElementById('map'),{
		center:{lat:50.464579,lng:30.522939},
		zoom:17,
		scrollwheel:false,
	});
	var image='/images/icon_pin.png';
	var marker=new google.maps.Marker({
		position:{lat:50.464579,lng:30.522939},
		map:map,
		icon:image,
		title:'Адрес',
	});
	var infowindow=new google.maps.InfoWindow({
		content:'Название компании<br/>Адрес',
	});
	marker.addListener('click',function(){
		infowindow.open(map,marker);
	});
	var styledMapType=new google.maps.StyledMapType(
		[
			{
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#f5f5f5"
					}
				]
			},
			{
				"elementType":"labels.icon",
				"stylers":[
					{
						"visibility":"off"
					}
				]
			},
			{
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#616161"
					}
				]
			},
			{
				"elementType":"labels.text.stroke",
				"stylers":[
					{
						"color":"#f5f5f5"
					}
				]
			},
			{
				"featureType":"administrative.land_parcel",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#bdbdbd"
					}
				]
			},
			{
				"featureType":"poi",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#eeeeee"
					}
				]
			},
			{
				"featureType":"poi",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#757575"
					}
				]
			},
			{
				"featureType":"poi.park",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#e5e5e5"
					}
				]
			},
			{
				"featureType":"poi.park",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#9e9e9e"
					}
				]
			},
			{
				"featureType":"road",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#ffffff"
					}
				]
			},
			{
				"featureType":"road.arterial",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#757575"
					}
				]
			},
			{
				"featureType":"road.highway",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#dadada"
					}
				]
			},
			{
				"featureType":"road.highway",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#616161"
					}
				]
			},
			{
				"featureType":"road.local",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#9e9e9e"
					}
				]
			},
			{
				"featureType":"transit.line",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#e5e5e5"
					}
				]
			},
			{
				"featureType":"transit.station",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#eeeeee"
					}
				]
			},
			{
				"featureType":"water",
				"elementType":"geometry",
				"stylers":[
					{
						"color":"#c9c9c9"
					}
				]
			},
			{
				"featureType":"water",
				"elementType":"labels.text.fill",
				"stylers":[
					{
						"color":"#9e9e9e"
					}
				]
			}
		],
		{name:'Styled Map'}
	);
	map.mapTypes.set('styled_map',styledMapType);
	map.setMapTypeId('styled_map');
}

CSS:

#map{
	width:570px;
	height:530px;
}

Подробнее: https://developers.google.com/maps/documentation/javascript/
Google Maps APIs Styling Wizard для быстрого создания объекта стиля JSON: https://mapstyle.withgoogle.com/

Categories: Web Tags:
23 октября 2017 Нет комментариев

В примере по адресу определяем район СПБ: Выборгский, Приморский и т.д.
Логика:

  1. Прямым геокодированием определяем координаты объекта.
  2. Обратным геокодированием с kind=district получаем район.

Подключаем api Яндекс:

<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>

Input:

<input type="text" name="address" id="address"/>

JS:

ymaps.ready(init);
function init(){
	var suggestView=new ymaps.SuggestView('address');
	suggestView.events.add('select',function(event){
		var selected=event.get('item').value;
		ymaps.geocode(selected,{
			results:1
		}).then(function(res){
			return ymaps.geocode(res.geoObjects.get(0).geometry.getCoordinates(),{
				kind:'district',
				results:10
			}).then(function(res){
				var founded=res['metaData']['geocoder']['found'];
				$('label.suggest .description').html("");
				for(i=0;i<=founded-1;i++){
					var info=res.geoObjects.get(i).properties.getAll();
					console.log(info);
					var name=info['name'];
					if(name.search('район')!=-1){
						name=name.replace(' район','');
						console.log(name);
					}
				}
			});
		});
	});
}
Categories: Javascript Tags: ,
15 октября 2017 Нет комментариев
.text{
	background:linear-gradient(to bottom,#ffd56e,#ed9f23);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
}

Градиент + тень:

.text{
	background:linear-gradient(to bottom,#ffd56e,#ed9f23);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	position:relative;
}
.text:before{
	background:none;
	content:attr(data-text);
	left:0;
	position:absolute;
	text-shadow:2px 0px 1px rgba(0,0,0,.4);
	top:0;
	z-index:-1;
}
<div class="text" data-text="Текст">Текст</div>
Categories: CSS Tags:
7 октября 2017 Нет комментариев

Когда в PuTTY в mc вместо псевдографики отображаются непонятные символы. Проблема из-за некорректно установленной локали. (подразумевается, что в опциях PuTTY «Window -> Translation» установлена верная кодировка).
В /etc/locale.conf указываем:

LANG=ru_RU.utf8

Или другую необходимую. Затем reboot.

Categories: Linux Tags:
7 октября 2017 Нет комментариев

Если вместо 403 ошибки по умолчанию отображается тестовая страница apache (замечено на CentOS) закомментировать в:

/etc/httpd/conf.d/welcome.conf

следующую строку:

<LocationMatch "^/+$">
	Options -Indexes
#	ErrorDocument 403 /.noindex.html
</LocationMatch>

Затем конечно перезапуск:

service httpd restart
Categories: Linux Tags:
5 октября 2017 Нет комментариев

Полный редирект:

if ($scheme != "https") {
	return 301 https://$host$request_uri;
}

Редирект всего кроме robots.txt

set $do_redirect 1;
if ($scheme ~* ^https$) {
	set $do_redirect 0;
}
if ($request_uri ~* ^/robots\.txt$) {
	set $do_redirect 0;
}
if ($do_redirect = 1) {
	return 301 https://$server_name$request_uri;
}
Categories: Unix Tags: