Skip to content

PHP phonebook (Active Directory, LDAP -> MySQL, PHP)

License

Notifications You must be signed in to change notification settings

olegww/ldap-phonebook

 
 

Repository files navigation

LDAP phonebook

🇷🇺 🇺🇸
Development ветка
Вопросы предпочтительнее задавать в Issues, а не по почте

Контакты делятся на два типа:

  • Импортированные из AD
  • Локальные

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

Функциональные возможности:

  • Импорт контактов и фото из AD
  • Показать/скрыть любой контакт
  • Добавлять, редактировать и удалять локальные контакты
  • Указать расположение контакта на плане офиса. Удобно для ориентирования в большой компании
  • Экспорт в .xml файл для использования в приложении PhoneBook для Windows
  • Бекап всех контактов с координатами в XML
  • Восстановление контактов из XML бекапа
  • Скрытие всех контактов, которые были отключены в AD

Карты хранятся в файлах templ/map[1-5].png

Системные требования

  • Apache
  • MariaDB (MySQL)
  • PHP
  • Active Directory (опционально)

Подключить модули расширения в php.ini или скомпилировать PHP с поддержкой LDAP

  • extension=php_ldap.dll
  • extension=php_fileinfo.dll

Установка

  • Открыть в браузере install.php и заполнить предлагаемые параметры
  • Заменить изображения карт templ/map[1-5].png своими схемами

Дополнительные настройки в inc.config.php (опционально)

Для включения LDAP аутентификации в LDAP_ADMIN_GROUP_DN нужно указать группу AD через которую предоставляется доступ:

// Группа в AD с пользователями имеющими доступ на редактирование справочника
define('LDAP_ADMIN_GROUP_DN', 'CN=Phonebook admin,OU=Admin Roles,OU=Groups,OU=Company,DC=domain,DC=local');

Изменить количество и названия карт:

define('PB_MAPS_COUNT', 5);
$map_names = array('Floor 1', 'Floor 3', 'Floor 6', 'Floor 14', 'Floor 25');

Изменить язык (cпасибо @Impuls2003):

define('APP_LANGUAGE', 'ru');

Изменения в новых версиях

10.10.2020

  • Параметры LDAP_HOST и LDAP_PORT заменены на LDAP_URI. Пример: ldaps://dc-01 ldap://dc-02:389
  • При обнолении пароли у учётных записей будут заменены на 'admin', т.к. функция PASSWORD больше не поддерживается MySQL. Их требуется сменить.
  • Теперь аутентифакация LDAP и локальная работают параллельно. Для активации LDAP аутентификации в LDAP_ADMIN_GROUP_DN нужно указать группу доступа AD.

This service import users info from LDAP/AD to MySQL DB

screenshot

Show all contacts on map

screenshot

Show selected contact on map

screenshot

Installation

screenshot

screenshot

screenshot

screenshot

screenshot


Corporate phone directory with contacts displayed on the office map

Contacts are divided into two types:

  • Imported from AD
  • Local

Imported contacts can not be edited, you can only hide them from the list and specify the location on the map. All that needs to be done in AD, then re-synchronize, which will be added new and updated.

Functionality:

  • Import contacts and photos from AD
  • Show / hide any contact
  • Add, edit and delete local contacts
  • Indicate the location of the contact on the office plan. Convenient for orientation in a large company
  • Export to an .xml file for use in the Phonebook application for Windows
  • Backup all contacts with coordinates to XML file
  • Restore all contacts from XML file
  • Hide all contacts that was disabled in AD

Maps are stored in the files templ / map [1-5] .png

System requirements

  • Apache
  • MariaDB (MySQL)
  • PHP
  • Active Directory (optional)

Plug-ins in php.ini or compile PHP with LDAP support

  • extension = php_ldap.dll
  • extension = php_fileinfo.dll

Installation

  • Open in the browser install.php and fill in the proposed parameters
  • Replace the images of the maps templ / map [1-5] .png with their schemes

Dmitry V. Zimin [email protected]

About

PHP phonebook (Active Directory, LDAP -> MySQL, PHP)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 87.9%
  • JavaScript 8.0%
  • CSS 3.9%
  • PowerShell 0.2%