Запрос к БД при регистрации

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
1.5.2

Jimo

Заблокирован
Сообщения
81
Реакции
-1
Баллы
705
Доброго дня всем. У меня имеется несколько серверов, и появилась необходимость при регистрации нового пользователя( на ксене), добавлять все введенные им данные во 2 БД( тут стоит другой движок, не ксен).
Собственно 2 вопроса важных.
1. Помогите разобраться, где( в каком файле) идет запрос на вставку данных при регистрации пользователем и смене пароля/мыла?
2. Есть ли плагин, который добавляет при регистрации дополнительное поле с телефоном.
 
Последнее редактирование:
Смотря откуда и куда. Пора и обновляться с такой старой версии

С ксена в другую бд. После того, как пользователь заполнил все поля, и если нет ошибок, то идет запрос INSERT "имя, пас, мыло и тд". Вот после этого запроса хочу сделать аналогичный, указав адрес сервера( куда пойдет коннект) и саму БД с нужной таблицей.
 
По аналогии только расширяем в 1 ветки датаврайтер, создаём подключение к бд и пишем. А ещё лучше прыгнуть от сервиса за регистрацию, не помню как в 1.5 это было точно. При этом на втором движке должно принимать пароли вида bcrypt, или настроить одинаковый хеш в XF или написать свой сервис хеширования и указать в config.php, пример для argon2id:
PHP:
$config['auth'] = [
   'algo' => PASSWORD_ARGON2ID,
   'options' => [
      'memory_cost' => 1<<17,
      'time_cost' => 4,
      'threads' => 2
   ]
];
только указываем свой кастомный алгоритм, отнаследовавшись от AbstractAuth
 
Не, так это плагин какой-то. А мне бы узнать, в какой файле запросы находятся. Что бы вручную дописать дополнительные. Ну т.е напрямую, без всяких плагинов.

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

А что на счет 2 вопроса?
Никто вам не будет здесь объяснять как делать без плагина, да и тем более по первой ветке. И один вопрос - одна тема, однако решается всё дополнительными полями в админке.
 
Это пример создания плагина, так делается похоже и на 1 ветки. Прямые правки в движок запрещено делать. Но а так /library/XenForo/DataWriter.
Дополнительное поле - дополнительные поля пользователей admin.php?custom-user-fields/
 
Никто вам не будет здесь объяснять как делать без плагина, да и тем более по первой ветке. И один вопрос - одна тема, однако решается всё дополнительными полями в админке.

Объяснять я и не прошу, только указать файл, в котором запросы все хранятся.

п.с Если самому не получится решить даный вопрос, есть тут знающие люди, с которыми можно будет договориться в решении этих вопросов за отдельную плату?
 
Объяснять я и не прошу, только указать файл, в котором запросы все хранятся.

п.с Если самому не получится решить даный вопрос, есть тут знающие люди, с которыми можно будет договориться в решении этих вопросов за отдельную плату?
Вы можете попробовать создать тему в разделе поиске исполнителя, однако по первой ветке можно и не найти людей. Она более не поддерживается, да и работать с ней такое себе
 
Это пример создания плагина, так делается похоже и на 1 ветки. Прямые правки в движок запрещено делать. Но а так /library/XenForo/DataWriter.
Дополнительное поле - дополнительные поля пользователей admin.php?custom-user-fields/

Прямые правки запрещены кем? Или просто нерекомендуется, по причине всевозможных сбоев?
 
OFFTOP


Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум - из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится - тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите - лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ!!!
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю!!! А от вас нормального ответа недождёшся!!!
Прохожий: Самое крепкое дерево - дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно!!!

 
Это пример создания плагина, так делается похоже и на 1 ветки. Прямые правки в движок запрещено делать. Но а так /library/XenForo/DataWriter.
Дополнительное поле - дополнительные поля пользователей admin.php?custom-user-fields/

Просмотрел код файла DataWriter, тут нет запросов на вставку данных пользователя.
 
Просмотрел код файла DataWriter, тут нет запросов на вставку данных пользователя. Одни классы какие-то.
А вы что хотели ?
Прямых запросов тут почти нет, используются абстракции. И скорее всего надо лезть в контроллер, до момента пока пароль захешируется
 
А вы что хотели ?
Прямых запросов тут почти нет, используются абстракции. И скорее всего надо лезть в контроллер, до момента пока пароль захешируется

Хочешь сказать, что в ксене удаление/добавление/вставка любых данных в бд происходит не прямыми запросами типа INSERT, DELETE, UPDATE? Может я чего-то не знаю, но по другому бд вроде не работает.
 
Matew, я не спроста сказал, что в двойке лучше всего хукнуться от сервисов
1578325584854.png
Просмотрел код файла DataWriter, тут нет запросов на вставку данных пользователя.
Мне лень открывать среду
1578325631491.png
У этого датаврайтера есть метод
_postSave, который вызывается после регистрации пользователя
1578325700119.png
этот метод расширить не составляет проблем и можно без проблем вызвать пароль уже захешированный.
1578325791792.png
Как пример получение данных, помимо всего этого можно вытянуть без проблем хеш.
Дальше как я уже говорил
создаём подключение к бд и пишем
 
тут нет запросов на вставку данных пользователя
Потому что напрямую запросы пишут только в определенных ситуациях, когда генератор не способен построить нормальный и быстрый запрос.

в ксене удаление/добавление/вставка любых данных в бд происходит не прямыми запросами типа INSERT, DELETE, UPDATE?
Именно.

Может я чего-то не знаю, но по другому бд вроде не работает.
Загуглите, что такое ORM. По сути, XF запросы использует, но в неявном виде.
 
Jimo, вот хороший пример. В 2020 прямые запросы писать избыточно и не правильно. Для этого люди придумали ORM и не только. Мы ооп занимаемся, прямые запросы можно иной раз увидеть в моделях (Model), но такие как INSERT можно встретить редко и даже их нету
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу