vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Make a user's ranks update? Plugin help. (https://vborg.vbsupport.ru/showthread.php?t=119677)

drew010 06-26-2006 07:23 AM

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?

Marco van Herwaarden 06-28-2006 07:16 AM

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.

drew010 06-29-2006 03:12 AM

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();
                } 
            }
        }
    } 


drew010 07-03-2006 01:15 AM

Can NO-ONE help?


All times are GMT. The time now is 11:32 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.01114 seconds
  • Memory Usage 1,754KB
  • 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_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete