Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #4  
Old 11-07-2006, 05:29 PM
SCRIPT3R SCRIPT3R is offline
 
Join Date: Jan 2005
Posts: 1,303
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

setup a cron for this... admincp/misc.php?do=updateuser

PHP Code:
<?php

// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
if (!
is_object($vbulletin->db))
{
    exit;
}

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
require_once(
DIR '/includes/functions_databuild.php');

// ############################# LOG ACTION ###############################
log_admin_action();

// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################

// ###################### Start update user #######################
if ($_REQUEST['do'] == 'updateuser')
{
    require_once(
DIR '/includes/functions_infractions.php');

    if (empty(
$vbulletin->GPC['perpage']))
    {
        
$vbulletin->GPC['perpage'] = 1000;
    }

    
$finishat $vbulletin->GPC['startat'] + $vbulletin->GPC['perpage'];

    echo 
'<p>' $vbphrase['updating_user_info'] . '</p>';
    
$tmp_usergroup_cache = array();

    
$infractiongroups = array();
    
$groups $vbulletin->db->query_read("
        SELECT usergroupid, orusergroupid, pointlevel, override
        FROM " 
TABLE_PREFIX "infractiongroup
        ORDER BY pointlevel
    "
);
    while (
$group $vbulletin->db->fetch_array($groups))
    {
        
$infractiongroups["$group[usergroupid]"]["$group[pointlevel]"][] = array(
            
'orusergroupid' => $group['orusergroupid'],
            
'override'      => $group['override'],
        );
    }

    
$users $db->query_read("
        SELECT user.*, usertextfield.rank,
        IF(user.displaygroupid=0, user.usergroupid, user.displaygroupid) AS displaygroupid
        FROM " 
TABLE_PREFIX "user AS user
        LEFT JOIN " 
TABLE_PREFIX "usertextfield AS usertextfield USING (userid)
        WHERE user.userid >= " 
$vbulletin->GPC['startat'] . " AND user.userid < $finishat
        ORDER BY user.userid
    "
);
    while (
$user $db->fetch_array($users))
    {
        
$userdm =& datamanager_init('User'$vbulletinERRTYPE_CP);
        
$userdm->set_existing($user);
        
cache_permissions($userfalse);

        
$userdm->set_usertitle(
            (
$user['customtitle'] ? $user['usertitle'] : ''),
            
false,
            
$vbulletin->usergroupcache["$user[displaygroupid]"],
            (
$user['customtitle'] == OR $user['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canusecustomtitle']) ? true false,
            (
$user['customtitle'] == 1) ? true false
        
);

        if (
$lastpost $db->query_first("SELECT MAX(dateline) AS dateline FROM " TABLE_PREFIX "post WHERE userid = $user[userid]"))
        {
            
$lastpost['dateline'] = intval($lastpost['dateline']);
        }
        else
        {
            
$lastpost['dateline'] = 0;
        }

        
$infractioninfo fetch_infraction_groups($infractiongroups$user['userid'], $user['ipoints'], $user['usergroupid']);
        
$userdm->set('infractiongroupids'$infractioninfo['infractiongroupids']);
        
$userdm->set('infractiongroupid'$infractioninfo['infractiongroupid']);

        
$userdm->set('posts'$user['posts']); // This will activate the rank update
        
$userdm->set('lastpost'$lastpost['dateline']);
        
$userdm->save();
        unset(
$userdm);

        echo 
construct_phrase($vbphrase['processing_x'], $user['userid']) . "<br />\n";
        
vbflush();
    }

    if (
$checkmore $db->query_first("SELECT userid FROM " TABLE_PREFIX "user WHERE userid >= $finishat LIMIT 1"))
    {
        
print_cp_redirect("misc.php?" $vbulletin->session->vars['sessionurl'] . "do=updateuser&startat=$finishat&pp=" $vbulletin->GPC['perpage']);
        echo 
"<p><a href=\"misc.php?" $vbulletin->session->vars['sessionurl'] . "do=updateuser&amp;startat=$finishat&amp;pp=" $vbulletin->GPC['perpage'] . "\">" $vbphrase['click_here_to_continue_processing'] . "</a></p>";
    }
    else
    {
        
define('CP_REDIRECT''misc.php');
        
print_stop_message('updated_user_titles_successfully');
    }
}

?>
oh wait... i hadn't noticed you were using vB 3.0... the above is for vB 3.6 - i'm not familiar with dbase calls prior to vB 3.5 - sorry.
Reply With Quote
 


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 12:27 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.11597 seconds
  • Memory Usage 2,582KB
  • Queries Executed 12 (?)
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)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (9)postbit_onlinestatus
  • (9)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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