Мысли о программировании, жизни и христианстве.

Позднее Ctrl + ↑

Подборка софта для Mac OS 2015

Впечатлили подборки использованного софта от Александра Глущенко и macosworld и решил сделать свою. Это приложения, которые не являются предустановленными с системой или активно используются.

Работа (код)

Coda Трудно назвать этот продукт простым редактором кода. Он достоин отдельной публикации. Обзор от Лайфхакера
Tower Git-клиент для Mac. Обзор от macosworld
Ampps Виртуальный сервер с встроенным SOFTACULOUS. Редко использую, но иногда нужен.
CodeKit Grunt/Gulp аналог в красивой оболочке с разными плюшками. Удобно. Что нового в CodeKit 2.3
DeltaWalker Использую для сравнения, редактирования, объединения файлов и синхронизации папок.
Poedit Довольно много приходится переводить плагины и темы Wordpress. Без него никак.
Dash Сборник документации и сниппетов. Для сниппетов не использую (они у меня в Coda), но доки все в ней.
Sequel Pro Клиент для работы с базами данных MySQL, но, скорее всего, кандидат на удаление. Coda поддерживает работу с MySQL.
Brackets Редактор кода с открытым кодом, но практически его не использую. Установлен как альтернатива и для экспериментов.

Работа (графика и дизайн)

Sketch Долго страдал от отсутствия CorelDraw пока не появился он. То, что мне нужно! В довесок к нему стоит Sketch Toolbox. Множество уроков по Sketch, а также лайфхаки, исходники и плагины Switch to Sketch. Часть 1, Switch to Sketch. Часть 2, Switch to Sketch. Часть 3, Switch to Sketch. Часть 4
Affinity Designer Смесь Photoshop и Illustrator. Использую для работы со старыми проектами и исходными материалами в PSD. У них есть ещё программа Affinity Photo, но пока не покупал и не смотрел. С фото редко работаю. Подробный обзор Affinity Designer (Mac OS). Часть 1. Инструменты
ImageOptim Очень удобная программа для оптимизации изображений. Что-то делается сразу в CodeKit, но для всех остальных изображений использую его.

Работа (офис)

Заметки Использую стандартное приложение для набросков идей, текстов и хранения информации.
Typed Иногда нужно погрузиться в текст, чтобы ничего не мешало. Просмотреть Markdown документы. Обзор от Лайфхакера
Keynote Все презентации на нем.
Excel Все вокруг на нём, поэтому и я с ними. Но, скорее всего, мне достаточно будет Numbers. Кандидат на удаление.
Word Опять из-за окружающих. Вот бы от него отказаться!

Продуктивность и финансы

Календарь Стандартный календарь системы. Не нуждается в пояснениях.
MindNode Рисовалка карт памяти. Не такое навороченное решение, как некоторые другие, но мне хватает.
Things Любимый менеджер задач. Пробовал разные и постоянно что-то мешало, не хватало или не нравилось, но после прочтения «Тайм-менеджмент (самоменеджмент) на MAC OS» все встало на место. Использую предлагаемую систему и некоторые свои наработки.
DeskTime Использую для оценки своей продуктивности. Отрезвляет!
Money Pro Отслеживаю свои финансы. Напишу как-нибудь про свои изыскания в этой области.
WebMoney Keeper Электронные кошельки WebMoney. Кандидат на удаление. Чаще пользуюсь или веб-версией или на телефоне.

Хранение информации

Dropbox не прижился. Почему? Сам не пойму.
Яндекс.Диск Все удобно и устраивает. По разным акциям получил 42,5 ГБ и пока все помещается.
Облако Mail.ru Здесь у меня терабайт. Делюсь иногда чем-то громоздким или храню.

Чтение

В основном я читаю или смотрю все на iPad mini, но и на ноутбуке есть пару программ.
Reeder 3 Использую эту читалку RSS. Пока все устраивает.
Pocket Храню и перечитываю интересные публикации.
Tublme for Tumblr Использовал для просмотра подписок на Tumblr, но сейчас на Капитане нестабильно работает и вылетает. Печалька. Кандидат на удаление.

Интернет

Почта Использую стандартное приложение. Все устраивает.
Transmission Ну... Это торрент клиент. Я за лицензионный софт, но до покупки фильмов и сериалов пока не созрел.
Chrome Несколько раз пытался перейти на Safari. Не получилось. То плагина нет нужного, то в разработке не так удобно. Нужно попробовать теперь в Капитане. Кто-нибудь уже пробовал?
Viber, Skype и Telegram Разные мессенджеры для общения с разными категориями людей. От некоторых готов отказаться, но не получается. Остальные на телефоне.
Messenger for VK Действительно удобный и функциональный клиент-мессенджер ВКонтакте. Плюс проигрыватель музыки, но слушаю в другом приложении о котором чуть ниже.

Аудио и видео

iTunes Использую с Apple Music. Вот бы еще этот сервис работал стабильно!
Shazam Без него никуда. Узнаю музыку из фильмов и от соседей.
Movist Основной плейер, но, в последнее время, из-за более частого просмотра видео через DLNA (сетевой диск) чаще всего смотрю через VLS. Кандидат на удаление.
Музыкальные плейер Использую, когда хочу послушать собранную музыку в ВКонтакте.
Adapter Иногда нужно массово конвертировать видео, аудио или картинки. Хотя, для картинок у меня несколько настроек в Automator.

Утилиты

В этой категории собрал приложения, которые облегчают мне жизнь.
ForkLift Использую иногда вместо Finder. Как FTP-клиент практически не использую, хватает встроенного в Coda.
f.lux Берегу свои глазки. Главное, не забыть настроить исключения для работы с графикой и фото в вечернее время.
Moom Управляю окнами. Очень удобно. Обзор на macosworld
Bartender Не люблю лишнюю информацию. Это приложение для организации иконок в менюбаре. Обзор на AppStudio
CleanMyMac 3 Чищу и оптимизирую систему, удаляю программы и мониторю ресурсы. Обзор на Лайфхакере
1Password В ней у меня защищенные заметки, ключи от софта выше и, конечно, пароли.
The Unarchiver Архиватор для всех форматов. Бесплатно и удобно.
Punto Switcher Автоматическая переключалка клавиатуры. Иногда приходится отключать из-за её рьяной помощи, но удобно.
ОРФО Проверка правописания. Пользуюсь с версии ОРФО 2013, поэтому уже не помню как выглядит родная проверка системы. Вроде плохо справлялась.

Разные полезные программы

Подскажите, что еще есть интересного и полезного.
KeyKey Клавиатурный тренажер. Помогает иногда отвлечься от работы. Полезно.

Покинули меня в этом году

После перестановки системы с нуля меня «покинуло» много приложений, но помню о...
Xmarks Синхронизация закладок во всех браузерах. До недавнего времени пользовался, но после нескольких сбоев перестал. Понимаете почему я помню? Не прочь найти работающий вариант. Кто чем пользуется?

P.S. А ещё, я теперь публикую онлайн-ресурсы и инструменты, которыми пользуюсь в разделе «Полезности».

P.S.S. Со мной связались из компании «Eltima Software» и предложили протестировать их продукцию. Я уже сменил ForkLift на их Commander One PRO как только он вышел. Применяю иногда их Folx для скачки файлов, которые плохо скачиваются браузером. Осталось до конца года потестировать Elmedia Player, PhotoBulk, SyncMate и вынести вердикт их полезности.

Яндекс.XML или паранойя по-русски

Добавляю новый функционал к плагину Аддурилка и столкнулся какой-то паранойей Яндекса.

Кодеры, парсить наши странички нехорошо, поэтому мы представляем вам наш сервис Яндекс.XML.

Сервис для получения ответов поисковой базы Яндекса в формате XML. Может использоваться для разработки поиска по сайту, группе сайтов или всей сети.

Ок. Начинаю вкручивать и... У меня появляется желание «побить» кого-нибудь из разработчиков Яндекс.XML. А мне нельзя бить и желать. Я христианин. Почему такое желание?

Во-первых, ограничение по количеству обращений. Вы поисковик же, ну какие лимиты?
Во-вторых, два уникальных идентификатора. Я должен указать user и key. Одного недостаточно?
В-третьих, привязка к IP. Это меня добило! Пишут.

IP-адрес в совокупности с учетной записью в Яндекс.Паспорт используются для однозначной идентификации пользователя сервиса Яндекс.XML. По итогам идентификации пользователя определяются ограничения, накладываемые на использование сервиса.

Вы где и в каком веке живете? Многие провайдеры выделяют только динамические IP и на одном IP хостинга находится куча сайтов. А знаете какой выход они предлагают?

Причина Возможный метод устранения
Для обращений к Яндекс.XML используется открытый прокси-сервер. Используйте прокси-сервер интернет-провайдера.
Для доступа к интернету используется модем. Провайдер выделяет динамический IP-адрес, который может различаться при каждом подключении. Попробуйте отключиться и заново подключиться к интернету.
Обращение к сервису выполняется с сервера. Приобретите выделенный IP-адрес.

Спрашивается, вы для кого сервис сделали?

Попробуйте отключиться и заново подключиться к интернету через мозги.

А Гугл? А Гугл просто http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=ЯНДЕКС.XML&start=1&rsz=8

P.S. Все цитаты взяты из документации Яндекса.

Что изменить в логотипе?

Достался по наследству на работе (христианское учебное заведение) следующий логотип. Интересно стало мнение дизайнеров. Что вы бы изменили и почему? Основные проблемы, на данный момент, возникают при работе с надписью (не читается) и кругом (шумит).

Описание и символика эмблемы для юстиции

Описание эмблемы

Эмблема состоит из темных контуров двух стилизованных изображений: 1) лампады (античного светильника) и 2) пламени, которое, вместе с тем, выглядит как раскрытая книга и голубь. Изображения помещены на фоне светлого круга, образованного мелкими горизонтальными полосками, среди которых просматривается четырехугольный вертикальный крест. С внешней стороны круга помещен девиз учебного заведения — «Освящая путь истиной в новом тысячелетии».

Символика изображений

  1. Светильник в виде древней лампады — символизирует как отдельного человека, так и организацию в целом, несущую свет просвещения, истину Евангелия, тепло, добро и служение окружающему миру. Архаичный вид светильника указывает на древность корней Церкви, иллюстрирует культурный быт времен Нового Завета и напоминает образные слова Иисуса Христа о том, что задача светильника (т. е. христиан) светить всем людям (Мф. 5:14,16).
  2. Огонь или пламя — это а) Свет истины Евангелия, б) символ нашего духа, горящего любовью к Богу и светящего окружающим людям, в) символ искренней молитвы. Оно также напоминает нам об огне Святого Духа, который сошел на Апостолов в виде языков пламени, сделав их способными нести свет Евангелия народам земли (Деян. 1:8; 2). И мы как духовное учебное заведение ожидаем постоянного присутствия Духа Божия, без которого не можем делать никакого доброго дела.
  3. Голубь — это не только общепризнанный вестник мира, но и один из символов Духа Святого в Новом Завете. Дух Святой сходит на Иисуса Христа во время крещения в реке Иордан (Лук. 3:21-22) для видимого свидетельства о том, что он является Сыном Божиим, Мессией, Спасителем о котором писали пророки.
  4. Книга — символ Библии — Слова Божия, источника духовного просвещения, несущей весть о спасении. Эта книга изображена открытой, т. к. богословское образование делает Священное Писание более понятным студентам, буквально говоря, открывает его. Это также символ книжного знания, обучения, что является неотъемлемой частью любого образовательного процесса.
  5. Круг — символ вечности, гармонии и общности в тесном общении.
  6. Крест — известный всем символ христианства и иллюстрация постоянной борьбы земного (горизонталь) и небесного (вертикаль).
  7. Надпись — девиз «Освящая путь истиной в новом тысячелетии» конкретизирует идеи, заложенные в эмблему.

Аддурилка или мой первый плагин для Wordpress

Вот так выглядит «Аддурилка» для CMS Wordpress

Написал свой первый плагин для Wordpress. Даже отправил его на WordPress.org. Называется «Addulika». Из названия понятно, что он служит для добавления ссылок публикаций в Яндекс.Вебмастер. Также он может проверить находится ли ссылка (проиндексирована ли) уже в поисковике.

Из планов на будущее:

  • Прикрутить возможность отправлять ссылки в другие поисковики.
  • Автоматизировать процесс проверки ссылки. Сразу проверялась и отображался результат.

Два совета для разработчиков:

  • Обдуманно упоминать в названии плагина наименования известных брендов.
  • Наименования функций в плагине нужно придумывать исходя из его уникального названия.

P.S. Вопрос знатокам русского языка. Кавычки в наименовании. Когда ставятся, а когда ими можно пренебречь?

Настройки MAMP Pro для слабого интернета.

Слабый интернет, поэтому я стряхнул пыль с MAMP Pro и начал работать в нем. Возникла необходимость обновить ядро проекта с интернета и я получаю ошибку 500, а в логах следующее:

FastCGI: comm with server "/Applications/MAMP/fcgi-bin/php5.6.10.fcgi" aborted: idle timeout (30 sec)

Выход был найден при прочтении «FastCGI error when accessing a local development site using MAMP Pro».
Последовательность действий:

1. Перейти в MAMP Pro File → Edit Template → Apache → httpd.conf

  1. Выполнить Find & Replace для MAMP_FastCgiServer_MAMP
  2. Закомментировать MAMP_FastCgiServer_MAMP
  3. Добавить линию конфигурации для вашей версии PHP с временным периодом, который вас устраивает:
FastCgiServer /Applications/MAMP/fcgi-bin/php5.6.10.fcgi -idle-timeout 3600

В результате в вас получится в httpd.conf следующее:

#MAMP_FastCgiServer_MAMP
FastCgiServer /Applications/MAMP/fcgi-bin/php5.6.10.fcgi -idle-timeout 3600

P.S. Важно не забыть вернуть все назад, когда появится нормальный интернет.

Time Machine на Tomato by Shibby для Asus RT-AC68U

Озадачился вот своим роутером. Надоела нестабильность стоковой прошивки и решил попробовать что-то новое. Решил поставить Tomato by Shibby. Про установку из под Windows достаточно подробно написано в публикации «ASUS RT-AC68U — How to flash TomatoUSB for RT-AC68U». Но у меня уже стояла прошивка от Merlin с открытым Telnet, поэтому все ограничилось подключением к роутеру и командами nvram erase, затем nvram commit, выбором файла с последней (131) прошивкой на её сайте и установкой.
В отличии от стоковой, у этой прошивки нет встроенной поддержки Time Machine, поэтому её пришлось добавить. Операция проходила в два этапа.

Этап первый: Установка репозитория Entware

Раньше нужно было сделать много манипуляций, но сейчас репозитории для моего роутера устанавливается достаточно просто. Проверьте доступ по SSH в роутере Administration → Admin Access и в путь.
Для флешки отформатированной в ext2/ext3 с меткой ENTWARE делаем следующие настройки роутера в USB and NAS → USB Support:
В поле Run after mounting вносим:

#!/bin/sh
/opt/etc/init.d/rc.unslung start

и в поле Run before unmounting следующее:

#!/bin/sh
/opt/etc/init.d/rc.unslung stop
sleep 15
for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
  mount -o remount,ro $i
done

Не забываем сохранить изменения. Переходим в Administration → Scripts → Init page, вводим

echo "LABEL=ENTWARE /opt ext3 defaults 1 1" >> /etc/fstab

и вновь сохраняем. Перегружаем роутер и устанавливаем Entware. В текущей прошивке он устанавливается простой командой через Telnet.

entware-install.sh

Дополнительно об установке можно почитать в статье «Устанавливаем Entware.arm на маршрутизатор с прошивкой tomato от Shibby»

Этап второй: Настройка Time Machine

Приступим к настройке Time Machine и начнём с установки нужных пакетов. Может они не все нужны, поэтому комментарии экспертов приветствуются!

Устанавливаем netatalk для реализации протокола AppleTalk нужного для Time Machine и  avahi-daemon с утилитами, для имитации сервиса Bonjour. Bonjour нужен для наглядного представления Time Machine в Mac OS. Слухи ходят, что netatalk сам это умеет и он не нужен

Пакет busybox даст нам возможность использовать некоторые недоступные Unix команды. Например, добавлять пользователей.

opkg install netatalk avahi-daemon avahi-utils busybox

Создаём файл S00setup с первой строкой #!/bin/sh для загрузки настроек нужных для Time Machine при перезагрузке роутера и кладём его в /opt/etc/init.d/S00setup
Теперь сделайте его исполняемым

chmod +x /opt/etc/init.d/S00setup

Настраиваем avahi

Настройку avahi начинаем с создания файла afpd.service со следующем содержанием

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
    <service>
    <type>_afpovertcp._tcp</type>
    <port>548</port>
  </service>
  <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=TimeCapsule6</txt-record>
  </service>
</service-group>

который кладём по следующему пути /opt/etc/avahi/services/afpd.service
Редактируем /opt/etc/avahi/avahi-daemon.conf, раскомментировав линию host-name и дав имя:

host-name=TimeCapsule

Чтобы TimeCapsule показывалась в Finder всем, нужно добавить группу nogroup для всех пользователей.

addgroup nogroup

Делаем автосоздание группы при перезапуске пользователя.

echo "addgroup nogroup" >> /opt/etc/init.d/S00setup

Запускаем avahi

/opt/etc/init.d/S42avahi-daemon start

и в боковой панели Finder должена появиться TimeCapsule.

Настраиваем netatalk

Приступаем к самому важному. Настраиваем netatalk начиная с редактирования файла /opt/etc/netatalk/AppleVolumes.default. Добавляем в конце следующую строку:

/mnt/LABELDISK/TimeMachine "TimeMachine" volsizelimit:300000 
veto:"/lost+found/Network Trash Folder/Temporary Items/" cnidscheme:dbd options:usedots,upriv,tm allow:USER

, где /mnt/LABELDISK/TimeMachine — путь к папке, где будут хранится бекапы;
«TimeMachine» — имя расшаренного ресурса, которое появится в настройках Time Machine в Mac OS;
volsizelimit:300000 — максимальный размер бекапов (~314GB);
veto:«/lost+found/Network Trash Folder/Temporary Items/» — прячем не нужные папки;
cnidscheme:dbd — уменьшаем количество ошибок (может влиять на скорость создания бекапа);
options:usedots,upriv,tm — показываем что можно использовать для создания Time Machine и кто может это делать;
allow:USER — пользователь имеющий доступ к папке для бекапов, которого мы сейчас создадим.

Поменяем конфигурацию netatalk по следующему пути /opt/etc/netatalk/afpd.conf удалив или закомментировав старую и вставив новую

- -tcp -noddp -uamlist -uams_dhx.so,uams_dhx2_passwd.so -nosavepassword

Эта конфигурация отключает гостевой доступ, возможность сохранить пароли локально и настраивает работу с паролями.

Создаём пользователя USER с паролем PASS (это пример, пароль какой вы хотите) и даём ему права на папку для бекапов.

adduser USER
chown -R USER /mnt/LABELDISK/TimeMachine/

Настраиваем автосоздание этого пользователя при перезагрузке роутера.

echo 'adduser USER' >> /opt/etc/init.d/S00setup
echo 'echo -e "PASS\PASS" | passwd USER' >> /opt/etc/init.d/S00setup

Вот тут загвоздка! Пользователь создаётся, но пароль ему не присваивается. Может кто подскажет?

В результате у нас получается следующее содержимое файла /opt/etc/init.d/S00setup

#!/bin/sh
addgroup nogroup
adduser USER
echo -e "PASS\PASS" | passwd USER

Перезапускаем netatalk

/opt/etc/init.d/S27afpd restart

Или просто перезагрузите роутер целиком. Теперь вы должны подключиться к TimeCapsule как созданный выше пользователь и настроить Time Machine на Mac OS.

P.S. Я ещё не достаточно долго тестировал работу Time Machine на Tomato by Shibby и мог что-то забыть, поэтому возможны неточности.
P.S.S. Дополнительно можно почитать «Using an ASUS router as a Time Capsule», «Concisest guide to setting up Time Machine server on Ubuntu Server 12.04, 14.04 & Debian» и «Time Capsule on OpenWRT (Apple File Protocol Server with Time Machine Support)».

Церковный сайт: веб-мастер и команда

За служениями церкви всегда стоят определённые люди. Если вы создаёте для церкви сайт, то должны и позаботится об команде или как минимум человеке для его поддержки. Советы ниже помогут веб-мастеру церковного сайта заложить правильное основание для создания команды и организации совместной работы, а руководству церкви помочь ему в этом.

Люблю советы по существу. Нравится публикация «70+ tips for effective church sites». Привожу часть советов в вольном переводе. К ним буду добавлять другие советы и комментарии. Чтобы не громоздить в одну публикацию, разобью советы по темам. Потом соберу эти публикации в отдельный проект.

  1. Церковный веб-мастер или команда нуждается в чёткой должностной инструкции.
    Руководство церковью должно чётко обозначать обязанности людей участвующих в работе сайта. Если руководитель команды или веб-мастер не входит в руководство церкви, то он помещается в зону прямой ответственности перед церковными лидерами. Тем не менее те, кто не разбирается в вопросах связанных с сайтом, не навязывают веб-мастеру собственными представлениями о веб-дизайне! Церковь поощряет веб-мастера или команду сайта стоя за кулисами.
  2. Церковному веб-мастеру (или команде) необходимо составить план предстоящей работы.
    Церковь обозначает какого вида труд ожидается от тех, кто участвует в проекте. Это выражается в тех задачах, которые решает сайт в контексте видения церкви. Для команды, полезные инструменты — это системы совместной работы над проектами типа Битрикс24, Мегаплан, Asana, Basecamp или любые другие.
  3. Крупный церковный сайт желательно создать на системе управления контентом (CMS). В CMS удобно структурировать и управлять содержимым сайта и предоставлять разным людям доступ к его редактированию без участия веб-мастера. В многочисленной церкви она позволит служениям оперативно размещать последние новости и править информацию, используя только интерфейс браузера и доступ по паролю. Это удобное решение для командной работы и для поддержания сайта в актуальном состоянии.
    Существует много CMS. Поищите подходящую вам на CMSmatrix или OpenSourceCMS. Потратьте время, чтобы найти CMS подходящую вам лучше других. Рекомендую воспользоваться рейтингами Ruward или CMSmagazine.
  4. Что делать, если в вашей церкви нет никого технически подготовленных на роль веб-мастера? Используйте готовые шаблоны сайтов церкви. Это также ответ к вопросам возникающим если создатель сайта покидает церковь не подготовив себе замену. При этом никто не представляет, как обновить или изменить на сайте информацию.
    Существуют конструкторы сайтов (даже христианские) предлагающие готовые шаблоны церковных сайтов на платной или бесплатной основе. Об них в этой статье «Церковный сайт: Конструкторы сайтов». Содержимое добавляется и меняется с помощью визуальных редакторов в браузере. Перед выбором потратьте некоторое времени, чтобы сравнить предложения.
    Другой вариант это шаблон для CMS или HTML. Поискать можно здесь или в Яндексе или Google по запросу «church themes».
  5. Команда — это не всегда люди рядом. Учитесь у других. Общайтесь с другими христианскими веб-мастерами. Сделайте ряд манипуляций мышкой для поиска помощи.
    Существуют форумы и другие ресурсы, где церковные веб-мастера общаются на интересующие их вопросы. Используйте Google или Яндекс для поиска решения технических проблем. Вдохновитесь на обновления дизайна сайта просматривая и изучая другие церковные сайты. Даже один верный в малом человек, достигнет многого.
  6. Привлекайте членов церкви к молитве и поддержке администраторов сайта, модераторов и новых церковных веб-проектов. Это и их сайт!
    Ваша церковь — это уже команда! Проясняйте для них цели сайта и нужды, просите молиться за эффективность охвата аудитории и о том, чтобы он стал известен новым людям. Члены церкви, у которых есть блоги или другие типы сайтов, могут использовать их, чтобы придать сайту церкви более высокий рейтинг в сети.

Команда начинается с одного человека. Чаще всего это создатель церковного сайта, который уже не может решить возникающие вопросы в одиночку и привлекает других людей. Предлагаю список возможных позиций в команде церковного сайта на основании нужных навыков и умений. Некоторые из них может совмещать один человек.

Администратор — человек любящий сроки и способный объединить разных людей над одной задачей.
Иллюстратор — человек умеющий рисовать и знающий слова Photoshop, Corel, Illustrator.
Фотограф — тот, кто не мыслит себя без камеры, Instragram и интересных ракурсов.
Корректор — виртуоз, владеющий знаками орфографии и чувствующий великий и могучий русский язык.
Интервьюер — тот, кто может задавать правильные вопросы и затем перенести ответы в прозу.
Корреспондент — тот, кто появляется в нужном месте и в нужное время и способен описать происходящее.
Редактор — человек способный мыслить глобально и понимать, что люди ищут на сайте о вашей церкви.
Разнорабочий — верный человек не боящийся повторяющихся действий и нужной, но простой работы.
Кодер — человек которого не пугают непонятные символы и знающий тайны php, html, css и js.

Битрикс: Выводим адреса элементов инфоблока на одной Яндекс карте

Столкнулся в Битрикс с задачей вывода на одной карте расположения всех офисов компаний. Данные о расположении офиса хранились в переменной «MAP» типа «Привязка к Яндекс. Карте» свойств элемента инфоблока «Офисы». В процессе решения родился следующий код:

// Берём все значения инфоблока с ID равным 10. Вам нужно подставить свой ID.
$mas = CIBlockElement::GetList(array(), array( "IBLOCK_ID" => 10 )); 

while ( $oElement = $mas->GetNextElement() ) {
  $aElement['PROPERTIES'] = $oElement->GetProperties(); // Берём значения элемента инфоблока

  // Координаты хранятся в переменной MAP (подставьте вашу переменную) через запятую, разделим их
  $arTmp = explode(',', $aElement['PROPERTIES']['MAP']['VALUE']); 
  //Подготовка карты
  $arResult['POSITION']['yandex_scale'] = "5"; // Подбираем размер карты, чтобы поместились все маркеры
  // В yandex_lat и yandex_lon заносим координаты центральной точки карты
  $arResult['POSITION']['yandex_lat'] = $arTmp[0]; // В нашем случае координаты первого элемента инфоблока
  $arResult['POSITION']['yandex_lon'] = $arTmp[1];
  //Собираем маркеры
  $arResult['POSITION']['PLACEMARKS'][] = array(
    'LON' => $arTmp[1], // LON и LAT - координаты маркера
    'LAT' => $arTmp[0],
  );
}
// Выводим карту с метками через компонент Битрикса для карт Яндекса (Яндекс.Карты: настраиваемая карта)
$APPLICATION->IncludeComponent(
  "bitrix:map.yandex.view",
  "",
  Array(
    "INIT_MAP_TYPE" => "MAP",
    "MAP_DATA" => serialize($arResult['POSITION']),
    "MAP_WIDTH" => "978", // Ширина карты
    "MAP_HEIGHT" => "400", // Высота карты
    "CONTROLS" => array("ZOOM", "TYPECONTROL", "SCALELINE"),
    "OPTIONS" => array("ENABLE_SCROLL_ZOOM", "ENABLE_DBLCLICK_ZOOM", "ENABLE_DRAGGING"),
  )
);

P.S. Настройки компонента карт Яндекса можно посмотреть вот здесь.

Ранее Ctrl + ↓