6 августа 2019 года. проверил старый вариант установки на сервере. уже не работает. попробую поставить новый. ****
модуль установился. проверил регистрацию через VK на стиле subsilver2
2 февраля 2023 года попробовал поставить на форум модуль ulogin - проверка работы через VK не прошла - после ввода данных аккаунта вывело ошибку базы данных форума. итого: ставить эту систему не стоит - есть проблемы.
мод реализует возможность регистрироваться на форуме через свой аккаунт в соцсетях.
модификация очень проста в установке, не затрагивает основной модуль регистрации (он продолжает работать) и довольно удобна в применении.
Старый вариант регистрации
вывод возможности регистрации через соцсети выглядит примерно так:
Если вас заинтересовала такая возможность - ставим.
Скачать мод из архива сайта:
Скачать из файлового архива сайта
распаковать и содержимое папки root загрузить в корень сайта (где файл config.php).
Теперь необходимо провести SQL-запрос:
Относительно SQL-запроса... В коде автора по умолчанию не прописаны данные установки и, в результате чего, временами возникают ошибки базы данных, что приводит к невозможности пройти внутреннюю регистрацию форума. Для устранения этих ошибок уже есть найденные решения. Я несколько раз ставил данный мод на версии форума 3.0.12 и 3.0.14 - каждый раз, спустя непродолжительное время, появлялись ошибки. Поэтому, при создании данной темы, я решил прописать 2 версии SQL-запроса: от автора и переделанную с устранением ошибок. Какую ставить - решайте сами. Мод всё равно будет работать.
Итак, версия автора:
У кого имеются проблемы с выполнением запроса - можете скачать скрипт-инсталлятор:
распаковать, файл db_update.php загрузить в корень форума (где файл config.php) и запустить его через браузер по адресу
после отработки скрипта удалить его с сервера.
Код запроса, переделанный мной с учётом возникающих ошибок:
то есть вместо неопределённого параметра NOT мы прописываем по умолчанию NULL...
У кого имеются проблемы с выполнением запроса - можете скачать скрипт-инсталлятор:
распаковать, файл db_update_belk.php загрузить в корень форума (где файл config.php) и запустить его через браузер по адресу
после отработки скрипта удалить его с сервера.
Инструкция по устранению ошибок в базе данных по первому варианту запроса (если они, конечно, будут):
С запросом закончили, теперь редактируем файлы форума:
для стилей на основе prosilver:
для стилей на основе subsilver2:
Всё. Теперь необходимо очистить кэш и можно пользоваться. Успешного применения мода.
Если вас заинтересовала такая возможность - ставим.
Скачать мод из архива сайта:
Скачать из файлового архива сайта
распаковать и содержимое папки root загрузить в корень сайта (где файл config.php).
Теперь необходимо провести SQL-запрос:
Относительно SQL-запроса... В коде автора по умолчанию не прописаны данные установки и, в результате чего, временами возникают ошибки базы данных, что приводит к невозможности пройти внутреннюю регистрацию форума. Для устранения этих ошибок уже есть найденные решения. Я несколько раз ставил данный мод на версии форума 3.0.12 и 3.0.14 - каждый раз, спустя непродолжительное время, появлялись ошибки. Поэтому, при создании данной темы, я решил прописать 2 версии SQL-запроса: от автора и переделанную с устранением ошибок. Какую ставить - решайте сами. Мод всё равно будет работать.
Итак, версия автора:
SQL-запрос
Код: Выделить всё
ALTER TABLE `phpbb_users` ADD `loginza_identity` VARCHAR( 255 ) NOT NULL COMMENT 'Идентификатор Loginza прикрепленный к учетной записи',
ADD `loginza_provider` VARCHAR( 255 ) NOT NULL COMMENT 'Провайдер авторизации';
ALTER TABLE `phpbb_users` ADD INDEX ( `loginza_identity` ) ;
У кого имеются проблемы с выполнением запроса - можете скачать скрипт-инсталлятор:
Вложение:
распаковать, файл db_update.php загрузить в корень форума (где файл config.php) и запустить его через браузер по адресу
Код: Выделить всё
http://ваш сайт/db_update.php
после отработки скрипта удалить его с сервера.
Код запроса, переделанный мной с учётом возникающих ошибок:
SQL-запрос
Код: Выделить всё
ALTER TABLE `phpbb_users` ADD `loginza_identity` VARCHAR( 255 ) NULL NULL COMMENT 'Идентификатор Loginza прикрепленный к учетной записи',
ADD `loginza_provider` VARCHAR( 255 ) NULL NULL COMMENT 'Провайдер авторизации';
ALTER TABLE `phpbb_users` ADD INDEX ( `loginza_identity` ) ;
то есть вместо неопределённого параметра NOT мы прописываем по умолчанию NULL...
У кого имеются проблемы с выполнением запроса - можете скачать скрипт-инсталлятор:
Вложение:
распаковать, файл db_update_belk.php загрузить в корень форума (где файл config.php) и запустить его через браузер по адресу
Код: Выделить всё
http://ваш сайт/db_update_belk.php
после отработки скрипта удалить его с сервера.
Инструкция по устранению ошибок в базе данных по первому варианту запроса (если они, конечно, будут):
Если при отправке формы регистрации возникает ошибка базы данных
Field 'loginza_identity' doesn't have a default value
Идете в phpMyAdmin, кликаете на имя своей БД, потом слева в списке выбираете phpbb_users, после этого по центру листаете до поля loginza_identity, напротив этого поля жмете Редатировать (иконка карандашика вроде) и смотрите на скриншот и делаете все аналогично у себя
(Проще говоря задаете этому полю значение по умолчанию)
//если не видно картинки: в поле по умолчанию прописываете NULL
Идете в phpMyAdmin, кликаете на имя своей БД, потом слева в списке выбираете phpbb_users, после этого по центру листаете до поля loginza_identity, напротив этого поля жмете Редатировать (иконка карандашика вроде) и смотрите на скриншот и делаете все аналогично у себя
Вложение:
Комментарий к файлу: ошибка loginza_identity' doesn't have a default value
(Проще говоря задаете этому полю значение по умолчанию)
//если не видно картинки: в поле по умолчанию прописываете NULL
Если при отправке формы регистрации возникает ошибка базы данных
Field 'loginza_provider' doesn't have a default value
Идете в phpMyAdmin, кликаете на имя своей БД, потом слева в списке выбираете phpbb_users, после этого по центру листаете до поля loginza_provider, напротив этого поля жмете Редатировать (иконка карандашика вроде) и смотрите на скриншот и делаете все аналогично у себя
(Проще говоря задаете этому полю значение по умолчанию)
//если не видно картинки: в поле по умолчанию прописываете NULL
Идете в phpMyAdmin, кликаете на имя своей БД, потом слева в списке выбираете phpbb_users, после этого по центру листаете до поля loginza_provider, напротив этого поля жмете Редатировать (иконка карандашика вроде) и смотрите на скриншот и делаете все аналогично у себя
Вложение:
Комментарий к файлу: ошибка Field 'loginza_provider' doesn't have a default value
(Проще говоря задаете этому полю значение по умолчанию)
//если не видно картинки: в поле по умолчанию прописываете NULL
С запросом закончили, теперь редактируем файлы форума:
Открыть ucp.php
Найти
Заменить найденное на
Код: Выделить всё
$module->load('ucp', 'register');
Заменить найденное на
Код: Выделить всё
if (!empty($_POST['token'])) {
$module->load('loginza', 'register');
} else {
$module->load('ucp', 'register');
}
Открыть includes/functions.php
Найти
Вставить после найденного
Код: Выделить всё
'U_FEED' => generate_board_url() . "/feed.$phpEx",
Вставить после найденного
Код: Выделить всё
'LOGINZA_RETURN_URL' => urlencode( append_sid(generate_board_url() . "/ucp.$phpEx", 'mode=register') ),
для стилей на основе prosilver:
Открыть styles/prosilver/template/overall_header.html
Найти
Вставить после найденного
Код: Выделить всё
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>
Вставить после найденного
Код: Выделить всё
<!-- Loginza widget JavaScript -->
<script src="http://s1.loginza.ru/js/widget.js" type="text/javascript"></script>
Найти
Заменить найденное на
Код: Выделить всё
<ul class="linklist rightside">
<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
<!-- IF not S_IS_BOT -->
<!-- IF S_DISPLAY_MEMBERLIST --><li class="icon-members"><a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}">{L_MEMBERLIST}</a></li><!-- ENDIF -->
<!-- IF not S_USER_LOGGED_IN and S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF -->
<li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x">{L_LOGIN_LOGOUT}</a></li>
<!-- ENDIF -->
</ul>
Заменить найденное на
Код: Выделить всё
<ul class="linklist rightside">
<!-- IF not S_IS_BOT -->
<!-- IF S_DISPLAY_MEMBERLIST --><li class="icon-members"><a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}">{L_MEMBERLIST}</a></li><!-- ENDIF -->
<!-- IF not S_USER_LOGGED_IN -->
<li><a href="https://loginza.ru/api/widget?token_url={LOGINZA_RETURN_URL}" title="Войти через аккаунт соц. сети или OpenID" accesskey="x" class="loginza"><img src="http://s1.loginza.ru/img/sign_in_button_gray.gif" alt="Авторизация" align="top" border="0" style="margin-top:3px;"/></a></li>
<!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN --><li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x">{L_LOGIN_LOGOUT}</a></li><!-- ENDIF -->
<!-- IF not S_USER_LOGGED_IN and S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF -->
<!-- ENDIF -->
<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
</ul>
Открыть styles/prosilver/template/ucp_register.html
Найти
Вставить после найденного
Код: Выделить всё
<h2>{SITENAME} - {L_REGISTRATION}</h2>
Вставить после найденного
Код: Выделить всё
<div style="float:left;margin-right:50px;background-color:#fff;padding:5px 20px;border:1px solid #ddd;">
<h3>Вход или регистрация через: </h3>
<iframe src="https://loginza.ru/api/widget?overlay=loginza&token_url={LOGINZA_RETURN_URL}"
style="width:359px;height:200px;" scrolling="no" frameborder="no"></iframe>
</div>
для стилей на основе subsilver2:
Открыть styles/subsilver2/template/overall_header.html
Найти
Вставить перед найденным
Код: Выделить всё
</head>
Вставить перед найденным
Код: Выделить всё
<!-- Loginza widget JavaScript -->
<script src="http://s1.loginza.ru/js/widget.js" type="text/javascript"></script>
Найти
Вставить перед найденным
Код: Выделить всё
<a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" alt="*" /> {L_REGISTER}</a>
<!-- ENDIF -->
<!-- ENDIF -->
Вставить перед найденным
Код: Выделить всё
<a href="https://loginza.ru/api/widget?token_url={LOGINZA_RETURN_URL}" title="Войти через аккаунт соц. сети или OpenID" accesskey="x" class="loginza"><img src="http://s1.loginza.ru/img/sign_in_button_gray.gif" alt="Авторизация" align="top" border="0" style="margin-top:-4px;"/></a>
Открыть styles/subsilver2/template/ucp_register.html
Найти
Вставить после найденного
Код: Выделить всё
<!-- IF ERROR -->
<tr>
<td class="row3" colspan="2" align="center"><span class="gensmall error">{ERROR}</span></td>
</tr>
<!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<tr><td class="row1" colspan="2">
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<td class="row1" valign="top" align="center">
<div style="margin:5px;background-color:#fff;padding:5px;border:1px solid #ddd;">
<h3>Вход или регистрация через аккаунт в соцсетях: </h3>
<iframe src="https://loginza.ru/api/widget?overlay=loginza&token_url={LOGINZA_RETURN_URL}"
style="width:359px;height:200px;" scrolling="no" frameborder="no"></iframe>
</div>
</td>
<td class="row1" valign="top">
<table width="100%" cellspacing="1">
Найти
Вставить перед найденным
Код: Выделить всё
<!-- IF CAPTCHA_TEMPLATE -->
<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
<!-- ENDIF -->
Вставить перед найденным
Код: Выделить всё
</table>
</td>
</tr>
<tr>
<td class="row1" colspan="2">
<table class="tablebg" width="100%" cellspacing="1">
Всё. Теперь необходимо очистить кэш и можно пользоваться. Успешного применения мода.
Новый вариант регистрации
ставил чисто по инструкции из темы в сообщении ниже. проверил - работает.
Внимание!! при проведении запроса (как там написано) не забудьте в коде запроса поменять prefix_ на phpbb или на ваш, если у вас иной (я здесь, в описании, уже прописал стандартный).
Заходим на страничку выбора https://ulogin.ru/
Выбираем внешний вид и жмём "получить код".
На открывшейся странице выбираем phpbb и, ниже, версию 3.0.
после этого откроется страничка с пропиской кода.
нажимаем на зелёную кнопку "clone or download" и в выпавшем блоке выбираем "Download ZIP" и скачиваем.
скачанный архив распаковываем и содержимое папки root загружаем в корень форума (где файл config.php)
теперь необходимо провести SQL-запрос:
У кого сложности с проведением запроса - можно скачать скрипт-установщик
распаковать и файл db_update.php загрузить в корень форума и запустить его по адресу
после отработки удалить файл с сервера.
Теперь редактируем файлы форума:
правки для стиля prosilver:
после этого очистить кэш и можно пользоваться. после установки "заработало" сразу и багов пока не видел. в принципе ничего сложного.
успехов в установке.
Внимание!! при проведении запроса (как там написано) не забудьте в коде запроса поменять prefix_ на phpbb или на ваш, если у вас иной (я здесь, в описании, уже прописал стандартный).
Заходим на страничку выбора https://ulogin.ru/
Выбираем внешний вид и жмём "получить код".
На открывшейся странице выбираем phpbb и, ниже, версию 3.0.
после этого откроется страничка с пропиской кода.
нажимаем на зелёную кнопку "clone or download" и в выпавшем блоке выбираем "Download ZIP" и скачиваем.
скачанный архив распаковываем и содержимое папки root загружаем в корень форума (где файл config.php)
теперь необходимо провести SQL-запрос:
Код: Выделить всё
CREATE TABLE phpbb_ulogin (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` int(10) NOT NULL,
`identity` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
У кого сложности с проведением запроса - можно скачать скрипт-установщик
Вложение:
распаковать и файл db_update.php загрузить в корень форума и запустить его по адресу
Код: Выделить всё
http://ваш сайт/db_update.php
после отработки удалить файл с сервера.
Теперь редактируем файлы форума:
Открыть ucp.php
Найти
Заменить найденное на
Код: Выделить всё
$module->load('ucp', 'register');
Заменить найденное на
Код: Выделить всё
if (isset($_POST['token']) && $_POST['token'])
{
$module->load('ulogin', 'register');
}
else
{
$module->load('ucp', 'register');
}
Открыть includes/functions.php
Найти
Добавить после найденного
Код: Выделить всё
'SITE_LOGO_IMG' => $user->img('site_logo'),
Добавить после найденного
Код: Выделить всё
'ULOGIN' => urlencode( append_sid(generate_board_url() . "/ucp.$phpEx", 'mode=register') ),
'ULOGIN_SHOWN' => 'vkontakte,odnoklassniki,mailru,facebook', /* Сервисы, выводимые сразу */
'ULOGIN_HIDDEN' => 'other', /* Сервисы, выводимые при наведении */
правки для стиля prosilver:
Открыть styles/prosilver/template/overall_header.html
Найти
Добавить после найденного
Код: Выделить всё
<!-- IF not S_IS_BOT -->
<!-- IF S_DISPLAY_MEMBERLIST --><li class="icon-members"><a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}">{L_MEMBERLIST}</a></li><!-- ENDIF -->
<!-- IF not S_USER_LOGGED_IN and S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF -->
<li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x">{L_LOGIN_LOGOUT}</a></li>
<!-- ENDIF -->
Добавить после найденного
Код: Выделить всё
<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
<li style="margin-top: 5px;">
<script src="https://ulogin.ru/js/ulogin.js"></script>
<div id="uLogin" x-ulogin-params="display=small&fields=first_name,last_name,email,photo&optional=bdate,country,city&providers={ULOGIN_SHOWN}&hidden={ULOGIN_HIDDEN}&redirect_uri={ULOGIN}"></div>
</li>
<!-- ENDIF -->
Открыть styles/prosilver/template/login_body.html
Найти
Вставить после найденного
Код: Выделить всё
<!-- IF LOGIN_ERROR --><div class="error">{LOGIN_ERROR}</div><!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<dl>
<dt><label for="ulogin2">Войти через:</label></dt>
<dd>
<div id="ulogin2" x-ulogin-params="display=small&fields=first_name,last_name,email,photo&optional=bdate,country,city&providers={ULOGIN_SHOWN}&hidden={ULOGIN_HIDDEN}&redirect_uri={ULOGIN}"></div>
</dd>
</dl>
после этого очистить кэш и можно пользоваться. после установки "заработало" сразу и багов пока не видел. в принципе ничего сложного.
успехов в установке.