Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[BETA] geo bbCode

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда

[BETA] geo bbCode

Сообщение Егор Наклоняев »

Код: Выделить всё

##############################################################
## MOD Title: [geo] bbCode
## MOD Author: chyduskam < chuduskam@debilarius.ru > (Egor Naklonyaeff) N/A
## MOD Description: [geo] bbCode
## MOD Version: 0.0.3
##
## Installation Level: Easy
## Installation Time: 2 Minutes
## Files To Edit: 1
##    includes/bbcode.php
##    Included Files: globe.gif
##    geo2wpt.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbbguru.net/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbbguru.net/mods/
##############################################################
## Author Notes: Usage [geo]xx:yy.zzz;xx:yy.zzz[/geo]
##  Return point to map and wpt file
##############################################################
## MOD History:
##   2005-04-20 - Version 0.0.2
##      - initial release
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ COPY ]------------------------------------------
#
globe.gif to images/globe.gif
geo2wpt.php to geo2wpt.php
#
#-----[ OPEN ]-------------------------------------------------------
#
includes/bbcode.php

#
#-----[ FIND ]----------------------------------------
#
// Patterns and replacements for URL and email tags.

#
#-----[ BEFORE, ADD ]----------------------------------
#
    // [geo] bbCode
    $text = preg_replace("#\[geo:$uid\](.*?)\[/geo:$uid\]#sie", "geo_bbCode('\\1')", $text);

#
#-----[ FIND ]----------------------------------------
#
	// [img]image_url_here[/img] code..
	$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)

#
#-----[ BEFORE, ADD ]----------------------------------
#
	// [geo] bbCode
	$text = preg_replace("#\[geo\]([\-0-9]+\:[\.0-9]+;[\-0-9]+\:[\.0-9]+)\[/geo\]#si", "[geo:$uid]\\1[/geo:$uid]", $text);

#
#-----[ FIND ]----------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]----------------------------------
#
function geo_bbCode($text)
{
	global $board_config,$phpEx;
	$script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path']));
    $server_name = trim($board_config['server_name']);
	$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
	$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';
	$index_url = $server_protocol . $server_name . $server_port . (( $script_name != '' )? $script_name . '/':'');
	list($lat,$lon)=explode(';',$text,2);
	list($lat1,$lat2)=explode(':',$lat,2);
	list($lon1,$lon2)=explode(':',$lon,2);
	$lat=number_format((intval($lat1)+floatval($lat2)/60.0),5,'.','');
        $lon=number_format((intval($lon1)+floatval($lon2)/60.0),5,'.','');
	$txt=abs($lat1).'°'.$lat2."'".(($lat1>0)?'N':'S').'; '.abs($lon1).'°'.$lon2."'".(($lon1>0)?'E':'W');
	 return '<a target=_blank href="http://www.multimap.com/map/browse.cgi?icon=X&lat='.$lat.'&lon='.$lon.'&scale=200000&scale2=320">
 <img src="'.$index_url.'images/globe.gif" border="0" alt=""></a>&nbsp;<a target=_blank title="OziExplorer WPT" href="'.$index_url.'geo2wpt.php?geo='.$text.'">'.$txt.'</a>';
}

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Примечание:
1. Картинка globe.gif - Изображение
2. Пример работы: http://naklon.info/talk/viewtopic.php?p=2976#2976
3. Файл geo2wpt.php

Код: Выделить всё

<?php
if(!isset($_GET['geo'])) die('Out of order');
list($lat,$lon)=explode(';',$_GET['geo'],2);
list($lat1,$lat2)=explode(':',$lat,2);
list($lon1,$lon2)=explode(':',$lon,2);
$lat=number_format((intval($lat1)+floatval($lat2)/60.0),6,'.','');
$lon=number_format((intval($lon1)+floatval($lon2)/60.0),6,'.','');
header ('Content-Type: text/plain');
header('Content-Disposition: inline; filename="pount.wpt"');
echo "OziExplorer Waypoint File Version 1.1\r\n";
echo "WGS 84\r\nReserved 2\r\ngarmin\r\n";
echo "1,1,$lat,$lon,".number_format((time()/86400.0+25570),5,'.','').",70,1,4,0,65535,AutoPoint,0,0,0,-777,6,0,17\r\n";
?>
Аватара пользователя
BorMan
phpBB 1.4.3
Сообщения: 91
Стаж: 19 лет 1 месяц
Откуда: Moscow

Сообщение BorMan »

Егор Наклоняев
Я там тебе в песочнице мыслишки подкинул по user wpt list
Лень - двигатель прогресса!!!
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

Егор Наклоняев
хоть бы объяснил чего делает =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
sigal
phpBB Plus
Сообщения: 442
Стаж: 19 лет 10 месяцев
Откуда: КПРФ ;)

Сообщение sigal »

я тоже че-то нифига не понял че он делает..
на пример по ссылке перешел.. вроде все стандартно
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда

Сообщение Егор Наклоняев »

Итак, что делает этот код (не туристам не понять)
Код служит для обмена точками в координатной системе WGS84
При задании координат
[geo]60:28.309;30:00.275[/geo]
Возникает строка с двумя ссылками.
Первая ссылка - глобус. При нажатии на данную ссылку переходишь на страницу с картой, где изображено местоположение данной точки.
Вторая ссылка - сами приведенные координаты. При нажатии на ссылку формируется файл в формате OziExplorer WPT, для работы с этой точкой с помощью популярной программы OziExplorer.
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

