форум vBSupport.ru > vBulletin > vBulletin 4.0.x-4.1.х > Вопросы по vBulletin 4.0.x-4.1.х
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
grim
Простоузер
Default Группа пользователя на основе userfield
0

Столкнулся с тем что необходимо распределять пользователей по дополнительным группам (мужчины/женщины) при регистрации. На сколько я знаю на версиях 3.X это делается очень просто:
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

а разьве в четверке это сломали?
 
 
grim
Простоузер
Default
0

Сорри, нечайно нажал отправить.
Так вот на 3,6 , например, достаточно повесить хук на register_addmember_complete
примерно такого содержания
PHP Code:
if ($vbulletin->userinfo['field6'] =="Мужской") {
$userdata->set(membergroupids', 9);
}; 
Но на vb4 ни в какую не работает!
Причем попробовал повесить на process_templates_complete хук print_r($vbulletin->userinfo['field6']) и в щапке показывается сдержание этого самого филда.. Значит работает. А если написать (это я уже от безисходности)
PHP Code:
if ($vbulletin->userinfo['field6'] =="Мужской") {
$userdata->set(membergroupids', 9);
}; 
То сервер выдает 500 ошибку.
Я в растрянности. Не знаю что делать и куда копать
Помогите, пожалуйста

grim добавил 12.05.2012 в 22:13
Quote:
Originally Posted by kerk View Post
а разьве в четверке это сломали?
не ужели все так сложно? В принципе наверное, можно еще и м помощью SQL менять группу (у меня сейчас на кроне висит). Только я не могу понять как собсна сделать sql-запрос из хука

Last edited by grim : 05-12-2012 at 10:13 PM. Reason: Добавлено сообщение
 
 
kerk
k0t
 
kerk's Avatar
Default
0

может быть строку в кавычки засунуть?
$userdata->set(membergroupids, 9); => $userdata->set('membergroupids', 9);
 
 
grim
Простоузер
Default
0

Quote:
Originally Posted by kerk View Post
может быть строку в кавычки засунуть?
$userdata->set(membergroupids, 9); => $userdata->set('membergroupids', 9);
спешил, опечался, естественно в кавычках пробовал. Интересно, что в файле register.php есть такая строчка
$userdata->set('usergroupid', $newusergroupid);
тоесть, и $userdata->set('membergroupids', $newusergroupid); должно работать в теории..

grim добавил 12.05.2012 в 22:31
ине хотя бы понять как SQL исполнять из хука. и то счастье

Last edited by grim : 05-12-2012 at 10:31 PM. Reason: Добавлено сообщение
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Quote:
Originally Posted by grim View Post
хотя бы понять как SQL исполнять из хука
дык как обычно...
после того, как отработал датаменеджер ($userdata->save();), выполняем свой запрос
update table_name set field = '" . $data . "'
 
 
grim
Простоузер
Default
0

kerk, я на булке второй день... луркал инструкции по поводу SQL инъекций ничего не понял..
Можно чуточку подробнее?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

хм...
а как подробней?
синтаксис запросов воблы есть в файлах
если в четверке еще не все разломали то как то так:
PHP Code:
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "table_name SET field_name = '" $field_value "'"); 
имена таблицы и поля (полей) в запросе, подставлять свои
 
 
grim
Простоузер
Default
0

я нуб, как в булке так и в sql)) скажите пожалуйста, так будет правильно?
PHP Code:
if ($vbulletin->userinfo['field6'] =="Мужской") {$vbulletin->db->query_write("UPDATE " TABLE_PREFIX " SET membergroupids = '9'"WHERE user.userid " . $vbulletin->userinfo['userid'] .") } 
grim добавил 13.05.2012 в 01:17
,брр, лпять поспешил..

PHP Code:
if ($vbulletin->userinfo['field6'] =="Мужской") {$vbulletin->db->query_write("UPDATE " TABLE_PREFIX " SET membergroupids = '9' WHERE user.userid = " $vbulletin->userinfo['userid'] .") } 

Last edited by grim : 05-13-2012 at 01:17 AM. Reason: Добавлено сообщение
 
 
artscripts
Эксперт
 
artscripts's Avatar
Default
0

Code:
if ($vbulletin->userinfo['field6'] =="Мужской") {
$userdata->set(usergroup, 9);
};
НЕ? или

Code:
if ($vbulletin->userinfo['field6'] =="Мужской") {
$userdata->set(usergroupid, 9);
};
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 01:10 PM.


Powered by vBulletin® Version zEdition
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...