Планы на Храмы Украины (hram-ua.com)

Имеем

Главную http://hram-ua.com/

Страницу области http://hram-ua.com/odesskaya-oblast/

Страницу района http://hram-ua.com/odesskaya-oblast/

Страницу села http://hram-ua.com/odesskaya-oblast/velikomikhajlovskij-rajon/29230-preo...

Страницу объекта http://hram-ua.com/places/1018671-vladimirovka-cerkov-mixaila-arxangela/

Необходимо:

  1. Добавить текст на главную - есть
  2. Добавить тексты на страницы областей - есть
  3. Доделать скрипт, который будет заливать все объекты, которых еще нет в БД в нее.

расстояние до храма

  1. Вывести церкви на странице района и названия населенных пунктов. Так же вывести все населенные пункты для которых церкви уже есть в БД и ниже те, для которых церквей нет.
  2. Добавить обложку на странице села с церковью села, если она добавлена.
  3. Добавить список храмов села, которые в нем расположены.
  4. Добавить все ближайшие села, в которых есть церкви либо нет.
  5. Добавить возможность редактировать объект.
  6. Добавить возможность добавить объект.
  7. Добавить предложение установить на свой сайт блок с фото.

28/07/2015

Дорабатываем импорт появившихся церквей.

Файл

/var/www/gallery/data/www/hram-ua.com/Panoramio/assets/jquery.panoramio.js

В строке 156 формируется подпись под. найденным на panoramio объектом:

var p = $('<p class="photo" align="center">' + options.title  + ', '/* + options.e + ', ' + options.n + '; ' + options.latitude + ', ' + options.longitude + ' - ' */ + '<font color="green"><b>'+ calculateDistance(options.e, options.n, options.latitude, options.longitude) +  'km</b></font> (' + options.latitude +  ', ' + options.longitude + ')' + '<div id="new-info' +  options.entry.photo_id + '"></div><script>$("#new-info' +  options.entry.photo_id + '").load("/api-item-bligayshiy.php?radius=100&E=' + options.latitude +'&N=' + options.longitude + '");</script>' + '<div id="new-gorod-info' +  options.entry.photo_id + '"></div><script>$("#new-gorod-info' +  options.entry.photo_id + '").load("/api-item-bligayshiy-gorod.php?radius=100&E=' + options.latitude +'&N=' + options.longitude + '");</script>'+ '</p>');// + ' (автор: <a href="' + options.entry.owner_url + '">' + options.entry.owner_name + '</a>)</p>');

Вот как это выглядит, на примере 4 фото:

форматирование подписи под фото

Нас интересует код, помеченный красным, в частности файл bligayshiy.php

Возьмем, к примеру, http://hram-ua.com/api-item-bligayshiy.php?radius=100&E=46.680286&N=32.6...

Логика файла очень простая:

Если мы уже нашли объект в БД находящийся близко от местоположения фотографии на panoramio с изображением церкви, то вычисляем расстояние:

if($value[d] < 1000)
echo "<font color='red'><b>".round($value[d]/1000,1)."km"."</b></font>, ";
 else  echo round($value[d]/1000,1)."km".", ";
echo "<a target='new_item' href='/".$value[url]."'>".$value[itemID]." - ".$value[title]."</a>";

Если это дальше километра, то добавляем в БД новый объект.

Нам нужно еще заголовок и описание нашего объекта.

В общем добавляем такой код:

if($value[d] < 1000)
echo "<font color='red'><b>".round($value[d]/1000,1)."km"."</b></font>, ";
 else { echo round($value[d]/1000,1)."km".", "; 
          //Добавляем новый объект в БД.		  file_put_contents('new_object_hram.txt',$_GET['E'].";".$_GET['N'].";".str_replace(";",",",$_GET['title']).";".$_GET['photo'].";".(round($value[d]/100)/10)."\r\n" , FILE_APPEND);
      }

Теперь при запуске скрипта с обновленным апи http://hram-ua.com/sela/index-withaut-jquery.php?E=47.197522&N=32.223040...

Получаем список всех объектов, которые есть на панорамио, но их нет в БД http://hram-ua.com/new_object_hram.txt . Скорее всего нет, поскольку в радиусе 1км ничего не найдено.

Этот список будет накапливаться, данные в нем будут повторяться, но позже получится неплохая база таких объектов.

Мы их отсортируем по имени почистим от «плохих» объектов с некрасивыми заголовками и добавим в БД.

Print Friendly Version of this pagePrint Get a PDF version of this webpagePDF