я не турист, но кажется знаю
эти координаты используются в системе GPS
так?
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда

Сообщение Егор Наклоняев »

quazi писал(а):эти координаты используются в системе GPS
В частности. Это координаты точки на земном шаре. Долгота и широта ;)
Можно также пользоваться бумажными картами, лоциями и т.п.
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

Это координаты точки на земном шаре
знаю, я имел ввиду формат WGS84
Аватара пользователя
BorMan
phpBB 1.4.3
Сообщения: 91
Стаж: 19 лет 1 месяц
Откуда: Moscow

Сообщение BorMan »

quazi писал(а):знаю, я имел ввиду формат WGS84
Это формат описания кривизны земной поверхности и привязки к системе координат (практически используется во всех GPS)... В России карты делали в формате Пулково-42 и посему если посмотришь нашу родную карту и буржуйскую, то координаты одной и той-же точки на ней будут разными... GPS может работать в разных форматах, а програмка Ozi может их конвертировать...

Егор Наклоняев
Может к этой Лайтовой версии сделать нормальный Geo Mod?
- выделить под координаты отдельную таблицу,
- сделать wpt list, куда дополнительно выводить все занесенные в темах точки,
- расположить на этом листе возможность выбора точек для формирования списка под Ozi и окна прифекса к именам точек (чтобы потом в Ozi не путаться),
- ссылочку на этот лист расположить в одну строчку с координатами в сообщении (типа full wpt list),
- дать возможность из админки корректировать/удалять точки с этого листа...,
- нормально оформить FAQ для чайников, чтобы не глупили... :)
Сам понимаешь - одна точка хорошо, но закачивать в Ozi лучше списком, если их много и с индивидуальными названиями под себя родимого... :)
Лень - двигатель прогресса!!!
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 5 месяцев
Откуда: оттуда

Сообщение Егор Наклоняев »

BorMan
Можно, конечно, сделать полноценный продукт по обмену точками, с экспортом в WPT и MapSource, однако останавливает следующее:
Умные люди не будут сдавать массово "секретные точки". Он будет невостребован. Есть уже в интернете сайт по обмену точками, но он особо не пользуется популярностью.
Посему был и сделан этот МОД, не грузящий базу. Исключительно, чтобы оговаривать точки сбора. Типа, встречаемся тогда-то и здесь. Координаты прилагаются.
А faq написать - это запросто.

Откройте language/lang_russian/lang_bbcode.php
найдите

Код: Выделить всё

$faq[] = array("--", "Прочее");
Перед этой строкой добавьте строки:

Код: Выделить всё

$faq[] = array("--", "Обмен координатами");
$faq[] = array("Как вставить координаты в сообщение?", "Для того, чтобы вставить координаты в сообщение, используйте тэги вида [geo]60:0.0;30:0.0[/geo], описывающие широту и долготу местности. Градусы отделяются от минут знаком двоеточие, вместо секунд пишутся тысячные доли градуса, долгота и широта разделена точкой с запятой. В результате, получается ссылка на карту мира и ссылка на файл OziExplorer WPT");
и так далее...
Аватара пользователя
BorMan
phpBB 1.4.3
Сообщения: 91
Стаж: 19 лет 1 месяц
Откуда: Moscow

Сообщение BorMan »

Егор Наклоняев
Как FAQ впихнуть мы знаем... :)
Егор Наклоняев писал(а):Умные люди не будут сдавать массово "секретные точки". Он будет невостребован. Есть уже в интернете сайт по обмену точками, но он особо не пользуется популярностью.
Тут я согласен..., но вот часто сталкиваюсь с проблемками такого рода, что нужны не "секретные точки", а просто список точек с "достоверными координатами", снятыми "на месте" для привязки всякой картографии диких районов в Ozi... А такой базы в сети я не видел... Вот и приходится брать из Ингитовских векторок... По Европейской части - терпимо, а по Забайкалью ошибка привязки уже на уровне 200-500 м... :(

Добавлено спустя 1 минуту 37 секунд:
Егор Наклоняев писал(а):сдавать массово "секретные точки".
Доступ к считыванию этого надо делать на уровне групп пользователей... IMHO
Лень - двигатель прогресса!!!
UA6ATG
phpBB 1.4.2
Сообщения: 68
Стаж: 17 лет 11 месяцев

Сообщение UA6ATG »

Давно пользуюсь этим модом, честно говоря я бы его переделал бы.

К примеру написание [geo]60:28.309;30:00.275[/geo] не слишком "дружелюбно"
Гораздо удобней взять из навигатора координаты в таком виде:
[geo]60.74738;30.34565[/geo]

Уж незнаю, вероятно Вам в Вашем случаи было проще решать проблему с регулярными выражениями и записью точки WPT.

Я тут кстати сейчас для своего сайта ищу какой либо забугорный (вероятно)или наш (менее вероятно) сервис который бы обрабатывал запросы GET с координатами и на их основе лепил был WPT точки с возможностью конвертации.

Вернуться в «Бета-версии модов для phpBB 2.0.x»