Переустановил модуль.
Теперь пользователи нормально входят и админом входить можно.
1. Нужно пофиксить пол пользователя, а то все женского пола стали.
2. При ручной синхронизации не отображает что прошла синхронизация. Firebug дает ошибку:
POST http://10.20.0.5/admin/ajaxldapimport/ 200 OK 109ms
8814d8...5e59.js (строка 2)
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/plugins/ldap/classes/modules/ldap/Ldap.class.php</b> on line <b>211</b><br />
{"bState":true,"sMsgTitle":"\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435","sMsg":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d","bStateError":false}
<br />
<b>Notice</b>: Undefined index: code in <b>/var/www/plugins/ldap/classes/actions/ActionLogin.class.php</b> on line <b>44</b><br />
{"sUrlRedirect":"http:\/\/10.20.0.5\/","sMsgTitle":"","sMsg":"","bStateError":false}
Ничего не изменилось. Пользователи AD входят после перезагрузки страницы логина, автоматом не редиректится.
Плюс — если выйти администратором сайта, то потом невозможно войти (используя логин или эл.почту).
И действительно нет этих строк в config.php Прописал, деактивировал-активировал модуль. Попробовал зайти не синхронизированным пользователем — анимированый индикатор входа бегает, но при перезагрузки страницы пользователь оказался! авторизован!
Firebug выдал такую ошибку:
POST http://10.20.0.5/login/ajax-login/
200 OK
109ms
8814d8...5e59.js (строка 2)
ЗаголовкиPostОтветCookies
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/plugins/ldap/classes/modules/ldap/Ldap.class.php</b> on line <b>211</b><br />
<br />
<b>Notice</b>: Undefined index: code in <b>/var/www/plugins/ldap/classes/actions/ActionLogin.class.php</b> on line <b>44</b><br />
{"sUrlRedirect":"http:\/\/10.20.0.5\/","sMsgTitle":"","sMsg":"","bStateError":false}
возникает вопрос — а из какой таблицы он будет делать выборку?
В 87 строке /ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php указано: FROM ".Config::Get('db.table.user_ad'."
И еще одно — все пользователи из AD становятся женского пола — нужно куда-то добавить строку: 'setProfileSex' => 'other'
Есть таблицы site_user_ad, site_ad_cron и site_ad_log со структурой описанной в db.sql — только они не содержат записи и их я создавал самостоятельно запросом в MySQL'е.
Удалил эти три таблицы — при активации плагина таблицы не создаются (из-за закомментированной строки в PluginLdap.class.php). Попробовал раскомментировать эту строку и активировать плагин — вывалилась ошибка:
SQL Error: Can't DROP 'user_mail'; check that column/key exists at /var/www/engine/modules/database/Database.class.php line 160
Array ( [code] => 1091 [message] => Can't DROP 'user_mail'; check that column/key exists [query] => ALTER TABLE gszn_user DROP INDEX user_mail [context] => /var/www/engine/modules/database/Database.class.php line 160 )
Конфиг думаю верен — так как список пользователей получает и при синхронизации создает пользователя в базе LiveStreet и заполняет поля: логин, майл и имя.
SQL Error: 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 'WHERE user_id='3'' at line 3 at /var/www/plugins/ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php line 91
Array
(
[code] => 1064
[message] => 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 'WHERE user_id='3'' at line 3
[query] =>
SELECT user_id
FROM
WHERE user_id='3'
[context] => /var/www/plugins/ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php line 91
)
Сервер — Ubuntu Server 13.04
MySQL — 5.5.31-0ubuntu0.13.04.1
Кодировка сервера: UTF-8 Unicode (utf8)
PHP 5.4.9-4ubuntu2
Apache/2.2.22
Только что поставил на отдельный сервер чистый LiveStreet, установив туда только модуль ldap. Настроил, провел с несколькими пользователями из AD синхронизацию. Они в списке пользователей LiveStreet появились и наследовали поля. Попытка зайти под этими пользователями не привела к успеху — при вводе логина/пароля анимированый индикатор входа бегает, но дальше дело не идет. И выйдя admin'ом — назад зайти не дает ошибка — «Что-то не так! Вероятно, неправильно указан логин (e-mail) или пароль.»
В какую сторону смотреть? И используется в модуле префикс кеширования, отличный от дефолтного?
Если есть кнопка — ее обязательно нажмут.
В Черновики можно попасть только через Создать — это уже вопрос.
В девелоперской теме если в Черновиках нажать на «Создать топик», то перейдешь в создание топика, здесь не переходит.
По кнопке «Создать» мы можем выбрать «Топик Блог Сообщение Черновик».
«Черновик» — нет возможности создать черновик.
«Топик» — можно заново выбрать, что создавать — «блог топик сообщение» (черновика уже нет)
«Блог» — можно заново выбрать, что создавать — «блог топик сообщение» (черновика опять же нет)
«Сообщение» — нет возможности поменять выбор создания.
При переходе в профиль, сверху висит навигация «Все Онлайн Новые», без белого треугольника под «Люди». Можно наверное совсем убрать, так как в «Сообщения» и «Настройки» этого меню нет.
Сам себе отвечу (нашел таки время, хотя решение нашел почти сразу):
{if $oUserProfile->getProfileClosed() == 'friend' and $aFriendProfile == 0 and (!$oUserCurrent || (!$oUserCurrent->isAdministrator() && $oUserCurrent->getId() != $oUserProfile->getId()))}
<div class="profile-user"><p class="nickname">Пользователь {$oUserProfile->getLogin()} показывает свои персональные данные только друзьям!</div>
{else}
Этот код вставляется в templates/skin/.../actions/ActionProfile/whois.tpl — разрешается просмотр профиля только для друзей, себя и администраторов или всем.
Просто смысла прятать профиль и от друзей не вижу.
Если убрать из конфига строки
то опять не заходит пользователем AD без перезагрузки страницы. С этими строками все ок.
И напоминаю про пол пользователей.
Теперь пользователи нормально входят и админом входить можно.
1. Нужно пофиксить пол пользователя, а то все женского пола стали.
2. При ручной синхронизации не отображает что прошла синхронизация. Firebug дает ошибку:
При попытки зайти админом:
Плюс — если выйти администратором сайта, то потом невозможно войти (используя логин или эл.почту).
Вот конфиг.
Firebug выдал такую ошибку:
возникает вопрос — а из какой таблицы он будет делать выборку?
В 87 строке /ldap/classes/modules/ldap/mapper/Ldap.mapper.class.php указано: FROM ".Config::Get('db.table.user_ad'."
И еще одно — все пользователи из AD становятся женского пола — нужно куда-то добавить строку: 'setProfileSex' => 'other'
Удалил эти три таблицы — при активации плагина таблицы не создаются (из-за закомментированной строки в PluginLdap.class.php). Попробовал раскомментировать эту строку и активировать плагин — вывалилась ошибка:
Конфиг думаю верен — так как список пользователей получает и при синхронизации создает пользователя в базе LiveStreet и заполняет поля: логин, майл и имя.
Сервер — Ubuntu Server 13.04
MySQL — 5.5.31-0ubuntu0.13.04.1
Кодировка сервера: UTF-8 Unicode (utf8)
PHP 5.4.9-4ubuntu2
Apache/2.2.22
В какую сторону смотреть? И используется в модуле префикс кеширования, отличный от дефолтного?
В Черновики можно попасть только через Создать — это уже вопрос.
В девелоперской теме если в Черновиках нажать на «Создать топик», то перейдешь в создание топика, здесь не переходит.
«Черновик» — нет возможности создать черновик.
«Топик» — можно заново выбрать, что создавать — «блог топик сообщение» (черновика уже нет)
«Блог» — можно заново выбрать, что создавать — «блог топик сообщение» (черновика опять же нет)
«Сообщение» — нет возможности поменять выбор создания.
Этот код вставляется в templates/skin/.../actions/ActionProfile/whois.tpl — разрешается просмотр профиля только для друзей, себя и администраторов или всем.
Просто смысла прятать профиль и от друзей не вижу.
Но при установки в none, гости всё равно видят профиль, только friend скрывает.
Что нужно подправить в 7 шаге?