Плагин ULogin 2.0 (склейка профилей)

3444
Приветствую!

Немного помучившись с реализацией (даже на сайте ulogin.ru соответствующее демо не работает), добился-таки склейки профилей. Каждый юзер может приклеить к своему аккаунту несколько социалок и затем входить на сайт, не вводя пароль, а используя авторизацию в соответствующей социальной сети.


Инструкция:

1. разархивировать в корень сайта
2. если включен старый плагин p_ulogin - отключить
3. установить и включить плагин p_ulogin2
4. (для тех, у кого не стоял до этого p_ulogin) Добавить в то место шаблона, где нужно вывести авторизацию через соц сети код
Код PHP:
  1. <?php cmsCore::callEvent('ULOGIN_BUTTON', array()); ?>
(большие кнопки) либо
Код PHP:
  1. <?php cmsCore::callEvent('ULOGIN_BUTTON_SMALL', array()); ?>
(маленькие кнопки)
5. стиль всплывающего окна можно настроить в файле includes/jquery/jnotifier.css

При регистрации через соц. сеть, пользователю прилетает личное сообщение с логином-паролем + письмо на электронку. Формат письма можно настроить в файле includes/letters/registr.txt (есть в архиве).

Авторизация через ulogin реализована на аяксе. Обновление страницы происходит только после успешного входа на сайт.

Ошибки, недочеты и тд - пишите в комментариях.

Демо
Скачать
"Лента активности" 2.0 | Регистрация 2.0 (платная доработка)
Комментарии (51)
SpideR 10 октября 2012 в 21:14 +1
Спасибо Sjen за плагин!

Большой + за ваши старания.
Василий.В 10 октября 2012 в 21:36 0
Может я и не прав
Но мне кажется что было бы лучше
если бы ULogin 2.0 появлялся бы при нажатии кнопки регистрация
а не на вход
SJen 10 октября 2012 в 21:40 0
Это как вам больше нравится - вы же можете вставить код куда угодно - и на страницу входа, и на страницу регистрации, и на страницу "забыли пароль". Надо всего-лишь добавить код в свой шаблон.

У меня на демо сайте своя схема.. Если вы заметили - там окно входа всплывающее. Когда я сделаю регистрацию так же - тогда и добавлю туда социалки. Но для демо сайта это не самое важное)
Василий.В 10 октября 2012 в 22:11 0
вполне свами согласен.++++++
Def 10 октября 2012 в 21:50 +2
странно, на мэилру вошел норм. через вк выдало {"error":"invalid_request","error_description":"Security Error"}
Def 10 октября 2012 в 21:53 0
а как сделать всплывающим тоже?)
Def 10 октября 2012 в 21:56 0
еще один важный ньюанс. Лучше не давать регать сразу, ибо через гугл и мэил сразу они отдают почту, в связи с чем регаются два профиля.

лучше спрашивать у улогина ВЕЗДЕ мыло, и после ввода уже определять
SJen 10 октября 2012 в 22:30 0
{"error":"invalid_request","error_description":"Security Error"}
похоже на ошибку на стороне ulogin'a.. точно не скажу пока

а как сделать всплывающим тоже?)
ну если в двух словах - то используя jnotifier. Ну а если не "в двух", то это тема еще для одного поста glasses

еще один важный ньюанс.
А вот тут не совсем понял - я ведь и спрашиваю мыло везде, где оно не указано. А там уже решаем - регать или нет.
Def 10 октября 2012 в 22:38 0
А вот тут не совсем понял - я ведь и спрашиваю мыло везде, где оно не указано. А там уже решаем - регать или нет.

так вот некоторые соцсети типо мэила и гугла отдают свои мыла по умолчанию, а если ты регал профили на разные мыла, то у тебя автоматом будет 2 разных профиля, ибо система не найдет мыло другой соцсети.

