К содержанию

Tickets 1.3.0 требует ввести email пользователя

Василий, добрый вечер!
В последней версии Tickets обнаружила такую же проблему, как описано тут, только с использованием HybridAuth: при попытке оставить комментарий выскакивает сообщение, что не указан email. Специально проверила — в 1.2.4 такой проблемы нет.
Дарья Сизова
Дарья Сизова
15 марта 2014, 19:52
modx.pro
3 480
Реклама

Комментарии: 23

Василий Наумкин
Василий Наумкин Администратор
16 марта 2014, 07:51
В 1.2.4 была недоработка, в 1.3.0 она исправлена.

У всех пользователей MODX должен быть email.
    Дарья Сизова
    Дарья Сизова Старожил
    16 марта 2014, 10:08
    Но если в ранних версиях не было необходимости указывать email, то каким образом информация о появлении новых комментариев приходила на почту пользователям? Или приходила только тем, кто в качестве логина от соц. сети указывал почту, а не мобильный телефон? Я не сомневаюсь в необходимости email, просто не совсем понимаю, почему раньше все работало без этого.
    И второй вопрос. При авторизации через тот же VK, к примеру, я не помню там отдельного поля для email или галочки, которую нужно поставить. Или имеется в вид, что я должна сама найти в API документации, как настроить запрос email?
      Василий Наумкин
      Василий Наумкин Администратор
      16 марта 2014, 10:42
      Но если в ранних версиях не было необходимости указывать email, то каким образом информация о появлении новых комментариев приходила на почту пользователям
      Если у юзера не была указана почта — уведомлений не приходило. При всем желании, их просто некуда было отправлять.

      Я не сомневаюсь в необходимости email, просто не совсем понимаю, почему раньше все работало без этого.
      Потому что была ошибка, и email не проверялся. Сейчас ошибка исправлена, и email требуется при отправке комментария.

      И второй вопрос.
      Нужно любым способом заставить юзера указать свой почтовый ящик. Например я проверяю почту при загрузке страницы сайта, и если email пустой — отправляю на редактирование профиля.
        Дарья Сизова
        Дарья Сизова Старожил
        16 марта 2014, 15:56
        Ладно, я все поняла)
        Эту проверку на ввод email можно как-то настроить средствами HybridAuth (или другими ср-ми из админ.панели MODX)? Или нужно самостоятельно дописать плагин (как пишет Артур)?
          Дарья Сизова
          Дарья Сизова Старожил
          16 марта 2014, 16:03
          Просто я пока дошла только до единственного понятного мне способа: использовать сниппет [[!haProfile?]], чтобы отсылать пользователя в редактор своего профиля, где можно ввести email.
    Aртур Чикин
    Aртур Чикин Старожил
    16 марта 2014, 08:23
    1 заставить ввести email
    2 если нет email ввести какой нибудь произвольный.
    3 использовать только тех провайдеров которые отдают email пользователя
      Дарья Сизова
      Дарья Сизова Старожил
      16 марта 2014, 16:17
      Буду иметь это в виду. Спасибо.
      Abu
      Abu Проверенный
      17 марта 2014, 04:29
      Имхо зря смешали авторизацию через соцсети и уведомления на почту с требование мыла. Есть определенная категория которая ничего кроме одноклассников и вконтакта незнает.
        Aртур Чикин
        Aртур Чикин Старожил
        17 марта 2014, 05:42
        Для одноклассников нужно мыло, а так как одноклассники потихоньку объединяются с Моим миром то почта @mail.ru у них у всех есть. У вк все печальнее, но суть не в этом. Суть в том что Email нужен в системе не только для Tikets и желания Василия. А так решили разработчики самого MODX.
          Abu
          Abu Проверенный
          17 марта 2014, 06:19
          Глянул специально в ок, просят электронную почту или придумать логин, потом еще номер телефона вымогают. Но почта не обязательна в итоге. Да и вопрос не в том есть или нет почта, у многих есть, но ее не помнят. Особых требований от модекс, в этом плане не увидел, старая добрая логинза вроде нормально работала.
            Василий Наумкин
            Василий Наумкин Администратор
            17 марта 2014, 06:53
            Попробуй создать юзера без почты, или удалить почту у имеющегося юзера в админке.

            Требования есть, просто раньше они игнорировались и это было неправильно.

            P.S. Напоминаю, что есть анонимный режим комментирования без регистрации. А еще есть платный компонент Office, который сам требует ввести почту и другие обязательные поля профиля, автоматически.
        Дарья Сизова
        Дарья Сизова Старожил
        04 апреля 2014, 11:07
        Нашла в сети свидетельство того, что от ВКонтакта все же можно как-то получать email через API. Вот: Получение email пользователя через API Вконтакте. Пост прошлогодний, но я зашла на Афишу и авторизовалась через VK — и действительно, приложение сообщает, что получит доступ к моему email.

        Если Afisha смогла, значит и другим можно?) Или нет? Василий, что Вы думаете по этому поводу?
          Василий Наумкин
          Василий Наумкин Администратор
          04 апреля 2014, 11:11
          Я думаю, что мне без разницы.

          Мой пакет HybridAuth для MODX — это адаптация библиотеки HybridAuth для MODX. И у меня нет никакого желания переписывать эту библиотеку для получения email от Вконтакте. Так что — все вопросы к её авторам.
            Пётр Молчанов
            Пётр Молчанов Старожил
            04 апреля 2014, 14:31
            Насколько я знаю, есть сайты, у которых договоренность на счет этого с ВК и это крупные сайты :) Нам — мелким рыбешкам, такое не светит, так что остается только просить пользователя ввести мыло после авторизации
            Егор Довгалюк
            Егор Довгалюк Старожил
            13 февраля 2016, 12:21
            Добрый день. Столкнулся с аналогичной проблемой. Пользователи из VK не могут оставить комментарий, потому как hybridAuth не подтягивает их e-mail. В моем случае мне email и не нужен, авторизация сделана для организации отзывов на сайте и самый важный параметр здесь ссылка на страничку в vk. Не подскажите, как в Tickets отключить проверку e-mail?
              Воеводский Михаил
              Воеводский Михаил Проверенный
              13 февраля 2016, 13:15
              Отключать проверку не стоит. Если email точно не нужен, заполняйте его автоматически случайным значением при каждой регистрации пользователя через вк. А существующим пользователям через базу можно задать email.
                Егор Довгалюк
                Егор Довгалюк Старожил
                13 февраля 2016, 13:17
                Может быть подскажите, как можно настроить автоматическое заполнение e-mail случайным значением?
                  Воеводский Михаил
                  Воеводский Михаил Проверенный
                  13 февраля 2016, 13:18
                  Позже посмотрю, какие именно события и как вызываются, накидаю примерный код плагина.
                    Егор Довгалюк
                    Егор Довгалюк Старожил
                    13 февраля 2016, 13:34
                    Буду признателен.
                      Воеводский Михаил
                      Воеводский Михаил Проверенный
                      14 февраля 2016, 09:41
                      <?php
                      switch ($modx->event-name) {
                      	case 'OnBeforeUserFormSave':
                      		if ($profile = $user->getOne('Profile') and !$profile->get('email')) {
                      			$profile->set('email', $user->get('username').'@site.ru');
                      		}
                      		break;
                      	default: break;
                      }
                      Код не проверял.
                        Егор Довгалюк
                        Егор Довгалюк Старожил
                        14 февраля 2016, 10:25
                        Ммм… подскажите куда подключать. Попробовал дописать плагин Tickets и HybridAuth, но либо не туда, либо вовсе не так.
                          Сергей Шлоков
                          Сергей Шлоков Эксперт
                          14 февраля 2016, 10:40
                          Создаете плагин, вставляете код, отмечаете событие OnBeforeUserFormSave в списке событий и сохраняете плагин. Дописывать другие плагины не нужно. После обновления соответствующих компонентов (Tickets и HybridAuth) ваши правки будут потеряны.
                          Борис И
                          Борис И Проверенный
                          30 июля 2016, 22:49
                          Не работает, работает только так
                          <?php
                          switch ($modx->event-name) {
                          	case '1':
                          		if ($profile = $user->getOne('Profile') and !$profile->get('email')) {
                          			$profile->set('email', $user->get('username').'@site.ru');
                          		}
                          		break;
                          	default: break;
                          }
                          Только что-то не нравится мне, отсутсвие проверки, перепробовал кучу событий на user
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                23