среда, 28 декабря 2016 г.

5 лет независимости

28 декабря 2016 года стукнуло 5 лет как вышел наш первый релиз CMS Open Real Estate. С тех пор много чего было интересного и не очень. Трудно взбираться в гору, особенно в начале пути. Но мы смогли добиться относительной стабильности. Недавно я поймал себя на мысли, что фраза из сказки про Алису -

Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!

очень точно передает нашу жизнь. И если прекратить бежать, то можно упасть. Поэтому нужно бежать всегда. Что я и делаю ) Но смотря на результаты, хотелось бы бежать быстрее. Все таки я бегу не так быстро.

О становлении нашей компании с картинками можно почитать здесь.

четверг, 25 августа 2016 г.

Получаем координаты районов с помощью API OSM

Итак, всё до безобразия просто, делаем запрос:
http://nominatim.openstreetmap.org/search?format=json&q=%D0%9A%D1%80%D0%BE%D0%BD%D1%88%D1%82%D0%B0%D0%B4%D1%82%D1%81%D0%BA%D0%B8%D0%B9%20%D1%80%D0%B0%D0%B9%D0%BE%D0%BD,%20%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3&polygon_geojson=1
Всё  Получаем в ответ geojson (массив с географическими координатами) и делаем с ним что хотим.
Например, я решил обработать его в несколько ином виде, чтобы скармливать Яндекс.Картам. Для этого я накидал простеньку функцию на PHP:
function areaCoordsParser($search)
{
    $query = http_build_query([
        'format' => 'json',
        'q' => $search,
        'polygon_geojson' => 1,
    ]);
    $url = "http://nominatim.openstreetmap.org/search?$query";
    $response = json_decode(file_get_contents($url), true);
    $result = [];
    if ($response[0]['geojson']['type'] === 'MultiPolygon') {
        $coords = $response[0]['geojson']['coordinates'];
        foreach ($coords as $coord) {
            $temp = [];
            foreach ($coord[0] as $item) {
                $temp[] = array_reverse($item);
            }
            $result[] = $temp;
        }
    } elseif ($response[0]['geojson']['type'] === 'Polygon') {
        $coords = $response[0]['geojson']['coordinates'][0];
        foreach ($coords as $coord) {
            $result[] = array_reverse($coord);
        }
    }
    return $result;
}
echo json_encode(areaCoordsParser('Адмиралтейский район, Санкт-Петербург'));
Источник - http://zabolotskikh.com/tips/kak-poluchit-koordinaty-rayonov/

среда, 20 февраля 2013 г.

Блоги о PHP

Статьи
Alt-F4 | Статьи, истории и блоги web-разработчиков
Oleg Smirnoff - Профиль Google
phpQuery шпоргалка | Блог saintista
Ускоряем JetBrains PhpStorm в “тяжелых” проектах
Jeck labs
Блог Teimos'а
W3 Kirby :)
записки Rulexec: Июль 2010
Блог программиста
Парсинг от А до Я
Gautama It: О стандартизации различных CMS.
Мощь SVG и media queries | Евгений Степанищев | последние 15
Антон Шевчук: блог web-разработчика
Всё о web-разработке и продвижении сайтов
Владимир Осипов
Владимир Осипов - личный блог
Блог.ру - butjok - Бутёк здесь!
Блог о программировании
SimpleTDS 1.3 - JackSoft&Xeonix MOD (MySQL) | JackSoft и SEO
Блог интернет-разработчика
Время выполнения скрипта <> PHP <> Programmerz.Ru
Dumpz.org
Deerua about Coding -> Заметки с тегом «minijQuery» @ deer.org.ua
Блог программиста | Статьи | Другое | Массовый Google Page Rank Checker на PHP
Динамический список dofollow-блогов | Андрюха Воробьев – сила в желании - dofollow блог
33 коровы - RIA разработка, Flex, Action Script, AIR, Eclipse, Monkey script
Home page of Sb0y || Домашняя страничка Sb0я
John Conde .net
Дом Figaroo
От простого к сложному
Веб перцы - сделай свой сайт острее!
Brain.log » php кодинг
Chodex.ru - Linux, Php, Highload, Kohana, Android
CTAPbIu_MABP's BLOG
GTAlex о Заработке в сети интернет - способы, инструменты, SEO, раскрутка и разработка сайтов, поисковая оптимизация, сателлиты, блоги, CMS движки
Блог Герасимова Константина/Просмотр статей/
PHP. Прелестный язык, на котором обычно пишут ногами » Исходники проектов
Блог ГО: PHP, JavaScript, Memcached, Redis, Mercurial
За чистый и ясный код!
Записки профессора » Класс для загрузки файлов на сервер
Записки о web-программировании
Записки Зверобоя
Блог о веб-разработке
О PHP и о жизни…

четверг, 5 июля 2012 г.

Вывод даты словами PHP

Код - пример #1
1
2
3
4
5
6
7
$date = /* timestamp из БД */ ;
$d = time() - $date;
 
if ($d < 60) echo $d . ' сек. назад';
elseif ($d < 3600) echo round($d / 60) . ' мин. назад';
elseif ($d < 86400) echo round($d / 3600) . ' ч. назад';
else echo round($d / 86400) . ' дн. назад';

четверг, 23 февраля 2012 г.

Вешаем Fancybox на кнопку button

С помощью плагина fancybox можно делать замечательные галереи и попапы. В документации есть примеры. Но как повесить его на кнопку? Вот так:
Код - пример #1
1
2
3
4
<form action="/ACTION/FastFindObj" method="post">
  <input name="fastfind" class="fastfind" value="3463" type="text">
  <input name="weiter" type="submit">
</form>

И используем:

Код - пример #1
1
2
3
4
    $("form").fancybox();
    $("input").fancybox();
    $("input[name='weiter']").fancybox();
Больше примеров здесь

пятница, 30 декабря 2011 г.

Бесплатная CMS Open Real Estate на Yii

Недавно, мы выпустили бесплатную CMS Open Real Estate на Yii. Открытый исходный код, open source. Это мой первый опыт, работы над open source проектом такого уровня.

В качестве системы контроля версий использовали Mercurial hg. По моему это самое лучшее решение, до этого пробовал CVS, SVN, GIT.

И самое главное набрался опыта работы с Yii framework и планирую продолжить работу с ним. Постепенно, понимаешь, насколько в нем все грамотно реализовано и сколько много труда в него вложено.