Office 1.1.0 - улучшения авторизации
Подготовил и выпустил новую версию Office, в которую вошло множество исправлений и улучшений.
Список заказов miniShop2 теперь выглядит так:
Это промежуточная тема оформления из MODX 2.3, которую уже заменили на более новую (и яркую). В админке её как-то не очень восприняли, а вот для Office она подошла как родная!
Также сразу встроен Font Awesome 4.1.0 для вывода иконок и элементов навигации Ext JS и плоские кнопки от Bootstrap 3. На базе Office можно рисовать вот такие приятные интерфейсы:
Предыдущие версии Office предлагали очень иннвационную систему авторизации, когда нужно было только ввести свой email и перейти по ссылке из почты. Если такого ящика на сайте не было — создавался новый юзер и отправлялось письмо. То есть, даже как таковой регистрации не было.
При разработке авторизации мы исходили из следующих предположений:
Правила теперь такие:
Кстати говоря, если вам все эти новшества не по душе — вы можете просто не обновлять чанк авторизации, и всё будет работать как и раньше.
Новая версия уже установлена на нашем хостинге — можно проверять, как работает:
Если всё будет хорошо — обновлю авторизацию в сообществе и в магазине. Кстати, еще я сильно доработал чанки писем — советую их обновить, чтобы вашим пользователям было еще понятнее, что происходит с авторизацией.
Все, кто уже купил Office могут обновляться, версия хоть и бета, но работает хорошо. Кстати говоря, она уже готова для работы с miniShop2 2.1.8, про который напишу позже.
Версия 1.1.0-pl:
Список заказов miniShop2 теперь выглядит так:
Это промежуточная тема оформления из MODX 2.3, которую уже заменили на более новую (и яркую). В админке её как-то не очень восприняли, а вот для Office она подошла как родная!
Также сразу встроен Font Awesome 4.1.0 для вывода иконок и элементов навигации Ext JS и плоские кнопки от Bootstrap 3. На базе Office можно рисовать вот такие приятные интерфейсы:
Улучшение авторизации
Предыдущие версии Office предлагали очень иннвационную систему авторизации, когда нужно было только ввести свой email и перейти по ссылке из почты. Если такого ящика на сайте не было — создавался новый юзер и отправлялось письмо. То есть, даже как таковой регистрации не было.
При разработке авторизации мы исходили из следующих предположений:
- Люди не запоминают пароли. Чуть что — они просто делают их сброс через почту.
- Люди привяжут соц.сети к своей учетке — и будут входить через них, чтобы быстрее.
- Такая система очень надежна.
- Люди не запоминают даже свою почту.
- И какие соц.сервисы они привязали — тем более.
- Система действительно надежна, но далеко не всегда удобна.
- Нельзя дать временный доступ к своему аккаунту постороннему лицу
- Можно наплодить кучу левых аккаунтов, пока пытаешься вспомнить, через что ты заходил в прошлый раз?
- Заморочки с первым входом через HybridAuth, потому что не все соц.сервисы отдают почту, а она необходима для работы Office.
Правила теперь такие:
- Авторизация и регистрация разделены на две формы. Вы можете попытаться подобрать свой email не создавая новых учеток.
- При авторизации и регистрации можно использовать свой пароль.
- Помнить пароль не нужно, как и раньше. Если вы входите без пароля — он будет сброшен и вы получите письмо с новым паролем и его активацией. Если вы регистрируетесь без пароля — вы получите автоматически сгенерированный и ссылку для активации аккаунта.
- Создание новых учетных записей через HybridAuth отключено! Вы должны нормально зарегистрироваться, а потом привязать соц.сервисы к своей учетке — тогда можно входить через них. Если запись ни к чему не привязана — вы получите понятную ошибку.
Кстати говоря, если вам все эти новшества не по душе — вы можете просто не обновлять чанк авторизации, и всё будет работать как и раньше.
Новая версия уже установлена на нашем хостинге — можно проверять, как работает:
Если всё будет хорошо — обновлю авторизацию в сообществе и в магазине. Кстати, еще я сильно доработал чанки писем — советую их обновить, чтобы вашим пользователям было еще понятнее, что происходит с авторизацией.
Все, кто уже купил Office могут обновляться, версия хоть и бета, но работает хорошо. Кстати говоря, она уже готова для работы с miniShop2 2.1.8, про который напишу позже.
Обновлено 06.07.2014
Версия 1.1.0-pl:
- [miniShop2] Исправлено отображение имён продуктов в версиях MS2 ниже 2.1.8
- [Auth] В форму регистрации добавлены поля «username» и «fullname», по умолчанию. Для заполнения не обязательны.
- [Auth] Возможность использовать для входа логин вместо email.
- [Auth] При попытке входа в неактивированный аккаунт юзер получит новое письмо со ссылкой, вместо ошибки.
- [#3] [Auth] Если юзер зайдёт на форму авторизации через ссылку с параметром ?hauth_return=/url_на_сайте, то после авторизации он будет отправлен на указанный адрес.
- [#2] [Profile] Исправлено удаление свежезагруженного фото в Firefox.
- [#1] [Profile] Улучшено регулярное выражение для очистки полей профиля. Теперь поддерживаются все символы юникод, включая умляуты.
Комментарии: 110
Спасибо, за быстрое обновление, Василий! Теперь вопросов по хостингу у заказчика с авторизацией быть не должно, спасибо! Хотя, по мне так, просто логин по мейлу без пароля очень удобен, но к сожалению не на хостинге :(
логин по мейлу без пароля очень удобенСамое прикольное, что он остался — можно просто не вводить пароль и каждый раз входить по ссылке из почты.
Очень круто! Только сделал такую же авторизацию на старой версии office и тут на тебе — долгожданное обновление! :)
Очень в тему! Спасибо!
Пакет уже обновлён до последней версии: office-0.9.0-pl2Я что то делаю не так?
Всего скорей.
Если ты покупал дополнение в магазине — создай там вопрос в поддержке, разберемся.
Если ты покупал дополнение в магазине — создай там вопрос в поддержке, разберемся.
Такая же история, не обновляется. Говорит установлена последняя (1.0.0 rc2).
Создавай тикет в поддержке магазина.
Тикет это что? fkn Тикет?
Я задал вопрос в поддержке.
Ни ответа, ни привета.
Я задал вопрос в поддержке.
Ни ответа, ни привета.
Чувак, где support?
Расскажи нам тут всем, про office обновления и все такое?
Как обновляться? Как использовать штуки за $50.
Как дела вообще.
Расскажи нам тут всем, про office обновления и все такое?
Как обновляться? Как использовать штуки за $50.
Как дела вообще.
За сегодня был ровно один вопрос про Office
Если это был ты — то круто спросил, прям всю информацию выдал, чтобы я мог помочь.
Ну и я там тебе ответил, что ты купил дополнение для одного ключа, а используешь совершенно другой. Естественно, что магазин не отдаст обновление для сайта, который не покупал дополнение в магазине.
P.S. Ты сам спросил об этом публично, вот я тебе так же и отвечаю.
Если это был ты — то круто спросил, прям всю информацию выдал, чтобы я мог помочь.
Ну и я там тебе ответил, что ты купил дополнение для одного ключа, а используешь совершенно другой. Естественно, что магазин не отдаст обновление для сайта, который не покупал дополнение в магазине.
P.S. Ты сам спросил об этом публично, вот я тебе так же и отвечаю.
Чувак, я просто поменял домен вроде. Я купил и не торгую. Я не умею доказывать, что я не спиздел. Чота неработает вроде.
так ты скажи как с тобой связаться за полторы штуки, или сделай кнопку «заебись».
Я так понимаю, что ты уже получил дополнение за полторы штуки?
Для получение обновления должен быть использован ключ, для которого оно было куплено. Если не выходит его использовать — ну не судьба.
Будешь дальше продолжать поясничать — отключу от коллектива. Поддержка в магазине, а здесь — приличное сообщество.
А вообще — закусывать надо в праздники.
Для получение обновления должен быть использован ключ, для которого оно было куплено. Если не выходит его использовать — ну не судьба.
Будешь дальше продолжать поясничать — отключу от коллектива. Поддержка в магазине, а здесь — приличное сообщество.
А вообще — закусывать надо в праздники.
Это сообщение было удалено
Эй, чувак, ну где реакция?
Я те написал 40 минут назад, в свой выходной — а ты молчишь!
Нормально дела вообще.
Я те написал 40 минут назад, в свой выходной — а ты молчишь!
Нормально дела вообще.
Где-то в марте купил. Этого достаточно?
Василий, наверное нужно лично позвонить человеку и спросить как у него дела :)
точно ;)
При свежей установке подтягивает hybridAuth 0.8.6 хотя свежая версия 0.8.7
Это потому что 0.8.6 не была помечена в репозитории, как устаревшая.
Поправил, спасибо! Сейчас ты можешь просто обновить HA на 0.8.7.
Поправил, спасибо! Сейчас ты можешь просто обновить HA на 0.8.7.
Это сообщение было удалено
Мда.
Все следущие сообщения пиши в поддержку.
Все следущие сообщения пиши в поддержку.
А как добавить свои поля в форму регистрации?
Добавляю в tpl.Office.auth.login —
Добавляю в tpl.Office.auth.login —
<input type="text" name="fullname" class="form-control" value="" />
и ничего не происходит
Регистрации нужен только email и пароль. Всё остальное — в редактировании профиля.
Спасибо! Вот тебе неймется в отпуске работать)
Василий, можешь, пожалуйста, мне ответить на email по поводу разработки компонента для tickets
Не интересует, спасибо.
Почему Я всегда смотрел на office и получал чёткую ассоциацию с Microsoft office? :D Не думал, что это для авторизации.
Василий несколько вопросов по компоненту:
Можно ли сделать чтобы через соц сети могли входить только уже зарегистрированные через них, а для остальных эта возможность была недоступна?
Можно ли при регистрации делать аккаунт неактивным?
Есть ли возможность отправки одного письма при создании аккаунта и другого при его активации (насколько это сложно?)
Авторизация в несколько контекстов имеется?
Добавление в несколько групп при создании аккаунта?
Данке
Василий несколько вопросов по компоненту:
Можно ли сделать чтобы через соц сети могли входить только уже зарегистрированные через них, а для остальных эта возможность была недоступна?
Можно ли при регистрации делать аккаунт неактивным?
Есть ли возможность отправки одного письма при создании аккаунта и другого при его активации (насколько это сложно?)
Авторизация в несколько контекстов имеется?
Добавление в несколько групп при создании аккаунта?
Данке
Все дополнения можно беплатно протестировать на test.modx.pro
Если я не отвечаю в комментариях не нужно мне писать на почту, мол эй давай ответь быстро. Бесит.
Если я не отвечаю в комментариях не нужно мне писать на почту, мол эй давай ответь быстро. Бесит.
Непонятна работа с аватарами.
Например я здесь загрузил новую аватару — появилась и пропала надпись, что аватара загружена, но на экране осталась старая. После обновления страницы появилась новая аватара. Пользователю это будет непонятно и он будет загружать аватары до посинения.
Затем нажал удалить изображение — появилась и пропала надпись, что изображение удалено. Висит старое изображение даже если обновляться. Наверное не стоит вызывать некешированным photo.
Например я здесь загрузил новую аватару — появилась и пропала надпись, что аватара загружена, но на экране осталась старая. После обновления страницы появилась новая аватара. Пользователю это будет непонятно и он будет загружать аватары до посинения.
Затем нажал удалить изображение — появилась и пропала надпись, что изображение удалено. Висит старое изображение даже если обновляться. Наверное не стоит вызывать некешированным photo.
Проверь как работает вот здесь — id.modx.pro
По моему, нет проблем. Может у тебя там есть в консоли ошибки javascript? Ты посмотри, пожалуйста.
По моему, нет проблем. Может у тебя там есть в консоли ошибки javascript? Ты посмотри, пожалуйста.
Зашел с другого браузера: при удалении картинка сразу меняется. ок.
А при загрузке меняется после нажатия кнопки сохранить. Ошибок не выдаёт.
Это в Хроме.
А в firefox картинка удаляется только чисткой кэша каждый раз.
А при загрузке меняется после нажатия кнопки сохранить. Ошибок не выдаёт.
Это в Хроме.
А в firefox картинка удаляется только чисткой кэша каждый раз.
Это я на id.modx.pro всё делал.
У меня в firefox тоже работает, могу видео записать и показать.
Спасибо не надо. Видимо у меня какие-то надстройки в браузере так влияют.
Похоже, фокус в том, что если загрузить картинку в Firefox и сразу попробовать её удалить, то поле с файлом картинки не очищается, и она как-бы отправляется заново.
А в хроме очистка нормально работает. Наверное, немного юзеров будут загружать и сразу удалять картинку, но на будущее себе задачу повесил.
А в хроме очистка нормально работает. Наверное, немного юзеров будут загружать и сразу удалять картинку, но на будущее себе задачу повесил.
Я так и не понял: При загрузке изображение сразу должно меняться или после нажатия кнопки «Сохранить»?
Загрузка изображения происходит только после нажатия «сохранить».
А выбор картинки — это не загрузка, а выбор картинки.
А выбор картинки — это не загрузка, а выбор картинки.
Понял.
А как в комментариях использовать указанную в профиле аватару?
Сейчас так
Сейчас так
[[!TicketComments? &gravatarIcon=`http://сайт.ру/assets/images/enso_24.jpg`]]
<img src="[[+avatar]]" class="ticket-avatar" alt="" />
Менял на [[!+photo:default=`[[+gravatar]]?s=24&d=http://сайт.ру/assets/images/enso_24.jpg`]]
выводит 100 на 100
А как должно? У тебя же указано: вывести фото. а если его нет, то граватар размером 24х24 по такому-то адресу.
Photo грузится размером 100х100, по умолчанию — никакой дополнительной обработки у тебя нет.
Photo грузится размером 100х100, по умолчанию — никакой дополнительной обработки у тебя нет.
т.е. надо через phptrumbon чтоли обрезать? Или как логичней?
Логичнее настроить размер аватарки в CSS — указать, что этот блок 24х24.
Запускать сниппет обрезки на каждый комментарий (а их может быть очень много) просто расточительно.
Запускать сниппет обрезки на каждый комментарий (а их может быть очень много) просто расточительно.
Точно))
кажись последний вопрос: в настройках опция Email как имя пользователя — ставлю Нет все равно подставляет в Графу Имя e-mail.
Как-то не хочется светить почты пользователей, а много где username стоит как alt=«username», а может и ещё где теперь уж не вспомнить.
Может оставлять в этом поле то, что до знака @, а остальное вырезать? И имя понятное будет и почта нигде не светится.
Как-то не хочется светить почты пользователей, а много где username стоит как alt=«username», а может и ещё где теперь уж не вспомнить.
Может оставлять в этом поле то, что до знака @, а остальное вырезать? И имя понятное будет и почта нигде не светится.
Email как имя пользователя — ставлю Нет все равно подставляет в Графу Имя e-mail.Если эта опция отключена, то юзер может изменить своё имя в редактировании профиля. Оно не будет заменяться принудительно на email.
Но когда он регистрируется, username нет, поэтому туда подставляется email. Кстати говоря, можно в форме регистрации добавить поле username, тогда оно должно добавляться сразу.
Может оставлять в этом поле то, что до знака @, а остальное вырезать? И имя понятное будет и почта нигде не светится.Плагином на сохранение юзера можно делать что угодно, в том числе и менять имя.
Подумаю, возможно стоит сделать так по умолчанию.
Ещё в профиле в en контексте остаются кириллицей кнопка Обзор и надпись Файл не выбран. Где поменять не нашёл.
Смешно.
Это браузер рисует, в зависимости от языка твоей операционной системы.
Это браузер рисует, в зависимости от языка твоей операционной системы.
Ну кто ж знал :-)
А ты никогда не замечал, что чекбоксы, селекты и инпуты в разных браузерах отображаются по разному? Поле выбора файла — это как раз инпут.
Есть отдельный вид геморроя верстальщиков — сделать так, чтобы все эти элементы везде выглядели одинаково, невзирая на браузер.
Есть отдельный вид геморроя верстальщиков — сделать так, чтобы все эти элементы везде выглядели одинаково, невзирая на браузер.
Замечал, но в голове с языком как-то не связывалось
Обновись на последнюю версию, я там добавил всё, что нужно.
Описание на этой же странице, в конце заметки. Для работы username и fullname нужно обновить чанк формы авторизации.
Описание на этой же странице, в конце заметки. Для работы username и fullname нужно обновить чанк формы авторизации.
Изменения только в форме регистрации? Я её вынес на отдельную страницу просто. Вот всё содержимое чанка:
ps редирект сам будет работать или к ссылке надо дописывать hauth_return=..id…? (просто вчера сделал редирект, убирать или как?)
ps вывел чанк tpl.Office.auth.login обновленный. Заполнил все поля регистрации, тоже Пользователь не найден.
Со старым чанком тоже не работат.
<div class="row" id="office-auth-form">
<div class="col-sm-offset-2 col-md-8 office-auth-register-wrapper">
<h4>[[%office_auth_register]]</h4>
<form method="post" class="form-horizontal" id="office-auth-register">
<div class="form-group">
<label for="office-auth-register-email" class="col-md-4 control-label">[[%office_auth_register_email]]</label>
<div class="col-md-8">
<input type="email" name="email" placeholder="" class="form-control" id="office-auth-register-email" value="" />
<p class="help-block"><small>[[%office_auth_register_email_desc]]</small></p>
</div>
<label for="office-auth-register-password" class="col-md-4 control-label">[[%office_auth_register_password]]</label>
<div class="col-md-8">
<input type="password" name="password" placeholder="" class="form-control" id="office-register-form-password" value="" />
<p class="help-block"><small>[[%office_auth_register_password_desc]]</small></p>
</div>
<input type="hidden" name="action" value="auth/formRegister" />
<div class="col-sm-offset-4 col-sm-8">
<button type="submit" class="btn btn-danger">[[%office_auth_register_btn]]</button>
</div>
</div>
</form>
</div>
</div>
Заполняю всё, кроме пароля — пишет пользователь не найден. Пользователь создаётся, письмо не приходит. Или я опять чёго-то не допонял?ps редирект сам будет работать или к ссылке надо дописывать hauth_return=..id…? (просто вчера сделал редирект, убирать или как?)
ps вывел чанк tpl.Office.auth.login обновленный. Заполнил все поля регистрации, тоже Пользователь не найден.
Со старым чанком тоже не работат.
Откатил БД. Заменил контроллеры на старые — заработало.
Прокралась ошибка — поторопился я. Исправил и перезалил пакет, можно еще разок обновиться.
Редирект работает просто — нужно зайти на страницу с формой авторизации по ссылке с указанным возвратом, например:
Чтобы возвращать на текущую страницу, делаем так:
Редирект работает просто — нужно зайти на страницу с формой авторизации по ссылке с указанным возвратом, например:
http://mysite.ru/auth.html?hauth_return=/thispage.html
Чтобы возвращать на текущую страницу, делаем так:
http://mysite.ru/auth.html?hauth_return=[[~[[+id]]]]
Я прописывал
Завтра обновлюсь, спасибо.
/authorization/?hauth_return=[[*id]]
И ловил ужеif ($modx->context->key == 'ru' && $modx->resource->id == '220' && $modx->user->isAuthenticated($modx->context->key)) {
$id=$_GET['hauth_return'];
$url=$modx->makeUrl($id);
$modx->sendRedirect($url);
}
Я хз, как прописать ссылку, поэтому использую id :)Завтра обновлюсь, спасибо.
[[*id]] не совсем верно использовать, ведь юзер может уходить на авторизацию с «виртуальной» страницы, типа modx.pro/users/630/comments/.
Если указать id, то он вернётся на modx.pro/users/, а не на /users/630/comments/.
Если указать id, то он вернётся на modx.pro/users/, а не на /users/630/comments/.
А как тогда надо
[[*alias]]
?
Если включен парсер pdoTools, то можно просто
auth.html?hauth_return=/[[#request.q]]Иначе своим сниппетом выводить $_REQUEST['q'].
Понял. Спасибо.
Парсер не учитывает в каком контексте находится документ (вырезает ru/) ну это ладно.
Если пользователь уже существует выдается ошибка office_auth_err_user_exists (вместо текста)
Если при авторизации использовать Логин вместо e-mail всплывает ошибка введите e-mail.
Если не вводить логин при регистрации в username опять попадает весь e-mail.
Если пользователь уже существует выдается ошибка office_auth_err_user_exists (вместо текста)
Если при авторизации использовать Логин вместо e-mail всплывает ошибка введите e-mail.
Если не вводить логин при регистрации в username опять попадает весь e-mail.
Парсер не учитывает в каком контексте находится документ (вырезает ru/) ну это ладно.Он и не должен ничего учитывать, он выдаёт то, что запросил пользователь.
Если пользователь уже существует выдается ошибка office_auth_err_user_exists (вместо текста)В текущей версии нет такой фразы вообще нигде. А вот office_auth_err_username_exists — есть. Это или кэш, или у тебя старый контроллер.
Если при авторизации использовать Логин вместо e-mail всплывает ошибка введите e-mail.Естественно, email обязателен, там в форме и звездочка рядом с ним. Куда иначе отправлять ссылку на активацию и сброс пароля — на логин?
Если не вводить логин при регистрации в username опять попадает весь e-mail.Естественно, а что туда может попадать? Если я обрежу всё до знака @, а потом окажется, что такой username уже есть в БД — мне нужно выдать ошибку, что такой логин существует. А юзер спросит, что за фигня, я вообще не указывал никакой логин, как он может существовать?
Именно поэтому, в форме регистрации написано
Вы можете указать отдельный логин, чтобы не использовать email для входа.Не указываете — дело ваше.
Да, контроллеры не обновились почему-то
Вроде всё работает.
Не могу только понять почему в комментах аватары всегда берутся с gravatar при стандартном вызове комментариев.
В чанке
Не могу только понять почему в комментах аватары всегда берутся с gravatar при стандартном вызове комментариев.
В чанке
<img src="[[+photo:default=`[[+avatar]]`]]" class="ticket-avatar" width="24px" height="24px" />
Если выводить комменты так[[!pdoPage?
&element=`getComments`....
то аватара грузится из профиля если есть, если нет — с gravatar.
Крутяк. У всех аватарки появились. Благодарю!
После обновления что-то с языком стало:
Снимаю галку в ru контексте с подписаться на тикеты в разделе сообщение: tickets_section_unsubscribed
Ставлю галку: You will no longer receive notifications about new tickets in this section.
При этом всё работает — отписывает, подписывает. Забыл сразу отписать тк не пользовался а тут понадобилось.
Снимаю галку в ru контексте с подписаться на тикеты в разделе сообщение: tickets_section_unsubscribed
Ставлю галку: You will no longer receive notifications about new tickets in this section.
При этом всё работает — отписывает, подписывает. Забыл сразу отписать тк не пользовался а тут понадобилось.
Какая может быть связь с Office?
Никакой. Связь с Tickets modx.pro/components/3283-office-1-1-0-improve-authorization/#comment-26565
Василий, снова я :)
Не работает ручная смена пароля в профиле. Вводишь пароль — Сохранить — пишет сохранено все ок. При попытке войти выдаёт
Не работает ручная смена пароля в профиле. Вводишь пароль — Сохранить — пишет сохранено все ок. При попытке войти выдаёт
Ошибка при входе в систему: Неправильное имя пользователя или пароль. Проверьте введённые данные и попытайтесь снова.Если меняю пароль пользователю через админку, всё ок.
Судя по тому, что в БД значение пароля никак не изменяется после его сохранения в профиле, — он просто не сохраняется.
У меня все отлично работает, в успешном сообщение должен показываться новый пароль. Может, чанк старый?
Создай тикет в поддержке, укажи там сайт и доступ к админке — посмотрю, в чем дело.
Создай тикет в поддержке, укажи там сайт и доступ к админке — посмотрю, в чем дело.
Всё решили. Мой косяк.
подскажите решение проблемы
Василий, отчего может возникать такая ситуация — несколько контекстов (1,2,3), являющихся субдоменами. На всех авторизация через Офис. Авторизует на всех контекстах. Но выходит только на двух. loginCntext=`1` addContext=`2,3`. session_cookie_domain = .site.pro
Поправка — выходит только в текущем контексте.
Не хватает запятых в текстах под полями авторизации и регистрации (класс help-block).
«Если вы не помните свой пароль — просто оставьте это поле пустым и вы получите новый, вместе со ссылкой на активацию.» Нет запятой перед «и вы получите».
«Вы можете указать свой пароль, или оставить это поле пустым и тогда он будет сгенерирован автоматически.» Нет запятой перед «и тогда он».
Будет лучше без ошибок :)
«Если вы не помните свой пароль — просто оставьте это поле пустым и вы получите новый, вместе со ссылкой на активацию.» Нет запятой перед «и вы получите».
«Вы можете указать свой пароль, или оставить это поле пустым и тогда он будет сгенерирован автоматически.» Нет запятой перед «и тогда он».
Будет лучше без ошибок :)
У меня сниппет [[!officeAuth? &groups=`Users` &HybridAuth=`0`]] подключен прямо на странице тикета, что бы форма авторизации сразу отображалась, и не нужно было никуда переходить. И она корректно отображается. Но нужные js-скрипты подгружаются только первый раз после очистки кэша! То есть, если страницу обновить, то этих скриптов уже нет, и как следствие — форма отправляется не аяксом.
Если сделать этот тикет некэшируемым, все работает, как и положено.
Почему так может быть?
Если сделать этот тикет некэшируемым, все работает, как и положено.
Почему так может быть?
Тут какая-то проблема, когда [[!officeAuth]] вызывается в [[!TicketComments]]. Написал вопрос по этой теме https://modx.pro/help/5292/
Здравствуйте, а возможно ли сделать, чтобы авторизация проходила только по email? Иными словами, как сделать, чтобы при смене email в профиле, email записывался в поле логина.
Это возможно сделать маленьким плагином на событие OnUserSave или OnUserFormSave (точно не помню).
А не могли бы дать пример попробовать?)
<?php
switch ($modx->event->name) {
case 'OnBeforeUserFormSave':
if ($user->get('username') <> $user->Profile->get('email')) {
$user->get('username') = $user->Profile->get('email');
}
break;
}
Код не проверял, могут быть ошибки.
Вопрос:
Можно ли отправлять письмо о регистрации, если включить создание нового пользователя при авторизации через соц сеть?
Можно ли отправлять письмо о регистрации, если включить создание нового пользователя при авторизации через соц сеть?
Можно!
Только придётся самостоятельно написать плагин для этого на событие создания пользователя =)
Только придётся самостоятельно написать плагин для этого на событие создания пользователя =)
Спасибо, код плагина вотЖ
Заранее благодарю!
<?php
switch ($modx->event->name) {
case 'OnUserSave':
$tpl = $modx->getOption('emailTpl',$scriptProperties,'tpl.reg_user');
if ($mode == 'new') {
$message = $modx->getChunk($tpl,array_merge($user->toArray(),$user->Profile->toArray()));
$email = $modx->getOption('admin_email');
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'noreply@from.ru');
$modx->mail->set(modMail::MAIL_FROM_NAME,'Сервис уведомлений');
$modx->mail->set(modMail::MAIL_SUBJECT,'Новый пользователь');
$modx->mail->address('to',$email);
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();
}
break;
}
на что нужно заменить admin_email чтобы туда вставлялся email человека, который регнулся?Заранее благодарю!
Добрый вечер! Пытаюсь понять нужен ли мне Office.
Есть ли возможность добавить кучу своих полей (не по умолчанию) в личный кабинет? Или нужно писать свое дополнение с отдельной таблицей пользователей? Речь идет о юридических лицах, у которых будет много данных (ИНН, КПП, адрес и т.д. + возможность загружать документы).
Есть ли возможность добавить кучу своих полей (не по умолчанию) в личный кабинет? Или нужно писать свое дополнение с отдельной таблицей пользователей? Речь идет о юридических лицах, у которых будет много данных (ИНН, КПП, адрес и т.д. + возможность загружать документы).
Ну вот id.modx.pro — это Office.
Если не нужна будет фильтрация потом по этим параметрам, то всё делается из коробки.
Загружать документы — это в любом случае что-то придумывать, но с Office мне это не кажется сложным.
Если не нужна будет фильтрация потом по этим параметрам, то всё делается из коробки.
Загружать документы — это в любом случае что-то придумывать, но с Office мне это не кажется сложным.
Я не совсем поняла — можно будет добавить сколько угодно своих полей? Помимо тех, что из коробки? И как быть с загрузкой и хранением файлов? Это можно там организовать или есть другое дополнение для этого? Пока фильтрация вроде не нужна.
Полей можно добавить сколько угодно.
Для загрузки и привязки файлов к юзеру придётся что-то программировать. Я таких готовых дополнений не знаю.
По идее, это решается несложным плагином на сохранение профиля.
Для загрузки и привязки файлов к юзеру придётся что-то программировать. Я таких готовых дополнений не знаю.
По идее, это решается несложным плагином на сохранение профиля.
У Uploadify нет такой возможности? Отображать в личном кабинете файлы, которые загрузил сам пользователь? Или у него нет интеграции с Office?
Нет, Uploadify нужен несколько для другого.
Я когда писал, что
Я когда писал, что
таких готовых дополнений не знаю— не шутил. Действительно, ничего такого не знаю.
Василий, а где можно почитать про удаленную авторизацию как на modx.pro? У Office есть 2 сниппета — officeRemoteAuth и officeRemoteServer. Видимо как раз для этого. А как они работают нигде не описано.
О, спасибо. А я уже привык на docs.modx.pro сразу лезть, если тут ничего не нашёл.
Для Office только недавно начал собирать все заметки, еще не закончил.
И ещё вопросик… На modx.pro и id.modx.pro профили одинаковые. Они синхронизируются или один подгружается из другого?
Это один сайт.
На других синхронизируются при логине.
На других синхронизируются при логине.
Ясно. Т.е. это просто другой контекст. А bezumkin.ru профиль показывает с id.modx.pro.
Нет, при авторизации bezumkin.ru создаёт или обновляет юзера у себя, и дальше работает с ним, родными механизмами MODX.
В случае смены модели авторизации ничего не сломается и никто не потеряется.
В случае смены модели авторизации ничего не сломается и никто не потеряется.
Странно, у тебя написано
Войти через id.modx.proи когда авторизуешься, при нажатии на «Настройки» профиля перекидывает на id.modx.pro
Поэтому такую авторизацию и называют «удалённой».
Но это не отменяет того факта, что юзер создаётся на каждом сайте и тот логинит его уже сам.
Центр авторизации только подтверждает правильность логина и пароля, и выдаёт информацию из профиля.
id.modx.pro не может авторизовать тебя на bezumkin.ru, понимаешь? Это может сделать только сам bezumkin.ru, а для этого у него должен быть такой юзер.
Но это не отменяет того факта, что юзер создаётся на каждом сайте и тот логинит его уже сам.
Центр авторизации только подтверждает правильность логина и пароля, и выдаёт информацию из профиля.
id.modx.pro не может авторизовать тебя на bezumkin.ru, понимаешь? Это может сделать только сам bezumkin.ru, а для этого у него должен быть такой юзер.
Кстати говоря, если вам все эти новшества не по душе — вы можете просто не обновлять чанк авторизации, и всё будет работать как и раньше.Как быть, если я впервые поставил office уже с новыми чанками и эти новшества мне не по душе? :-) Хочу как на makimaki.ru, чтоб только email. Может где-то остался код старого чанка авторизации?
Просто форма с одним email, без пароля — вот так:
<form action="" method="post">
<input type="hidden" name="action" value="auth/formLogin"/>
<h4>Вход</h4>
<div class="form-group">
<input type="email" name="email" placeholder="email">
</div>
<button class="btn btn-success">Отправить</button>
</form>
Сработало так:
<div class="row" id="office-auth-form">
<form method="post">
<input type="hidden" name="action" value="auth/formLogin"/>
<h4>Вход</h4>
<div class="form-group">
<input type="email" name="email" placeholder="email">
</div>
<button type="submit" class="btn btn-success">Отправить</button>
</form>
</div>
Но как сделать, чтоб тут же регистрировался пользователь, email которого не найден?
Попробуй просто убрать
<input type="hidden" name="action" value="auth/formLogin"/>
Работает, спасибо.
Теперь я хочу вызвать окно, для подтверждения регистрации нового пользователя. Как я понял нужно пилить js и там менять auth/formLogin на auth/formRegister если пользователь не найден. Как лучше поймать этот момент?
Теперь я хочу вызвать окно, для подтверждения регистрации нового пользователя. Как я понял нужно пилить js и там менять auth/formLogin на auth/formRegister если пользователь не найден. Как лучше поймать этот момент?
if (response.message = 'Пользователь не найден') {...}
Можно лучше?
А есть ли механизм восстановления пароль пользователем? Просто искал не нашёл… Очень часто спаршивают и вот нужно сделать…
Есть, если оставить поле пароля пустым в форме логина, при нажатии на Вход на почту придёт новый пароль и ссылка активации.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.