pfzim / ldap-phonebook Goto Github PK
View Code? Open in Web Editor NEWPhonebook with office map (Active Directory, LDAP -> MySQL, PHP)
License: GNU General Public License v3.0
Phonebook with office map (Active Directory, LDAP -> MySQL, PHP)
License: GNU General Public License v3.0
Добрый день!
Спасибо разработчику, все запустилось.
Импорт пользователей из AD проходит нормально, но мне нужно импортировать еще и контакты.
В LDAP_FILTER выставляю (|(objectClass=contact)(objectClass=person)(objectClass=user)), при формировании файла inc.config.php через браузер показывает, что доступны все мои 53 контакта, но в последствии при синхронизации контакты не импортируются, а импортируются только пользователи.
Скажите, синхронизация с AD проходит только в сторону добавления контактов? Например при увольнении сотрудника мы отключаем уч. запись и перемещаем ее в отдельный OU за пределами компании. После синхронизации контакт остается в списке, хотя его даже нет в OU, на который нацелена книга.
Если так, то как проще всего очистить мусорные контакты? Очистить всю БД (контакты используем только из AD) и синхронизировать?
Спасибо.
Добрый день. Как добавить вывод номера комнаты?
Я пробовал использовать параметр physicalDeliveryOfficeName чтобы показывать данные из строки Office во вкладке General, но никаких данных он не выдает(
У меня не используется строка Company, поэтому я поменял в файле pb.php $s_organization = @$account['physicalDeliveryOfficeName'][0];
, но в таблице в столбце org ничего не появляется. Я пробовал менять на initials и инициалы появлялись.
В файле inc.config я добавлял в "LDAP_ATTRS" значение physicalDeliveryOfficeName
Добрый день!
В рекомендуемых требованиях у вас написано что Active Directory (optional), т.е. наличие AD опционально и не обязательно.
Однако без AD я не могу установить ваш телефонный справочник через мастер установки, подскажите пожалуйста, как быть в данном случае?
Приветствую.
Прошу подсказать как реализовать отображение фотографий пользователей, выгруженных не из AD, а, например, из сетевой папки? Уж очень маленькие размеры фотографий в AD. Для страницы "Map" идеальные, но для станицы "Contacts" маленькие.
Так же это усложняет поддержку фото пользователей, т.к. им нужно загружать фото самостоятельно (по крайней мере я знаю только такой способ - через owa).
Может есть ещё какой альтернативный метод..?
Как можно отключить обновление, при запуске пытается обновить.
А при нажатии upgrade ошибки:
`Upgrading...
Create 'config' table...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Add column 'ldap' to 'users' table...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Set db_version = '1'...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Upgrade to version 1 complete!
Add column 'type' to 'contacts' table...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Set db_version = '2'...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Now you must add to inc.config.php something like
$g_icons = array("Human", "Printer", "Fax");
And replace files templ/marker-static-[0-nn].png with you icons
Upgrade to version 2 complete!
Create 'handshake' table...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Set db_version = '3'...
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Upgrade to version 3 complete!`
Спасибо за ваш труд!
Подскажите пожалуйста, каким образом можно скрыть столбец "Городской телефон"?
Добрый день!
Обнаружил следующую проблему, при нажатии кнопки Sync для получения данных из AD. Ничего не происходит, после чего в браузере просто пустая страница. (скриншот в приложении). До этого подобной проблемы не было, после обновления данных пользователей в AD и нажатии кнопки Sync, контакты обновлялись. Сейчас этого не происходит. Не подскажите с чем может быть связана данная причина? Возможно сталкивались с ней ранее?
При нажатии "Синхронизировать"
выдает ошибку
Exception: File: C:\pb\routes\contacts_sync.php[44]: ldap_parse_result return error: Success Trace:
#0 C:\pb\modules\Router.php(103): contacts_sync(Object(Core), Array, Array)
#1 C:\pb\pb.php(316): Router->process('contacts_sync', Array)
#2 {main}
Но в тоже время зайти как администратор с доменной учетной записью удается.
I have "AJAX error code: 500" after click on phone number.
Спасибо за ваш отличный проект. Я пытаюсь запустить проект на локальном хосте. После добавления папки в папку htdocs xampp меня перенаправляют на страницу install.php.
Я ввожу необходимые пароли и учетные данные, но затем, когда я пытаюсь получить доступ к индексной странице, я получаю эту ошибку:
Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'dbuser'@'localhost' (using password: YES) in ...\xampp\htdocs\ldap-phonebook-master\modules\MySQLDB.php:95 Stack trace: #0 ...\xampp\htdocs\ldap-phonebook-master\modules\MySQLDB.php(95): mysqli_connect('localhost', 'dbuser', '123456', 'websco') #1 ...\xampp\htdocs\ldap-phonebook-master\modules\MySQLDB.php(223): MySQLDB->connect(true) #2 ...\xampp\htdocs\ldap-phonebook-master\modules\Config.php(33): MySQLDB->select_ex(Array, 'SELECT m.
name...') #3 ...\xampp\htdocs\ldap-phonebook-master\modules\Config.php(62): Config->load(0) #4 D:\xampp\htdocs\ldap-phonebook-master\modules\Config.php(80): Config->get_ex(0, 'db_version', 0) #5 ...\xampp\htdocs\ldap-phonebook-master\pb.php(150): Config->get_global('db_version', 0) #6 {main} thrown in ...\xampp\htdocs\ldap-phonebook-master\modules\MySQLDB.php on line 95
что случилось?
Доброго времени суток.
Подскажи пожалуйста. При авторизации под админом отсутствуют кнопка редактирования абонента, удаления, добавления фото. Так же при удалении контакта из AD абонент в базе остается. Так и задумано?
Здравствуйте! Спасибо за вашу разработку!
Может это и глупый вопрос....подскажите пожалуйста, как обновить до последней вашей версии, внести ваши доработки и исправления в прошлую версию 2019г?
Сложно ли сделать вывод поля "выводимое имя" вместо фамилии и имени?
Очень неудобно отсутствие отчества в списке сотрудников.
Можно ли реализовать обновление данных с AD посредством цикличной cron задачи без рукоприкладства со стороны администратора web-gui ?
Имеется необходимость добавить в телефонный справочник дополнительную функцию "Регистрация переговорной комнаты"
Добавил новую таблицу со столбцами "pb_ peregovorka"
добавил в header дополнительное меню.
создал файл для получения данных из базы .
файл - routes/pk.php
создал форму и заполнил ее.
файл - templates/tpl.pk.php
создал файл для редактирования и создания новых записей в таблицу.
файл - routes/pk_edit.php
основываясь на информации как в файлах user_save.php и contact_save.php
создал для своих столбцов таблицы файл routes/pk_save.php
добавил эти файлы в pb.php
$core->Router->add_route('pk', 'pk');
$core->Router->add_route('pk_edit', 'pk_edit', TRUE);
$core->Router->add_route('pk_save', 'pk_save', TRUE);
в файле pb.js дописал
unction on_saved(action, data)
{
if(action == 'permission_save')
{
//f_get_perms(data.pid);
window.location = window.location;
}
else if(action == 'user_save')
{
window.location = window.location;
}
else if(action == 'pk_save')
{
window.location = window.location;
}
***//
В итоге данные из таблицы отображаются, форма для создания новых записей и форма редактирования открывается.
Но при нажатии кнопки "OK" в форме отображается сообщение "NotAllFilled"
Пробовал отключать эту проверку в созданных файлах но ничего не помогло.
А можно опубликовать пошаговую инструкцию для установки на голую UBUNTU?
Подскажите как установить фильтр отображения столбцов для пользователя который не авторизовался?
Добрый день!
Хотелось бы получить инструкцию на тему замены параметра Mobile (мобильный телефон) на ipPhone.
Здравствуйте.
Работает на Ура.
Все вытащил и А.Д. ну все что было прописано для каждого пользователя.
Но есть не знаю проблема ли и так глюк.
И вот сейчас попробовал в файле inc.config.php убрать значение
define('PB_USE_LDAP_AUTH', 0); и сразу админ смог зайти без проблем.
Warning: include(/var/www/webapps/pb/templates/tpl.tree-list.php): failed to open stream: No such file or directory in /var/www/webapps/pb/templates/tpl.users.php on line 2
Warning: include(): Failed opening '/var/www/webapps/pb/templates/tpl.tree-list.php' for inclusion (include_path='./:/usr/share/php/pear/:/usr/share/php/modules/') in /var/www/webapps/pb/templates/tpl.users.php on line 2
Управление локальными пользователями
В текущем релизе файл отсутствует.
Как решить?
Приветствую.
Прошу подсказать, как реализовать смену языка для пользователей сайта?
Т.е. добавить кнопку выбора языка, которая бы меняла язык интерфейса и выгружала значений из других ячеек таблицы БД.
Я примерно понимаю как это реализовать, в базу сам добавлю необходимые поля и загрузку/выгрузку значений, но опыта в php нет, поэтому прошу помощи.
Добрый день.
Описываю ситуацию, которую заметил и хотел бы решение как отключить эту зависимость:
Есть Контакт №1, у которого заполнены все поля в форме добавления контакта.
Есть Контакт №2, у которого заполнены 2 первых поля и много пустых полей.
Есть Контакт №3, у которого заполнены 2 последних поля, а остальные пустые.
Если, например, нажать кнопку Изменить Контакта №1, внести изменения в любое заполненное поле, потом нажать кнопку Сохранить и не обновлять страницу, то при нажатии кнопки Изменить у Контакта №2 все пустые поля "втихоря" заполняются информацией из полей Контакта №1, что редко замечаешь вообще, нажимаешь Сохранить и потом получается что e-mail, телефон и т.п. одинаковые у разных сотрудников. Контакт №3, например, заполнит пустые поля информацией из заполненных полей Контакта №2 и т.д.
Когда массово меняю всем контактам адреса, например, то данная опция совершенно неудобна мне.
Решение есть конечно, но неудобное, необходимо после изменения полей Контакта №1 и нажатия кнопки Сохранить, нажимать F5 и только после этого можно править поля других контактов и не боятся, что информация задублируется, но не всегда вспоминаешь об обновлении страницы после редактирования каждого контакта в массовом режиме.
Где эта строчка кода, которая за это отвечает?
Хотелось бы ее закомментировать, чтобы было удобно массово изменять контакты не обновляя страницу каждый раз и чтобы информация не подтягивалась туда-сюда лишняя.
Спасибо.
Здравствуйте! Подскажите как и где исправить код, чтоб таблица pcity заполнялась данными из AD, а не в ручную. Хочу в это поле выводить IP телефон, но все мои попытки увенчались неудачей. Сама телефонная книга работает отлично. Спасибо за сие творение.
Здравствуйте!
Заметил, что элемент номера телефона является активным, но при нажатии выходит ошибка AJAX Error code 500. Механизм колбека? Если да, то как заставить работать? Имею в сети asterisk.
Добрый день.
Подскажите, пожалуйста, существует ли возможность редактировать контакты, импортированные из AD? Если нет, то подскажите какой атрибут импортируется из AD для подстановки в графу дня рождения?
Можно ли поменять названия комнат в карте Floor 1, Floor 3, Floor 6, Floor14, Floor 25 ?
На Этаж 1, Этаж 2, Филиал 7, Центральный офис.
В чем может быть проблема? Спасибо
При создании admin получаю ошибку
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('12345'), '[email protected]', 0)' at line 1
Server version: 8.0.16 MySQL Community Server - GPL
Вкладка "Рукопожатия" пустая.
Я так понял она нужна для сопоставления компьютеров с учетными записями пользователей.
Подскажите как заполнить ее данными?
Добрый день.
Подскажите, пожалуйста, почему справочник на Windows Server 2019 работает быстрее, чем на Windows 10?
Т.е. у меня Windows 10 + Hyper-V и на виртуалке Windows Server 2019 в 10 раз быстрее работает добавление контактов вручную, чем если у меня все так же поднято на Windows 10. Именно меню это на сайте справочника "добавить контакт" молниеносно открывается на Windows Server 2019, а на Windows 10 и phpmyadmin висит по 10 секунд после каждого нажатия и меню "добавить контакт" на сайте справочника тоже. Ссылаюсь, что, возможно, проблема в какой-то низкой скорости работы базы MariaDB на Windows 10. Что необходимо доустановить или поднастроить, чтобы у меня на локальном хосте на Windows 10 сайт справочника работал очень быстро? На Windows Server 2019, видимо, уже какие-то интересные компоненты предустановлены, что сайт справочника и phpmyadmin просто летают...
Есть ли возможность добавить автоматическую сортировку и группировку контактов например по отделам с вложенным списком в них контактов. Для отображения списка только отделов и при клике на отделы отображения контактов только из данного отдела.
Добрый день!
Не могу записать конфиг., пишите ошибку "Save config error",
Как отловить ошибку?
Все шаги, по подключению базы, создания пользователя, базы, таблицы, e-mail, создания учетной записи ,- проходят успешно.
Вот что установлено на Linux
php -ver
PHP 5.6.36 (cli) (built: Apr 25 2018 10:02:39)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
apachectl -ver
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 20 2018 18:10:38
mysql -V
mysql Ver 15.1 Distrib 10.3.7-MariaDB, for Linux (x86_64) using readline 5.1
Модули есть:
php --ini | grep fileinfo
/etc/php.d/20-fileinfo.ini,
php --ini | grep ldap
/etc/php.d/20-ldap.ini,
При запуске синхронизации возникает ошибка "HTTP ERROR 500".
Здравствуйте.
Как сделать чтобы в колонке (Name) ФИО шли в алфавитном порядке?
Спасибо.
Установил, настроил, все проверки система прошла. При первом входе ошибка 500. В логах сервера текст "PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in /var/www/html/ldph/pb.php on line 134"
система - centos 7, PHP 5.4.16
информация о модулях:
LDAP Support | enabled
RCS Version |
Total Links | 0/unlimited
API Version | 3001
Vendor Name | OpenLDAP
Vendor Version | 20444
SASL Support | Enabled
Прошу помощи. При добавлении в crontab php -f /var/www/telbooks/pb.php -- --user "user" --password "pas" --path contacts_hide_disabled
скрываются все контакты, где ошибка?
После обновления пропала возможность выводить ФИО (отображаемое имя) вместо отдельных полей фамилия и имя.
Ранее обсуждалось, было решение вопроса, сейчас этот метод не работает.
Привет.
Благодарю за интересный проект, мне он очень понравился, но я не очень дружу с линейкой ОС линукс (только учусь).
На CentOS 7 были развёрнуты Apache, PHP и MariaDB. Проверил работу, подсунув в каталог "/var/www/html" простенький index.php. Далее подсунул в эту же директорию ваш проект. При открытии сайта идёт переадресация на страницу install.php, но страница не открывается, появляется ошибка:
Страница недоступна
Сайт 192.168.11.11 пока не может обработать этот запрос.
HTTP ERROR 500
Прошу подсказать куда копать.
Если есть полная инструкция по развёртыванию проекта, то буду признателен, если подскажете где её найти.
Добрый день!
Не подскажите, как можно сделать, чтобы мобильные номера отображались только после прохождения авторизации на веб интерфейсе книги? Сам понимаю, что нужно просто вторую страничку сделать, которая бы задействовалась после логина, но не смог найти в коде где идет этот самый переход.
Какая колонка в файле tpl.export отвечает за вывод фотографии?
<?php eh($row[]); ?>
Приветствую. Нет придела совершенству, и хотел бы узнать как включить в данном чудесном справочнике отображение контактов из AD. Все пользователи отображаются корректно и все работает очень быстро и стабильно. Но увы, не отображаются контакты созданные в AD. Пользователи отображаются, контакты нет. Было бы замечательно если бы в адресную книгу попадали контакты без учетной записи в AD.
Спасибо Вам за труд!
Как на счет расширить функционал поддержкой SSO и сделать доступ по группам AD? Подобное реализовано в dokuwiki. Имя пользователя показывать вместо кнопки "Вход"
При логине пользователя, входящего в LDAP_ADMIN_GROUP_DN - открывать полный функционал, остальным только просмотр. Опционально пользователям можно разрешать изменение своих личных данных. Не вошедшим в систему показывать какой-либо урезанный список контактов.
А на сами номера в таком случае можно повесить хороший экшн - набрать номер при нажатии. Видеть номера удобно, но набирать мобильники или в другие страны - много кнопок.
Я в php не силен, но вот если будет авторизация плюс определение дополнительных атрибутов вошедшего пользователя, то originate в asterisk я прикручу, наверное.
Добрый день! Установил, все работает, контакты импортируются , но не все! Около 70 контактов нормально отображается, а стальные нет (всего около 300). Куда посмотреть?
после установки появляется такая ошибка:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/language/ru.php:86) in /var/www/html/inc.user.php on line 222
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/language/ru.php:86) in /var/www/html/inc.user.php on line 223
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/language/ru.php:86) in /var/www/html/pb.php on line 1169
Что делать?
Доброго дня!
Подскажите пожалуйста, есть ли возможность настроить синхронизацию с сервером LDAP через SSL?
Возможно ли в строке поиска игнорировать спецсимволы? Номера мобильных телефонов могут быть записаны +7, 7, 8 и пр, для легкого чтения в номере иногда выделяют префикс в скобки, ставят дефисы/пробелы. Поиск же работает по строгому соответствию... Хотя нет, он работает странным образом. При вводе в строку "79" отбираются номера 891, 892, +7(91, 798, при вводе "89" отбираются почти те же диапазоны (ключевое "почти", есть различия). При вводе "791" совсем ничего не находится. При "891" находятся 891, +7(91...
Я так понимаю, что имеется какая-то реализация замены 8 с +7 и наоборот, но работает она не понятно для меня. Хотелось бы видеть номера в приятном глазу виде и иметь поиск без ввода пробелов, скобок, дефисов.
Спасибо!
Добрый день.
У меня во время использования начала появляться ошибка при попытках добавить пользователя "руками". Всплывает два сообщения: на зеленом фоне "added (ID 0)" и сразу другое на красном "Invalid Identifier". При этом пользователи из AD загружаются и обновляются без проблем. Проблема в ручном добавлении. Скорее всего это началось после того, как я вернулся к старой точке восстановления на виртуальной машине, на которой установлен веб сервис.
Как я понял, сервис пытается создать новую запись в базе данных с ID = 0, но SQL это сделать не позволяет.
Что я делал для устранения ошибки: Создавал новую базу, как руками, так и через "install.php", создавал нового пользователя для БД, вручную переделывал ID одного из действующих адресатов на ID=0. Ничего не помогло. Подскажите, куда копать?
Подскажите, пожалуйста, есть ли возможность настроить несколько каталогов АД (есть несколько предприятий в холдинге и, соответственно, задача общей адресной книги)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.