поэтому лучше ВСЕГДА, даже если соцсеть отдает мыло уточнять его еще раз.
SJen 10 октября 2012 в 22:46 0
ясн, понял
хотя как-то по-издевательски выглядит спрашивать мыло еще раз, сразу после того как человек его только что ввел(например для вконтакте). Или только для гугла-мэйла сделать подтверждение - вот это можно.
Def 10 октября 2012 в 23:10 0
можно и так)
Thanatognozija 10 октября 2012 в 22:58 0
В хроме не работает, выкидывает и получается белая страница, после которой приходится удалять историю и куки какие-то... :((
Def 10 октября 2012 в 23:01 0
я в хроме и тестил, все гуд
SJen 10 октября 2012 в 23:05 0
в хроме через МойМир зашел без проблем, через вконтакте не получилось - но там ошибка было у юлогина (в его окне).
А у вас с каким провайдером не получилось?

И про "историю и куки" - это вы сами решили, что надо удалять или где-то было такое сообщение?
Thanatognozija 11 октября 2012 в 00:37 0
Пробовал два раза, эффект одинаковый... Я испугался, начал удалять кэш на фтп а потом спросил у людей, у них сайт работает, посмотрел в другом браузере - работает, следовательно кеш, или куки... Еще, при входе в админку тоже белый экран и адрес сайта стал такой адрес сайта/404 вот, я вообще понял, что папка стерлась... :(( полез в фтп, но она на месте... ох... ну, говорю как есть...
SJen 11 октября 2012 в 05:14 0
ясно, посмотрю что может привести к такой ситуации.

А вы не пугайтесь - папки все на месте, ничего не стиралось. Но по какой-то причине(разберусь - напишу) в сессиях и кукисах записался неправильный ID пользователя или пустой.. Сайт работает, проблема только у вас в браузере. Если открыть параллельно другой браузер - там все будет работать.

В общем спасибо, буду искать где там что не так..
CozaNostra 11 октября 2012 в 09:53 0
+
platon 11 октября 2012 в 10:33 0
Что это значит? Когда авторизуются, по крайней мере я пробовал через одноклассники, пишет goodwork и пустая страница, жмешь на стрелку назад и все гуд вроде как авторизован...
SJen 11 октября 2012 в 10:57 0
попробуйте у меня на демо повторить то же самое.

Если у меня ошибок не будет - значит проблема на вашей стороне, если скажете сайт - посмотрю. Ну а если и у меня такое увидите, буду искать косяк..
platon 11 октября 2012 в 10:34 0
пока оставил старый ulogin
SJen 11 октября 2012 в 10:53 0
проверьте файл u.js - он у вас точно есть? - ето его задача обрабатывать то, что приходит ("goodwork") и реагировать - в данном случае обновлять страницу.

Ну или кидайте в личку сайт, посмотрю.
platon 11 октября 2012 в 11:23 0
сайт написал в личку
sotastroy 11 октября 2012 в 11:17 +2
Было бы здорово, если бы разработчики проверили и добавили этот плагин вместо логинзы в следующие версии InstantCMS.

Кто за - ставьте плюс. Мертвая логинза нам не нужна.
SJen 11 октября 2012 в 12:10 0
Если разработчики будут проверять каждый плагин(кем-либо написанный) - то о новых релизах самого ИнстантСМС можно будет забыть. Я и выложил плагин в свободное скачивание, чтобы все заинтересованные могли проверить и если есть ошибки - то написать мне.
sotastroy 11 октября 2012 в 14:15 0
Словом "Проверять" я не хотел обидеть вашу разработку не в коем случае, но без этого её врятли добавят. Логинза плоха как и и стандартный Ulogin - нет склейки профилей с одинаковым мылом. Можно зайти в разных социалок и будет столько же профилей с одинаковым emailом, а он должен быть все таки основным средством авторизации. А если и правда работает "письмо на электронку с логином и паролем" то вообще отлично. Как проверю, обязательно отпишу, этот функционал очень нужен на любом сайте.
SJen 11 октября 2012 в 14:22 0
Нет, что вы - какие обиды. Я просто реально не представляю, как R2 или Fuze будут целыми днями проверять сторонние плагины, тестировать их)

Тут гораздо проще сделать это сообществом - вот уже скачали 32 человека, проверят у себя. Кто-то может найдет какую-то проблему и через пару дней/может неделю уже все "выловим" и поправим - будет рабочий и стабильный плагин.
OldSchool 11 октября 2012 в 13:08 0
А чем Loginza не угодила? Всё те же соцсети + еще кучка ненужных, которые можно откинуть... Всё тоже всплывающее окно...
SJen 11 октября 2012 в 13:24 +1
логинза работает только через редирект, не умеет забирать большой аватар из соцсети
OldSchool 11 октября 2012 в 13:45 0
Не с целью рекламы) По сервисам больше! С редиректом верно из-за безопасности, насчет аватарки конечно не сильно заморачиваюсь) Из минусов не добавляет к профилю... В любом случае Вам однозначно +, тем более что разработчики оперативно сделали для ICMS уже...
Возможность альтернативы всегда была на пользу всем, тем более бесплатно... Спасибо
SJen 11 октября 2012 в 14:19 0
С редиректом верно из-за безопасности
Да ладно, причем тут безопасность?) Просто так проще, а у юлогина два варианта - с редиректом и без.
onix 11 октября 2012 в 12:02 0
можно как то его вклинить в модуль авторизации пользователей, что бы ниже авторизации были окошко з соц. сетями?
SJen 11 октября 2012 в 12:15 0
попробуйте, надо вставить код в шаблон модуля.
Код PHP:
  1. {php}cmsCore::callEvent('ULOGIN_BUTTON', array());{/php}
сейчас не могу это проверить, вечером только доберусь
VopisUVD 11 октября 2012 в 22:09 0
Много раз писал что это нужно для логинзы и вот случилось но не для ее
вот тема http://instantcms.ru/forum/thread9078.html#70608

Однозначно плюс, но нужно обязательно расширить функционал...
SJen 13 октября 2012 в 07:27 0
а куда расширить? - тему про логинзу прочитал. В моем варианте дублированные профили не создаются - и не важно с какой социалки заходит человек.

Единственное условие склейки - это совпадение электронной почты. Если человек пользуется разными электронками - то и профили будут разные. Это можно исправить, доберусь как-нибудь. Ну а на текущий момент я без проблем захожу через любую из социалок и попадаю в свой аккаунт - он в базе ОДИН, никаких дублей.
Dorimen 14 октября 2012 в 11:50 0
В ленту добавляет уведомление о том, что юзер зарегался?
SJen 14 октября 2012 в 12:12 0
в ленту событие
на электронку письмо с логином-паролем
Dorimen 16 октября 2012 в 02:15 0
Вот вроде и хороший компонент, но как-то стремно сделан. sad Ставишь и есть ощущение, что-то не так. sad Буду использовать старую логинзу, хоть и кривая в некоторых местах (нет склейки, отправки на почту и в ленту).
SJen 16 октября 2012 в 03:49 0
это не компонент, это плагин.
Если вы не против, что для каждого пользователя логинза создает несколько аккаунтов(под каждую социалку по аккаунту) - то и не нужно ставить. Это на любителя. Да и аватарки дергает маленькие, которые растягиваются и смотрятся просто забавно)
Dorimen 16 октября 2012 в 07:58 0
нет, я, конечно, против, чтобы дубли создавались и все такое smile почему во всплывающем меню когда там просят например ввести пароль от аккаунта, нет кнопки для вперед, а просто слово, которое то ли нажать надо, то ли нет - оно как бы не кнопка. :)
SJen 16 октября 2012 в 08:07 0
потому что руки не дошли стили поправить glasses
Готовлю доработку, в ней выложу с поправками. И кнопку и обработку по клавише enter, и верификацию мыла.

Но на самом деле стили то можно уже на конкретном сайте под себя поправить - фон, обводку окошек и тд.
Dorimen 16 октября 2012 в 10:41 0
Ну подождем пока плагин "допилится" :)
Igor 7 ноября 2012 в 12:32 0
А как будет проходить регистрация при установлении модуля знакомств (поженятся ли улогин с модулем?) http://instantcms.ru/blogs/instantlab/modul-znakomstva-dlja-instantcms-obnovlenyi.html
SJen 7 ноября 2012 в 13:29 +1
юлогин и ваш модуль - абсолютно независимые друг от друга вещи.
Как они должны пожениться?)
Igor 7 ноября 2012 в 13:57 0
(: просто модуль предусматривает: "При регистрации пользователь обязан выбрать пол и место жительства (через выпадающий иерархический список Страна-Область-Город)."
плагин поставил - не все протестил, но то что видел работает на ура! теперь хочу купить этот модуль - вот и думаю как будет населенный пункт участвовать в их взаимоотношениях (:
SJen 8 ноября 2012 в 23:05 0
все просто
после регистрации через юлогин нужно дополнительно запрашивать город и пол
точно так же - как я запрашиваю пароль от другого логина при совпадении электронки

но я не прописывал запрашивание каких-то доп полей, это надо делать - особо сложного ничего нет
fact 8 ноября 2012 в 22:21 0
на 1.10 у меня не хочет отображаться и даже более того ломает вывод инстант видео
Владимир 4 декабря 2012 в 03:00 +1
В файле jnotifier.css вместо
Код CSS:
  1.  
  2. #auth_form tr,td{
  3.  
  4. padding:5px;
  5. }
  6.  
по-видимому имелось ввиду
Код CSS:
  1.  
  2. #auth_form tr, #auth_form td{
  3.  
  4. padding:5px;
  5. }
  6.  
alfaclub 7 декабря 2012 в 10:13 0
1.9
Пропала вкладка Ulogin в профиле пользователя.
Как привязать теперь профиль к соц сетям?
Alex9 29 января 2013 в 20:53 0
Присоединяюсь к вопросу. После установки плагина вкладка с соц сетями в профиле пользователя не появилась.
Рома 20 марта 2013 в 21:28 0
на 1.10 не идёт
fact 24 марта 2013 в 21:49 0
ахтунгально