# =========================================================================== #
# NG CMS // Модули авторизации // Авторизация через БД форума punBB           #
# =========================================================================== #

1. Вступление
2. Установка и настройка
3. Решение проблем

1. Введение
--------------------------------------
  Абсолютно универсальных решений обычно не существует. Поэтому время от времени
возникает необходимость в проведении интеграции друг с другом различных 
продуктов.

  Данный плагин позволяет осуществить интеграцию на уровне пользователей с 
одним из лучших форумов - punBB [версия: 1.2.15].
  Плагин позволяет решать следующие задачи:
  1. Не требуется модификации кода punBB, таким образом вы можете обновлять
     ваш форум punBB без опасений.
  2. Вы получаете полную интеграцию на уровне пользователей - в БД punBB и NG
     сохраняются пользователи с идентичными логинами и паролями.
  3. Обеспечивается задача "SSO" (Single Sign On = единая точка входа), благодаря
     которой залогинившись на сайте NG (либо на форуме punBB) вы можете
     переходить между NG и punBB оставаясь залогиненым под своей учётной записью.
  4. Единая точка регистрации - если вы регистрируетесь через NG, то для вас автоматически
     создаётся учётная запись в punBB. При этом регистрацию в punBB небходимо заблокировать
     для избежания возникновения "дублирующихся" записей.
  5. Автосоздание пользователей - если у вас уже есть ваша собственноая БД пользователей
     в NG и/или в punBB, вы можете безболезненно осуществлять объединение выбирая 
     соответствующие режимы (независят друг от друга и могут работать параллельно):
     1. Объединение пользователей - если в NG и punBB есть пользователь с одним и тем же
        паролем, то в момент авторизации учётные записи пользователей объединяются.
     2. Если пользователь есть в БД punBB, но его нет в БД NG - пользователь создастся
        в БД NG.
     3. Если пользователь есть в БД NG, но его нет в БД punBB - пользователь создастся
        в БД punBB.
  6. Единое изменение пароля - в случае смены пароля через панель управления NG,
     пароль пользователя в punBB также изменяется (автоматически).


2. Установка
--------------------------------------
  Особенностью данного плагина является то, что сразу после его включения NG переключается
на работу через БД punBB. Соответственно, при запуске данного плагина необходимо действовать
по следующей схеме:
1. Установить плагин
2. Прописать "настройки внешней БД" в случае если таблицы форума находятся в другой БД или
   даже на другом сервере. Обязательно проверьте эти параметры!
3. Настроить "параметры авторизации":
   1. Префикс таблиц punBB
   2. Переменная "cookie seed" - эта переменная необходима для успешной работы с паролями
      punBB. Её значение необходимо взять из конфигурационного файла punBB ( forum/config.php ).
      Пример строки: $cookie_seed = '94a0dbae';
      Значение переменной: 94a0dbae
   3. Установите "домен для сохранения cookie". При выборе домена руководствуйтесь правилами:
      1. Если форум стоит на том же домене что и сайт - прописывайте домен сайта (или не прописывайте
         вообще ничего)
      2. Если форум стоит на поддомене сайта (NG на mysite.ru, а форум - на forum.mysite.ru) -
         аналогично п. 1
      3. Если форум и сайт стоят на поддоменах одного домена (ng.mysite.ru, forum.mysite.ru) -
         прописывайте основной домен, т.е. mysite.ru
4. Настроить параметры регистрации пользователей:
   1. ID группы при регистрации. Здесь указывается ID группы форума punBB. Для определения группы
      зайдите в раздел "Администрирование" форума, там выберите "пользовательские группы" и нажмите
      "редактировать" на интересующей вас группе. Далее в поле "адрес" будет URL вида 
      http://XXX/admin_groups.php?edit_group=2
      В данном случае ID группы = 2.
   2. Язык по умолчанию. Список доступных языков можно увидеть зайдя в каталог lang/ форума punBB.
      В данном поле необходимо указать значение полностью соответствующее названию каталога языковых
      файлов.
   3. Оформление по умолчанию. Зайдите в форуме в собственный профиль в раздел "Отображения".
      Там в выпадающем меню будет список доступных оформлению по умолчанию. Можете использовать
      любой из указанных.
5. Сконфигурировать "управление пользователями".
6. Проверить повторно корректность настроек.
7. _Обязательно_ создать в punBB пользователя с тем же логином что и ваш административный логин!
   После активации пользователя вам необходимо будет вводить пароль, прописанный на форуме для получения
   доступа к NG.
8. Сохранить настройки.
9. Включить плагин.


3. Решение проблем.
--------------------------------------
  Возможна ситуация, когда вы что-то сделали не так и не можете зайти на сайт - просто не 
удаётся авторизоваться. Чтож, значит вы где-то допустили ошибку.
  К сожалению, автоматически решать такие проблемы слишком сложно. На текущий момент есть единственный
корректный способ форсированного отключения плагина auth_punBB - ручное отключение через файл
/admin/conf/plugins.php
  Для этого необходимо найти и удалить две строки:
==cut==
    'auth_punbb' => 'auth_punbb',
    'auth_punbb' => 'auth_punbb/auth_punbb.php',
==cut==
они обычно расположены в первых 30 строках этого файла и при этом находятся на некотором
расстоянии друг от друга.


