Получение данных из Active Directory посредством PHP

Сам за себя лучше всего расскажет мой кусок кода. Все сдобрено максимально большим количеством комментариев. По формату построения LDAP запросов полезно почитать вот этот мануал. Ничего толковее к сожалению найти не смог.

Вот результат:

Снимок-12Вот код:

zend framework 2, Yii и иже с ними.

Сегодня почти весь день ушел на то чтобы познакомится с этими фреймворками. Изначально хотел 3-ю версию «Учет ТМЦ в организации» попробовать написать с использованием одного из этих средств. Пока негатив. Слишком много телодвижений для получения простейших результатов. Плюс чувствую пришлось бы изобретать такие-же «велосипеды» что  используются сейчас у меня в предыдущей версии. Т.е. код явно бы не упростился, а выгоды от использования данного решения получил бы минимальные. Завтра подумаю над фреймворком ExtJs.

Кроссбраузерное подключение шрифтов в html и css

Пришлось помучатся сегодня с одинаковым отображением текста с подключаемыми шрифтами в IE, FireFox,Chrome. Очень пригодились онлайн конвертеры ttf2svg, ttf2eot и ttf2woff. Ниже приведен пример стиля ccs, который является кроссбраузерным:

Свой WEB сервер для своих сайтов.

Итак, свершилось, поставил для своих WEB сайтов свой сервер. LAMP установлен, сайт выложенный в корень /var/www открывается. Одно но, хочется чтобы сайтов было несколько. Для этого:

Открываем apache2.conf и добавляем «виртуальные хосты», по образу и подобию:

Очень важно, именно *:80 в теге VirtualHost. Не IP адрес, не доменное имя, не просто *. Я например 2 дня размышлял, с перерывами на работу и сон, почему не работало.

Ну и конечно у регистратора домена нужно прописать в настройках DNS что-то вроде:

Снимок-2

Актуально для дистрибутива Ubuntu server 12.04

API yandex карт и капризы с типами переменных JavaScript

При работе с API Yandex карт столкнулся наконец с еще одним недостатком JavaScript, а точнее отсутствие явного задания типа переменной. Например, долго искал ошибки в этом коде:

Метка ставится правильно, а перемещение идет невесть куда. Оказалось, что при разборе JSON, переменные lx и ly почему-то становятся строками, и если функции PlaceMark все равно с чем оперировать, с числом или строкой, то PlanTo непременно работает только с числом.

Решение: в JavaScritpt строка становится числом если участвует в математической операции.

Например:

Итого получаем рабочий код:

1 44 45 46 47 48 54