Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавить отображение номера комнаты #2

Closed
epigraphe opened this issue Nov 28, 2017 · 12 comments
Closed

Comments

@epigraphe
Copy link

epigraphe commented Nov 28, 2017

Добрый день. Как добавить вывод номера комнаты?
Я пробовал использовать параметр physicalDeliveryOfficeName чтобы показывать данные из строки Office во вкладке General, но никаких данных он не выдает(
У меня не используется строка Company, поэтому я поменял в файле pb.php $s_organization = @$account['physicalDeliveryOfficeName'][0];, но в таблице в столбце org ничего не появляется. Я пробовал менять на initials и инициалы появлялись.
В файле inc.config я добавлял в "LDAP_ATTRS" значение physicalDeliveryOfficeName

@pfzim
Copy link
Owner

pfzim commented Nov 28, 2017

Всё правильно делаете, но ещё много где надо внести изменений.

  1. Лучше создать отдельный параметр $s_room = @$account['physicalDeliveryOfficeName'][0];
  2. Добавить новую колонку в БД в таблицу pb_contacts
  3. Дополнить SQL запросы
  4. Добавить новую колонку в шаблон templ/tpl.main.php

@epigraphe
Copy link
Author

epigraphe commented Nov 28, 2017

Так в том-то и дело, что я пытаюсь просто заменить Сompany на physicalDeliveryOfficeName. Поэтому я и не создаю новый параметр, не делаю колонки и не меняю запрос. Я даже не пытаюсь вывести это, а просто получить данные в базу. И ничего не происходит.

Если я меняю company на initials, к примеру, то они в колонке появляются. Вот и не пойму в чем проблема, Office во вкладке General в самом AD заполнен.

@pfzim
Copy link
Owner

pfzim commented Nov 28, 2017

Company не используется в шаблоне. Я посчитал, что имя компании в таблице будет лишним, т.к. таблица станет очень большая. Эту колонку можно добавить отредактировав файл templ/tpl.main.php. Значение для этого столбца будет: <?php eh($row[5]); ?>

@epigraphe
Copy link
Author

Я не пытаюсь выводить в шаблоне, я не могу получить значения номеров комнат из AD. В самой базе MySQL значения не появляются. Проблема только с номером комнаты, остальные значения прилетают как и полагается.

@pfzim
Copy link
Owner

pfzim commented Nov 28, 2017

Теперь понял. Попробуйте вообще убрать последний параметр из функции ldap_search, чтобы втянуть все параметры из AD, и раскоментируйте строку print_r($account), чтобы посмотреть что вытягивается из AD.
pb.zip

@pfzim
Copy link
Owner

pfzim commented Nov 28, 2017

В отдельном файле для теста:
test_ldap.php

@epigraphe
Copy link
Author

epigraphe commented Nov 29, 2017

Спасибо, test_ldap выдает номер комнаты, если physicaldeliveryofficename указан в фильтрах LDAP в файле inc.config

Array
(
    [sn] => Array
        (
            [count] => 1
            [0] => Иванов
        )

    [0] => sn
    [title] => Array
        (
            [count] => 1
            [0] => Начальник службы
        )

    [1] => title
    [physicaldeliveryofficename] => Array
        (
            [count] => 1
            [0] => 307
        )

    [2] => physicaldeliveryofficename
    [telephonenumber] => Array
        (
            [count] => 1
            [0] => 001
        )

@pfzim
Copy link
Owner

pfzim commented Nov 29, 2017

Не понимаю, почему LDAP_FILTER влияет на вывод этого атрибута?
Влиять должен только параметр LDAP_ATTRS

@epigraphe
Copy link
Author

Ой, прошу прощения, действительно LDAP_ATTRS.
Почему же тогда не работает в скрипте, если работает в тестовом файле?

@pfzim
Copy link
Owner

pfzim commented Nov 29, 2017

Опечатки не может быть?
Другого варианта пока не вижу

@pfzim
Copy link
Owner

pfzim commented Nov 29, 2017

В php ключи массива регистрозависимые.
Надо сделать так: $s_organization = @$account['physicaldeliveryofficename'][0];

@epigraphe
Copy link
Author

Спасибо, заработало. Дело было именно в регистре, я писал physicalDeliveryOfficeName

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants