Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-20-2011, 09:58 AM
brandondrury brandondrury is offline
 
Join Date: Oct 2005
Posts: 136
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Change Usergroup/Member Instant Rank Update

Well, I've wasted all night on this stupid thing, but I now have it where I can upgrade a member to a new membergroup/usergroup and their rank image will show up instantly without the need to update User Title and Rank counters.

I used "normal" code (whatever that means) in vB3.8.6, but for some reason in vB4 I had to update counters. This is unacceptable as the people buying my high priced stuff expect a little 643kb gif image next to their name NOW.

It turns out that this junk was the solution: http://www.vbulletin.com/docs/html/m...er_programming I'm a total idiot when it comes to object programming so I just pushed button until it worked.

I'm no programmer. I haven't done anything serious in 4 years and even then I was flying by the seat of my pants. Fair warning! If someone better wants to clean up the first-grader-with-crayon-like code, be my guest. Nowhere did I find this in my searches.

It's totally unsupported because I barely got the stupid thing to work.

Explanation:
It uses the global.php file to see if the dude is logged in. If he is, it digs up any current membergroups and adds 21 (in this example) to the end. This is necessary because in the past I'd lose my previous membergroups without it. For all I know, the object stuff takes care of this.

You'll need to change the pathways. This thing runs on a normal ol' php page and doesn't use the forum theme or anything like that. I used the

if ($upgrade=1) { echo "You are upgraded!"} else { echo "you need to log in"}

Here's my code:

PHP Code:
<?php
//$curdir = getcwd ();

require_once('global.php');
require_once(
'includes/functions.php');
require_once(
'includes/class_core.php');

//chdir ($curdir);
$forumpath="http://localhost/forum_real/";
$userid=$vbulletin->userinfo['userid'];
$usergroup=$vbulletin->userinfo['usergroupid'];
$membergroupids$vbulletin->userinfo['membergroupids'];


if (
$membergroupids)
    {
    
$groupIDs explode(','$membergroupids);
    }

$countercount($groupIDs);

// Change this to the usergroup ID you'd like to add this dude/chick to
$groupIDs[$counter]=21;


if (
$userid)
{
sort($groupIDs);
$groupIDsarray_unique($groupIDs);
$comma_separated implode(","$groupIDs);
$upgrade=1;
$dataman =& datamanager_init('User'$vbulletin); 
$dataman->set_existing($vbulletin->userinfo); 
$dataman->setr('membergroupids',$comma_separated); 

 
$vbulletin->userinfo['userid'
        = 
$userid 
        
$dataman->save();
}

?>

In case anyone needs the login code, here it is:

PHP Code:
echo"<form action=\"".$forumpath."/login.php\" method=post onsubmit=md5hash(vb_login_password,vb_login_md5password,vb_login_md5password_utf)>
    <script type=text/javascript src=\""
.$forumpath."/clientscript/vbulletin_md5.js\"></script>
    User Name:<br>
    <input name=vb_login_username type=text id=navbar_username onfocus=if (this.value == '
$vbphrase[username]') this.value = ''; size=10 />
            
    <br>Password:<br>
    <input name=vb_login_password type=password size=10 />
    </br>
        
    <input name=cookieuser type=hidden id=cb_cookieuser_navbar value=1 checked=checked />

    
        
    <input type=submit title=
$vbphrase[enter_username_to_login_or_register] value=\"Log In\" />
        
    <input type=hidden name=s value=
$session[sessionhash] />
    <input type=hidden name=do value=login />        
    <input type=hidden name=vb_login_md5password />
    <input type=hidden name=vb_login_md5password_utf />

    </form>"

Reply With Quote
Reply


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 10:59 PM.


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.03227 seconds
  • Memory Usage 2,176KB
  • 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
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)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_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