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

Reply
 
Thread Tools Display Modes
  #1  
Old 09-29-2010, 11:44 PM
sheppardzwc sheppardzwc is offline
 
Join Date: Dec 2008
Location: South Carolina
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Including a user-created function file

Hey guys,

While working on a mod I'm adding an AdminCP centre and when I include my seperate function file (just a few simple functions to make things look cleaner in the frontend code) before or after global, the buttons don't have their default "Reset" values and some other things don't work right either. Am I doing something wrong here? It's basically:

require_once('global.php');
require_once(DIR . '/includes/myfunctionfile.php');

or

require_once('../includes/myfunctionfile.php');
require_once('global.php');

But it still has the problem. Any ideas? When I comment out my function file, the buttons show the right "Reset" value.

my_function_file.php
PHP Code:
<?php

require_once('global.php');

/*
    * add_bcd_award
    * Adds an award to the specified user.
    * @var  integer userid
    * @var  long    time for the award to be updated/added
    * @var  boolean new = true, update = false
    *
*/
function add_bcd_award($userid$time$mode) {
    global 
$vbulletin;
    
$bcdgroup $vbulletin->options['bcd_award_usergroupid'];
    if (
time() <= $time) {
        if (
$mode) {
            
$user $vbulletin->db->query_first("SELECT usergroupid,membergroupids FROM " TABLE_PREFIX "user WHERE userid='$userid'");
            
$usergroup $user['usergroupid'];
            
$membergroup $user['membergroupids'];
            if (
$usergroup == '2') {
                if (
strlen($membergroup) == 0) {
                    
$groups $bcdgroup;
                } else {
                    
$groups $membergroup ',2';
                }
            }
            
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "user SET usergroupid='$bcdgroup', membergroupids='$groups', bcdaward='1', bcdawardtime='$time' WHERE userid='$userid'");
        } else if (!
$mode) {
            
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "user SET bcdawardtime='$time' WHERE userid='$userid'");
        }
    } else {
        
trigger_error('Your specified time is not higher than today'E_USER_ERROR);
    }
}

/*
    * has_bcd_award
    * Checks to see if a user, indeed, has an award.
    * @var  string  userid
    * @ret  boolean true if they do, false if they don't
    *
*/
function has_bcd_award($userid) {
    global 
$vbulletin;
    if (
$vbulletin->db->num_rows($vbulletin->db->query_read("SELECT userid FROM " TABLE_PREFIX "user WHERE bcdaward='1' AND userid='$userid'")) == 1) {
        return 
true;
    } else {
        return 
false;
    }
}

/*
    * remove_bcd_award
    * Removes a BCD award and sets the user back to their default usergroup.
    * @var  integer userid
    *
*/
function remove_bcd_award($userid) {
    global 
$vbulletin;
    
$bcdgroup $vbulletin->options['bcd_award_usergroupid'];
    if (
has_bcd_award($userid)) {
        
$user $vbulletin->db->query_first("SELECT usergroupid,membergroupids FROM " TABLE_PREFIX "user WHERE userid='$userid'");
        
$usergroup $user['usergroupid'];
        
$membergroup $user['membergroupids'];
        if (
$usergroup == $bcdgroup) {
            if (
strlen($membergroup) == 1) {
                
$membergroup str_replace('2'''$membergroup);
            } else if (
strpos($membergroup',2,') !== false) {
                
$membergroup str_replace(',2,'','$membergroup);
            } else if (
strpos($membergroup',2') !== false) {
                
$membergroup str_replace(',2'''$membergroup);
            }
        } else {
            
trigger_error('The user you are altering has a malformed member group string. (or they aren\'t a registered user anymore) Refer to the "Repair" AdminCP option.'E_USER_ERROR);
        }
        
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "user SET usergroupid='2', membergroupids='$membergroup', bcdaward='0', bcdawardtime='' WHERE userid='$userid'");
    } else {
        
trigger_error('This user has no award!'E_USER_ERROR);
    }
}

?>
Reply With Quote
  #2  
Old 10-07-2010, 01:25 AM
sheppardzwc sheppardzwc is offline
 
Join Date: Dec 2008
Location: South Carolina
Posts: 104
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ended up adding the function into the file itself, if anyone is looking for an answer to this. No idea why it does this only in the admincp, but it does.
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 05:35 PM.


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.04470 seconds
  • Memory Usage 2,205KB
  • 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
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)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