Представляем вам долгожданный модуль OpenID авторизации на сайтах работающих на движке DataLife Engine.
Модуль использует Loginza.API, позволяет авторизироваться с помощью следующих систем: Google, Yandex, Mail.Ru, VKontakte, Facebook, Twitter, Loginza, myOpenID, WebMoney, Rambler, flickr, last.fm, OpenID, Mail.Ru OpenID, VeriSign, AOL, Steam.
Преимущества модуля от TCSE- Ссылка на авторизацию работает не только из шаблона
login.tpl, но так же из
fullstory.tpl,
addcomments.tplЭто позволяет авторизоваться при просмотре комментариев, и что не маловажно, после авторизации откроется именно страница на которой вы хотели оставить комментарий.
- Внешнее оформление информации о возможной авторизации через OpenID может быть абсолютно иным, так как это просто ссылка на вызов виджета Loginza.
Принцип работы следующий:- Пользователь нажимает на ссылку с текстом "Войти через OpenID" (или любым другим), затем на экране появляется окошко от Loginza.
- В окошке пользователь может выбрать подходящий способ авторизации.
- После того, как Loginza присылает ответ, на сайте либо создаётся аккаунт на основе данных, переданных OpenID сервисом, либо просто происходит авторизация, если аккаунт уже существует.
- Создание аккаунта происходит автоматически, от пользователя не требуется никаких действий. Если OpenID сервис предоставляет ссылку на аватар, он будет загружен и уменьшен.
- Если OpenID сервис прислал e-mail пользователя, на него отправляется сообщение с учётной записью пользователя (логин, сгенерированный пароль).
- Шаблон сообщения редактируется в админпанели в разделе "Шаблоны E-Mail сообщений".
- Все пользователи, авторизированные с помощью Loginza, попадают в группу, которую можно выбрать в админпанели в разделе "Настройки системы" ("Настройки пользователей").
вниманиепо умолчанию если вы не выбрали группу для авторизованных через OpenID они будут попадать в группу номер 1 т.е. в админы сайта.
- Сохраняется возможность стандартной регистрации и авторизации.
- Подробнее о системе Loginza можно прочитать на их официальном сайте: http://loginza.ru/
- Добавлена отдельная инструкция для установки (или обновления модуля) на ДЛЕ 9.4 (так же полностью подходит для ДЛЕ 9.5, 9.6 и 9.7)
- Добавлена работа ссылки на авторизацию из шаблона
fullstory.tplТеперь установить форму вызова авторизации можно в трех разных местах:
в шаблоне панели авторизации - login.tpl
в шаблоне добавления комментариев - addcomments.tpl
в шаблоне полной новости - fullstory.tpl
- Для произвольного вывода необходимых провайдеров OpenID вместо стандартной ссылке
<a href="https://loginza.ru/api/widget?token_url={token}" class="loginza">Войти через OpenID</a>
можно использовать
<a href="https://loginza.ru/api/widget?token_url={token}&providers_set=vkontakte,mailruapi,yandex">Войти через OpenID</a>
Мы рады представить вам обновление популярного модуля авторизации OpenID для сайтов на основе DLE
Новая версия модуля специально разработана для ДЛЕ 9.2 и выше.
Протестирована работа на 9.3
Нововведения:- - Исправлена проблема при которой после авторизации посетитель перенаправлялся на главную страницу сайта. Теперь авторизованный посетитель возвращается на страницу от куда осуществлял вход.
- - Добавлена поддержка работы модуля не только в шаблоне login.tpl но так же и для шаблона addcomments.tpl.
Таким образом теперь можно разместить форму авторизации по OpenID непосредственно в шаблоне добавления нового комментария.
- - Обновлена инструкция по установке.
что бы работал тег авторизации в полной новости открыть
/engine/modules/show.full.phpнайти:
$tpl->set( '{comments}', "<!--dlecomments-->" );
ниже добавить:
$tpl->set( '{token}', 'http://' . $_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI'] );
как реализовать предупреждение о необходимости авторизации в полной новости:
в шаблоне /fullstory.tplв том месте где выводятся комментарии (обычно после "Похожие новости" {related-news} )
добавить:
[group=4,5]<div class="quote">Что бы оставить комментарий, Вам необходимо авторизоваться. <br>Для этого Вы можете войти используя: <a href="https://loginza.ru/api/widget?token_url={token}" class="loginza"><img style="border: 0px none;" src="http://loginza.ru/img/providers/yandex.png" alt="Yandex" title="Yandex"> <img style="border: 0px none;" src="http://loginza.ru/img/providers/google.png" alt="Google" title="Google Accounts"> <img style="border: 0px none;" src="http://loginza.ru/img/providers/vkontakte.png" alt="Вконтакте" title="Вконтакте"> <img style="border: 0px none;" src="http://loginza.ru/img/providers/mailru.png" alt="Mail.ru" title="Mail.ru"> <img style="border: 0px none;" src="http://loginza.ru/img/providers/twitter.png" alt="Twitter" title="Twitter"> </a></a></div><br />[/group] {addcomments}<br />{comments}{navigation}
для работы но версии 9.2 придеться внести несколько правок в инструкцию.
вместо:Открыть в текстовом редакторе файл "
engine/init.php"
Найти:include_once $tpl->dir . '/login.tpl';
ВЫШЕ добавить:$token = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
достаточно строку:
$token = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
поставить в начало файла "
engine/init.php"
Открыть файл engine/modules/sitelogin.phpНайти:$is_logged = false;}}elseif( isset( $_POST['token'] ) ) {
Заменить на:$is_logged = false;}}}elseif( isset( $_POST['token'] ) ) {
Найти:}}if( isset( $_POST['login'] ) and !$is_logged AND $allow_login) {
Заменить на:}if( isset( $_POST['login'] ) and !$is_logged AND $allow_login) {
вместо:Вставить ниже в нужное место: (это ссылка, по нажатию на которую пользователю откроется окно Loginza с выбором метода авторизации)
<a href="https://loginza.ru/api/widget?token_url={$token}" class="loginza">Войти через OpenID</a>
вместо {$token} также ставите адрес своего сайта например http://site.ru/
кроме этого в самой ссылке на вызов виджета Логинзы можно указать список именно нужных для вас провайдеров OpenID
например
<a href="https://loginza.ru/api/widget?token_url=http://www.handbookbride.ru/&providers_set=vkontakte,mailruapi,yandex,google,twitter,facebook,rambler" class="loginza">Войти через OpenID</a>
где пользователям будет предложено авторизироваться через Вконтакте, Мейл.РУ, Яндекс, Гугл, Твиттер, Фейсбук или Рамблер
Для покупки модуля свяжитесь с администрацией сайта
через форму заказа
10 Комментарии