Адресная книга из Active Directory через PHP
Хочу поделиться небольшим скриптом на PHP для доступа к контактной информации учётных записей пользователей (и контактов) из Active Directory через простой WEB-интерфейс. В простонародье — «ATS» или «АТС» ?
Скрипт писался эволюционно разными людьми на протяжении долгого периода времени, изначально об AD и речи не было, просто отдельная БД с номерами телефонов, поэтому он довольно кривоват и местами убог, но быстро и просто выполняет свою функцию.
У меня работало как на платформе Windows, так и Linux — где сейчас и обитает для экономии ресурсов фермы виртуализации.
взято с http://www.tangarus.ru/274/adresnaya-kniga-iz-active-directory-cherez-php/
Спасибо. Только в архиве нет файлов search.gif и pixel.gif
Добавил файлы.
Fatal error: Call to undefined function mb_detect_encoding () in C:\Inetpub\wwwroot\ATS\header.inc on line 92
Отвечу сам себе: после установки PHP, необходимо раскомментировать строку extension=ext/php_mbstring.dll в PHP.ini, указав правильный путь до библиотеки!
Спасибо большое, очень
Ещё добавочка:
Если у Вас в конфиге $base_dn содержит русские буквы, например в названии OU, необходимо использовать фукнцию iconv, следующего типа:
$base_dn = iconv («CP1251»,»utf-8″,»OU=Организация,DC=subdomain,DC=superdomain»);
Кроме этого, у меня не стреляло без $ldap_port =»389″; в конфиге!
Notice: Undefined index: params in /var/www/snmpoid.loc/input.php on line 10 Notice: Undefined index: sort_by in /var/www/snmpoid.loc/input.php on line 11 Notice: Undefined index: filter in /var/www/snmpoid.loc/input.php on line 12 Notice: Undefined variable: criteria in /var/www/snmpoid.loc/input.php on line 14
При пустых значениях так выдает
Сам себе отвечу.
Убрал показ ошибок в PHP. А причина ошибок интересна. От PHP далек
Привет, а как сделать чтобы выводило поле с почтой ?
В «детальной информации» оно выводится. Надо добавить по аналогии в таблицу (если я правильно понял, что требуется сделать).
Ага все правильно Андрей , тупанул =)
надо в таблицу
добавить строку Почта
и добавить вывод запроса нужный порядок
echo » «.$info[$a][«mail»][0].» «;
ПРивет!
Отличный скрипт! Подскажите пож, как в результате поиска выводить пользователей у который в поле номер телефона не заполнено (по-умолчанияю пользователей без номера телефона на отображает)
Заранее спасибо.
Фильтры LDAP надо править.
$filter = «(&(objectCategory=person)(|(objectClass=User)(objectClass=Contact))(|(telephonenumber=*)(mobile=*))(!(msExchHideFromAddressLists=TRUE))(|(displayname=*$criteria*)(department=*$criteria*)(title=*$criteria*)(|(telephonenumber=*$criteria*)(mobile=*$criteria*))))»;
Попробуй выкинуть «(|(telephonenumber=*)(mobile=*))» из этой строчки.
Помогло. Спасибо!!
в архиве не хватает файла detailed_by_dn.php