Skip to content
Bigov edited this page Aug 25, 2022 · 27 revisions

Описание

Телефонный Справочник ориентирован на пользователей локальной сети среднего и крупного предприятия. Данные в Справочнике организованы в виде "дерева", в котором "листьями" являются названия должностей из штатной структуры предприятия. Номера телефонов можно вводить для должностей или дежурных служб и для персон (личные телефоны). Добавление новой персоны возможно только при наличии для нее вакантной должности. При необходимости внести данные о "внешних" абонентах можно добавить к дереву ветку с названием "Прочие" и произвольным описанием вместо наименования должности.

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

  • в древовидной структуре,
  • по фамилиям, автоматически упорядоченым по алфавиту,
  • при помощи поискового запроса по любой части любого поля (телефон, имя, должность...)

Если требуется ограничить доступ к внесению изменений в Справочник, и разрешить редактировать данные только с определенных IP-адресов, то следует создать в папке Справочника текстовый файл phonebook/ip_white.txt со списком IP адресов администраторов. Для подключений с перечисленных в этом файле IP-адресов ограничений не будет, а для всех остальных возможность менять данные будет заблокирована.

Ограничения:

  • запрещено назначать одновременно двух человек на одну должность,
  • один человек не может занимать две должности,
  • использование полных однофамильцев (совпадающие имя и фамилия и отчество) запрещено.

В справочнике имеется функция сохранения снапшота всей базы данных в виде автономного HTML-файла, который можно использовать на любых устройствах (без доступа к сети).

Установка

Для информации: текущая версия Телефонного Справочника работает с PHP v.7.x.x.

Для установки необходимо выполнить следующее:

  • установить sqlite3-pcre;
  • включить Apache модуль mod_rewrite.so;
  • установить PHP модули: php_mbstring, php_sqlite3;
  • включить в файле php.ini расширение sqlite3 и указать путь к каталогу, в котором лежит расширение pcre.so. Для Debian это:
    sqlite3.extension_dir = "/usr/lib/sqlite3"
    
  • разметить все файлы из репозитория в выделенную папку в корневом каталоге веб-сайта, и подключить базу данных sqlite3:
    cd /var/www/html/
    git clone --recursive --single-branch -b main https://github.com/bigov/phonebook.git
    cp phonebook/db/phones.sqlite.INSTALL phonebook/db/phones.sqlite
    
  • предоставить права записи веб-серверу на папки photos, db, templates_c:
    cd phonebook
    chown -R www-data:www-data ./photos
    chown -R www-data:www-data ./templates_c
    chown -R www-data:www-data ./db
    

Конфигурация каталога веб-сервера

  <Directory /var/www/html/phonebook/>
    RewriteEngine On
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

В коде Справочника явно указано место расположения - в подкаталоге /phonebook. Если на сайте нет других ресурсов, то (чтобы не набирать полный путь) рекомендуется использовать директиву Redirect из корневого каталога вашего сервера в папку Справочника, например так:

Redirect 301 / http://www.domain2.com/phonebook/

Первый запуск

После первого запуска кликаем по нижней иконке (*) в виде шестеренки и переходим на страницу "Изменение структуры справочника". Создаем/настраиваем структура организции, создаем необходимое количество разделов/отделов, в них создаются должности. После создания должностей можно вводить фамилии имена отчества и номера телефонов сотрудников.