Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 06-26-2006, 07:23 AM
drew010's Avatar
drew010 drew010 is offline
 
Join Date: Nov 2005
Location: Santa Rosa, CA
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Make a user's ranks update? Plugin help.

PHP Code:
    if ($foruminfo['forumid'] == 38
    {
        
$splitvotes explode('|||'$pollinfo['votes']);
        if (
$splitvotes[0] >= 1)
        {            
            
$user $db->query_first("SELECT * FROM " TABLE_PREFIX "user WHERE `userid`=".$db->sql_prepare($vbulletin->userinfo['userid']));
            if (
$user['membergroupids'] == ''
            {
                
$membergroupids $user['usergroupid'];
            } else {
                
$membergroupids .= "," $user['usergroupid'];
            }
            
$groups explode(","$membergroupids);
            if (!
in_array(9$groups))
            {
                if (
$user['usergroupid'] == 4
                {
                    
$user['usergroupid'] = 9;
                } else {
                    if (
$user['membergroupids'] == '')
                    {
                        
$user['membergroupids'] = "9";
                    } else {
                        
$user['membergroupids'] .= ",9";
                    }
                }
            }
            
$db->query("UPDATE " TABLE_PREFIX "user SET `usergroupid`=".$db->sql_prepare($user['usergroupid']).", `membergroupids`=".$db->sql_prepare($user['membergroupids']));
        }
    } 
My problem? That updates the MySQL table, but each usergroup has a rank image, and it doesn't update the rank images until I save the user in the AdminCP..I know there are various update_counter functions and whatnot, is there anything to update a user's ranks?
Reply With Quote
  #2  
Old 06-28-2006, 07:16 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you are using vB3.5 or above, you really should consider using the DataManagers instead of directly altering the user table.

You can find some documentation on how to use them in our Tutorial section.
Reply With Quote
  #3  
Old 06-29-2006, 03:12 AM
drew010's Avatar
drew010 drew010 is offline
 
Join Date: Nov 2005
Location: Santa Rosa, CA
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've done so - I still have the same problem.

Here's my updated code:

PHP Code:
    if ($foruminfo['forumid'] == 38)
    {
        
$thread $db->query_first("SELECT * FROM " TABLE_PREFIX "thread WHERE `pollid`=".$pollinfo['pollid']);
        if (
$thread['postuserid'])
        {
            require_once(
DIR '/includes/functions_user.php');
            
$userdm =& datamanager_init('User'$vbulletinERRTYPE_SILENT);
            
$user $db->query_first("SELECT * FROM " TABLE_PREFIX "user WHERE `userid`=".$db->sql_prepare($thread['postuserid']));
            
$userdm->set_existing($user);    
            
$splitvotes explode('|||'$pollinfo['votes']);
            if (
$vbulletin->GPC['optionnumber'] == 1
            {
                
$splitvotes[0] += 1;
            }
            if (
$splitvotes[0]>= 1)
            {                        
                if ((!
in_array('9'explode(','$user['membergroupids']))) && ($user['usergroupid'] != '9'))
                {
                    
$membergroups explode(','$user['membergroupids']);
                    if (
$user['usergroupid'] != '4')
                    {
                        
$membergroups[] = $user['usergroupid'];
                    }
                    
$user['usergroupid'] = '9';
                    
$user['displaygroupid'] = '9';
                    
$user['membergroupids'] = implode(','$membergroups);            
                    
$userdm->set('usergroupid'$user['usergroupid']);
                    
$userdm->set('membergroupids'$user['membergroupids']);
                    
$userdm->save();
                } 
            }
        }
    } 
Reply With Quote
  #4  
Old 07-03-2006, 01:15 AM
drew010's Avatar
drew010 drew010 is offline
 
Join Date: Nov 2005
Location: Santa Rosa, CA
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can NO-ONE help?
Reply With Quote
Reply

Thread Tools
Display Modes

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

Forum Jump


All times are GMT. The time now is 11:42 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04994 seconds
  • Memory Usage 2,220KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete