VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Я создал три публичный группы пользователей.
Когда пользователь входит в одну из них, то к группе Зарегестрированные добовляется дополнительная группа (та в котурую он вошёл)
Как сделать так, чтобы при входе в эту группу она автоматически становилась основной.
DimaChoice, а если пользователь войдет сразу в несколько публичных групп из трех предложенных тобой? Что должен делать скрипт? Предлагаешь создать искуственный интеллект?
IoGhost добавил 09.01.2009 в 11:06
Другими словами: подробнее опиши, что именно требуется, плиззз...
Last edited by Ghost : 01-09-2009 at 12:06 PM.
Reason: Добавлено сообщение
@DimaChoice
Простоузер
Join Date: Jul 2008
Posts: 13
Reputation:
Lamer -6
Репутация в разделе: -6
0
Помоему и так всё понятно =/
DimaChoice добавил 09.01.2009 в 11:13
Если он входит в другую публичную группу, то она становится основной.
Last edited by DimaChoice : 01-09-2009 at 12:13 PM.
Reason: Добавлено сообщение
@Ghost
Гуру
Join Date: Feb 2008
Posts: 983
Версия vB: 3.8.1
Reputation:
Гуру 1014
Репутация в разделе: 896
1
DimaChoice, вешай модуль на хук "profile_joingroup_unmoderated", в котором проверяй: если пользователь принадлежит группе "Зарегистрированные" или одной из трех публичных групп и намеревается войти в одну из пуличных, то установить дополнительную группу как "Зарегистрированные", а основную - ту, в которую намеревается войти. Если чучка подождешь, попробую накидать примерный код.
IoGhost добавил 09.01.2009 в 11:41
Хм. Сперва группы: Зарегистрированные = 2, три публичные группы пусть имеют, например, ID = 10, 11 и 12. Тогда код должен выглядеть примерно так:
PHP Code:
// перечисляем публичные группы $public_groups = array (10, 11, 12); // если пользователь из одной из публичных групп или из группы "Зарегистрированные" if ($vbulletin->userinfo['usergroupid'] == 2 OR in_array ($vbulletin->userinfo['usergroupid'], $public_groups)) { // если вступает в одну из публичных групп if (in_array ($usergroupid, $public_groups)) { // назначае основной группу, в которую вступает $userdata->set ('usergroupid', $usergroupid); // дополнительной - группу "Зарегистрированные" $userdata->set ('membergroupids', '2'); } }
Вот как-то так...
Last edited by Ghost : 01-09-2009 at 12:41 PM.
Reason: Добавлено сообщение
@DimaChoice
Простоузер
Join Date: Jul 2008
Posts: 13
Reputation:
Lamer -6
Репутация в разделе: -6
0
Теперь глупый вопрос, что с этим кодом делать?
@Ghost
Гуру
Join Date: Feb 2008
Posts: 983
Версия vB: 3.8.1
Reputation:
Гуру 1014
Репутация в разделе: 896
2
Quote:
Originally Posted by DimaChoice
Теперь глупый вопрос, что с этим кодом делать?
Ох... Видимо мне придется повесить ответ на этот вопрос себе в подпись когда-нибудь.
Короче так: админка - продукты и модули - добавить новый модуль - заполняем форму: продукт = vbulletin, местоположение = имя хука (в твоем случае - profile_joingroup_unmoderated), заголовок = свой, порядок = 5, код = собственно код модуля, включен = да; после чего жать кнопку "сохранить".
@DimaChoice
Простоузер
Join Date: Jul 2008
Posts: 13
Reputation:
Lamer -6
Репутация в разделе: -6
0
Quote:
Originally Posted by IoGhost
после чего жать кнопку "сохранить".
и понять что нифига не будет, публичная группа добавилась как дополнительная =/
@Ghost
Гуру
Join Date: Feb 2008
Posts: 983
Версия vB: 3.8.1
Reputation:
Гуру 1014
Репутация в разделе: 896
1
DimaChoice, вставь в код строки
PHP Code:
echo "здесь выполняется то-то..."
, чтобы увидеть - выполняется ли этот код и какие конкретно части его выполняются. Посмотрим...
@DimaChoice
Простоузер
Join Date: Jul 2008
Posts: 13
Reputation:
Lamer -6
Репутация в разделе: -6
0
PHP Code:
echo "перечисляем публичные группы" $public_groups = array (11, 12, 13); echo "если пользователь из одной из публичных групп или из группы "Зарегистрированные"" if ($vbulletin->userinfo['usergroupid'] == 2 OR in_array ($vbulletin->userinfo['usergroupid'], $public_groups)) { echo "если вступает в одну из публичных групп" if (in_array ($usergroupid, $public_groups)) { echo "назначае основной группу, в которую вступает" $userdata->set ('usergroupid', $usergroupid); echo "дополнительной - группу "Зарегистрированные"" $userdata->set ('membergroupids', '2'); } }
Так? И попробовать снова вступить в группу обычным юзером?
@Ghost
Гуру
Join Date: Feb 2008
Posts: 983
Версия vB: 3.8.1
Reputation:
Гуру 1014
Репутация в разделе: 896
1
Quote:
Originally Posted by DimaChoice
Так? И попробовать снова вступить в группу обычным юзером?
Так. Почти. Строки с командой echo должны заканчиваться ";", а коментарии заключи в апострофы, нарпимер:
PHP Code:
echo 'дополнительной - группу "Зарегистрированные"';
Кстати, у тебя модерируемые группы? Т.е. в них есть "лидер", который получает заявки на вступление, которые потом либо одобряет, либо отвергает? Или немодерируемая - нажал кнопочку "вступить" и сразу попадаещь в группу?
З.Ы. Выходные... Следующий раз появлюсь здесь только в понедельник... Т.е. не жди быстрого ответа, по крайней мере - от меня.
Last edited by Ghost : 01-10-2009 at 01:55 PM.
Reason: глючит чёта форум... :(