vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   Add User to Secondary Usergroup Based on the Value of a Custom Profile Field at Reg. (https://vborg.vbsupport.ru/showthread.php?t=82993)

amykhar 03-19-2006 05:01 PM

No. I mean members. Members can leave public groups and ask to join public groups. Combine this with my mod that pms group leaders when users make a request, and you'll have a usable interface.

I don't need my members to change groups after registration becuase except in very rare cases, I don't think their gender is going to change ;)

Sculli 03-19-2006 06:43 PM

Quote:

Originally Posted by amykhar
But, the choice can't be changed after the user registers. They would have to use the regular member group interface for that.

You mean as it is coded now it can't be changed? There is no reason it couldn't be changed if it was coded differently though, right?

I run an online game related message board, and users can have one of three allegiances. Depending on which allegiance they currently have, they are assigned to a usergroup that then assigns them a rank image that shows their allegiance. However, users can change their allegiance in game, and I would like them to be able to change their allegiance choice as well.

I currently use simple publically joinable usergroups. The issue with that is that a user could join multiple groups and thus display multiple allegiance rank images. Some users do, and it's annoying to me to have to hunt them down and tell them that they are misusing the allegiance option.

If I were able to make the allegiance choice a radio button choice in the profile, then they could only have one allegiance at a time, but they would need to be able to change it when they change it in game.

There ought to be a faily simple way to do that. Something along the lines of:
-radio button choice indicates user wants to be part of group A
-check whether user is part of group B already, if so, remove user from group B
-check whether user is part of group C already, if so, remove user from group C
-add user to group A

Murty 04-11-2006 03:49 AM

a few months ago i was having trouble installing the "Put User in Secondary Group Based on Custom Profile Field Value" hack. Well i thought it was all sorted, but for some reason, users are still being put into any random fields(eg male or female). I have not edited any code or anything, but it has been an increasing issue (having to manually change users).

Has anyone got any thoughts?

Please help

Injektilo 04-26-2006 08:38 AM

amykhar or even someone else...please help me out here

i have a gender field with 3 options (male,female,secret) how can i set males to have one secondary usergroup, for females another, and for those who selected ecret to remain as it is (dont get a secondary usergroup)

amykhar 04-26-2006 09:45 AM

It's just ifs and elseifs to handle three groups.

sepulchres 05-02-2006 08:47 AM

Is it possible to use this function based on two custom fields instead of one? If so, how would the code differ to the one above? Cheers.

ronoxQ 05-24-2006 12:05 AM

You'd just add another field to the plugin that looks for a different field.

Amy, here's my modified profile code, but it doesn't add me under a secondary usergroup. Any ideas?

Code:

