uLogin - не извещает о конфликтах

Главные вкладки

Аватар пользователя Shizuku Shizuku 8 июля 2013 в 1:50

Если через uLogin пытается авторизоваться пользователь с email, которое уже есть в базе - не пускает (это понятно), и никак не сообщает почему не пускает (а вот это печалька). Судя по комментам в различных обсуждениях uLogin должен выводить сообщение с ошибкой и рекомендациями пользователю. Я сбегал в админку модуля, потыкался - ничего не нашел по теме.
Почему не информирует в конфликтной ситуации? Или так надо, и теперь обработка таких вещей ложится на нас?

Комментарии

Аватар пользователя Shizuku Shizuku 8 июля 2013 в 5:02

"kosHta" wrote:
Когда регается юзер с уже существующим мылом в базе, Дру в красненькой полоске вежливо пишет

Нету такого! Честно. Drupal 7.22
Пошел сейчас даже errors.log сервера глянул - всё чисто. В системном журнале Drupal - тоже ничего! Никаких ошибок, все как бы как надо цивилизованно... А войти с дубликатом email нельзя, и никакого сообщения об этом не выскакивает.

Аватар пользователя Shizuku Shizuku 8 июля 2013 в 5:04

"kosHta" wrote:
попробуй разрешить дублирование мыла

Пробовал. Пользователь молча регистрируется с дубликатом мыла, сообщений не возникает (и не должно) - это не мой случай

Попробовал установить модуль на другом хостинге: всё работает! Значит буду удалять, чистить базу, пробовать устанавливать заново...

Аватар пользователя Shizuku Shizuku 8 июля 2013 в 10:25

Удалил uLogin полностью, все почистил, установил - та же проблема! Оповещения не работают! Что такого необычного может быть на сайте, что на одном хостинге работает, а на втором - нет?!

Не знаю, что и думать... Полез в базу выполнил CHECK TABLE  `users` - вроде все нормально... Что не так?

Аватар пользователя Shizuku Shizuku 8 июля 2013 в 16:52

"duozersk" wrote:
Кэш страниц для анонимов?...

Я делал это admin/config/development/performance - не помогло. Или вы про что?
"Кэшировать страницы для анонимных пользователей" - не стоит.

Аватар пользователя duozersk duozersk 8 июля 2013 в 16:52

Я про то, что на закэшированных страницах не показываются сообщения, добавленные через drupal_set_message(); а показываются страницы из кэша, без всяких сообщений.

Аватар пользователя Shizuku Shizuku 10 июля 2013 в 20:51

Какие еще идеи?

Ничего не изменилось, даже когда я прописал для своего ip в settings.php:

if (in_array($_SERVER['REMOTE_ADDR'], array('my_ip'))) {
  $conf['cache'] = FALSE;
}

Потестил drupal_set_message(); отдельно, в блоке - срабатывает норм.

Поставил Drupal в чистую базу, на том же хостинге. Из сторонних модулей включил один uLogin. - Оповещения работают!
При этом модуль абсолютно самостоятельно, без Rules, вытянул и установил в учётку фотку и мыло! Ничего не понимаю... Сейчас буду по одному модулю или удалять или ставить, пока не станет ясно.

Теперь на рабочей базе такой же список модулей как и на тестовой. На тестовой uLogin оповещает, а на рабочей по прежнему нет.
Почистил таблицу users и все cache* вручную, зарегал новых пару - через соцсети. Не помогло... Думаю, что еще сделать. Ставить все на чистую базу? Так это нехило работы... Как я столько пользователей, настроек и материалов накручу?

Ну, мы работы не боимся! Развернул чистую базу, и вручную, потаблично вливаю информацию. Уже восстановлены все пользователи, материалы, комментарии, формы, и основная часть из модулей, в том числе uLogin. Пока что и работает, и оповещает! Продолжаю восстанавливать... Узнал много чего нового о базе изнутри, исправил несколько отклонений от "контрольной" базы в содержимом полей, серьезно "просеял" users, кэши вообще очистил, а роли выставляю заново, ручками. На очереди небольшая темизация шаблона... Может в нем где клин торчал? Что-то мне подсказывает, что я так и не узнаю, почему бастовал uLogin.

Аватар пользователя duozersk duozersk 10 июля 2013 в 22:45

Похожая проблема - https://drupal.org/node/2038573 - тоже чел не видел сообщений. Оказалось, что-то очищает стек сообщений...
Если у вас не работали фичи подгрузки аватарки и мыла - скорее всего какой-то код (другой модуль, правило в Rules, или ещё что) делал редирект на hook_user_insert()... чего делать нельзя (то есть можно, но чревато вот такими осложнениями с отсутствием аватарки или подобными).

Аватар пользователя Shizuku Shizuku 11 июля 2013 в 1:48

"duozersk" wrote:
но чревато вот такими осложнениями с отсутствием аватарки или подобными

А как объяснить вот такую штуку (см. на фото)?

И еще один прикольный баг с аватарами. На google.com, как известно, могут работать и другие аккаунты... Например, почта mail.tut.by работает на движке google, т.е. все *@Tut.by получают аккаунты на google, но с хитровывернутой привязкой к другому домену.
Так вот. Если юзер сидит не в одном аккаунте Google, а в двух или трех - uLogin берет имя пользователя из первого, фамилию - из второго, а фотку как бы... см. скрин выше, как. И точно такую из Яндекс дергает! А вот из Mail.Ru нормально берет, и из Google тоже - если сидеть только в одном аккаунте.

Аватар пользователя duozersk duozersk 11 июля 2013 в 10:14

Такие аватарки возвращает сам сервис uLogin, если соц сеть не вернула никакой картинки. Модуль с этим боролся http://drupalcode.org/project/ulogin.git/blob/refs/heads/7.x-1.x:/ulogin... но видимо сервис поменял ссылки на эти заглушки.
Что до множества аккаунтов - то модуля это точно не касается. А как с ними работает сервис - это нужно с ними обсуждать.