// Get the value for field 5
        $user = $db->query_first("
                        SELECT field5
                        FROM " . TABLE_PREFIX . "userfield
                        WHERE userid = " . $vbulletin->userinfo['userid'] . "
                ");


                if ($user['field5'] == 'North')
                {
                                        $membergroupids = $userdata->fetch_field('membergroupids');
                if ($membergroupids)
                {
                        $membergroupids = $membergroupids . ", 10";
                }
                else
                {
                        $membergroupids = 10;
                }
$userdata->set('membergroupids', $membergroupids);                }
// Get the value for field 5
        $user = $db->query_first("
                        SELECT field5
                        FROM " . TABLE_PREFIX . "userfield
                        WHERE userid = " . $vbulletin->userinfo['userid'] . "
                ");

                if ($user['field5'] == 'South')
                {
                                        $membergroupids = $userdata->fetch_field('membergroupids');
                if ($membergroupids)
                {
                        $membergroupids = $membergroupids . ", 11";
                }
                else
                {
                        $membergroupids = 11;
                }
$userdata->set('membergroupids', $membergroupids);                }
// Get the value for field 5
        $user = $db->query_first("
                        SELECT field5
                        FROM " . TABLE_PREFIX . "userfield
                        WHERE userid = " . $vbulletin->userinfo['userid'] . "
                ");

                if ($user['field5'] == 'West')
                {
                                        $membergroupids = $userdata->fetch_field('membergroupids');
                if ($membergroupids)
                {
                        $membergroupids = $membergroupids . ", 13";
                }
                else
                {
                        $membergroupids = 13;
                }
$userdata->set('membergroupids', $membergroupids);                }
// Get the value for field 5
        $user = $db->query_first("
                        SELECT field5
                        FROM " . TABLE_PREFIX . "userfield
                        WHERE userid = " . $vbulletin->userinfo['userid'] . "
                ");


                if ($user['field5'] == 'East')
                {
                                        $membergroupids = $userdata->fetch_field('membergroupids');
                if ($membergroupids)
                {
                        $membergroupids = $membergroupids . ", 10";
                }
                else
                {
                        $membergroupids = 12;
                }

                $userdata->set('membergroupids', $membergroupids);                }


amykhar 05-24-2006 11:37 AM

ronoxQ, I'm going to respond via pm.

ThePiston 06-06-2006 04:08 PM

I've got a 5-option radio field that I can't get to work corectly.

I sort of got it to work, but with this code, it it puts new members into 2 Groups, whatever they chose and always the last Group (the else clause) listed as well (so 2 groups). Where am I going wrong?

PHP Code:

// Get the value for field 20
    
$gender $vbulletin->db->query_first("SELECT * FROM userfield WHERE userid=".$vbulletin->userinfo['userid']);


        if (
$gender['field5'] == 'team1')
        {
            
$membergroupids $userdata->fetch_field('membergroupids');
            if (
$membergroupids)
            {
                
$membergroupids $membergroupids ", 9";
            }
            else
            {
                
$membergroupids 9;
            }

            
$userdata->set('membergroupids'$membergroupids);        
        }
        if (
$gender['field5'] == 'team2')
        {
            
$membergroupids $userdata->fetch_field('membergroupids');
            if (
$membergroupids)
            {
                
$membergroupids $membergroupids ", 11";
            }
            else
            {
                
$membergroupids 11;
            }

            
$userdata->set('membergroupids'$membergroupids);        
        }
        if (
$gender['field5'] == 'team3')
        {
            
$membergroupids $userdata->fetch_field('membergroupids');
            if (
$membergroupids)
            {
                
$membergroupids $membergroupids ", 10";
            }
            else
            {
                
$membergroupids 10;
            }

            
$userdata->set('membergroupids'$membergroupids);        
        }
        if (
$gender['field5'] == 'team4')
        {
            
$membergroupids $userdata->fetch_field('membergroupids');
            if (
$membergroupids)
            {
                
$membergroupids $membergroupids ", 12";
            }
            else
            {
                
$membergroupids 12;
            }

            
$userdata->set('membergroupids'$membergroupids);        
        }
        
        if (
$gender['field5'] == 'team5')
        {
            
$membergroupids $userdata->fetch_field('membergroupids');
            if (
$membergroupids)
            {
                
$membergroupids $membergroupids ", 13";
            }
            else
            {
                
$membergroupids 13;
            }

            
$userdata->set('membergroupids'$membergroupids);        
        }        
        
        else
        {
            
$membergroupids $userdata->fetch_field('membergroupids');
            if (
$membergroupids)
            {
                
$membergroupids $membergroupids ", 14";
            }
            else
            {
                
$membergroupids 14;
            }

            
$userdata->set('membergroupids',$membergroupids);
    } 

*****EDIT**** I fixed it, I needed 'else if' and not 'if'

Shoebuddy 06-12-2006 09:41 AM

Can I write this code? or use a switch statement


Code:

if ($user['field5'] == 'MIS (Summer)')
{
    $membergroupids = $userdata->fetch_field('membergroupids');
    if ($membergroupids)
    {
                $membergroupids = $membergroupids . ", 45";
    }
}

if ($user['field5'] == 'MIS (Fall)')
{
    $membergroupids = $userdata->fetch_field('membergroupids');
    if ($membergroupids)
    {
                $membergroupids = $membergroupids . ", 45";
      }

}
               
$userdata->set('membergroupids', $membergroupids);



All times are GMT. The time now is 01:45 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01269 seconds
  • Memory Usage 1,790KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete