Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
Prev Previous Post   Next Post Next
  #1  
Old 02-11-2012, 07:01 PM
KGodel's Avatar
KGodel KGodel is offline
 
Join Date: May 2011
Location: Indiana
Posts: 332
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Plugin Update Question

Hey guys!

I am using a plugin from a 3.8.x series of vBulletin on VB4 with no errors as far as it getting the job done. It's pretty simple an adds a hook when you save a user. Th plugin can be found here:

https://vborg.vbsupport.ru/showthread.php?t=157919

Now, because of how I sort usergroups (I use an HTML comment) I have altered it a bit to trim off that HTML. However, upon saving I am getting errors evaluating the "foreach" statements in the hook. I'm not expert, but if anyone could give me a hint as to what in these statement might be giving me eval() errors, that'd be great!

PHP Code:
if ($vbulletin->GPC['userid'])
{
    
$usernote_message '';
    
    function 
fetch_usergroup_title($usergroupid)
    {
        global 
$vbulletin;
        return 
$vbulletin->usergroupcache["$usergroupid"]['title'];
    }
    
    
//////////// Check for Primary Group Change ////////////
    
if ($vbulletin->GPC['user']['usergroupid'] != $userinfo['usergroupid'])
    {
        
$usernote_message .= construct_phrase($vbphrase['primary_group_changed_x_to_y'],substr(fetch_usergroup_title($userinfo['usergroupid']), 16),substr(fetch_usergroup_title($vbulletin->GPC['user']['usergroupid']), 16));
    }

    
/////////// Check for Member (Secondary) Group Change ////////////
    
    // Find NEW member group IDs (Added Member Groups)
    
foreach ($vbulletin->GPC['user']['membergroupids'] AS $newmembergroupid)
    {
        if (!
in_array$newmembergroupidexplode(','$userinfo['membergroupids']) ) )
        {
            
$addedmembergroupids[] = $newmembergroupid;
        }
    }
    
    
// Find OLD member group IDs (Removed Member Groups)
    
foreach (explode(','$userinfo['membergroupids']) AS $oldmembergroupid)
    {
        if (
intval($oldmembergroupid) AND !in_array$oldmembergroupid$vbulletin->GPC['user']['membergroupids'] ))
        {
            
$removedmembergroupids[] = $oldmembergroupid;
        }
    }

    foreach (
$addedmembergroupids AS $membergroupid)
    {
        
$usernote_message .= construct_phrase($vbphrase['added_to_secondary_group_x'],substr(fetch_usergroup_title($membergroupid), 16));
    }
    
    foreach (
$removedmembergroupids AS $membergroupid)
    {
        
$usernote_message .= construct_phrase($vbphrase['removed_from_secondary_group_x'],substr(fetch_usergroup_title($membergroupid), 16));
    }

    
// If we have a message then something was changed, create the log entry
    
if ($usernote_message != '')
    {
        
//Insert a new usernote
        
$db->query_write("
                INSERT INTO " 
TABLE_PREFIX "usernote
                (message, dateline, userid, posterid, title, allowsmilies)
                VALUES ('" 
$db->escape_string($usernote_message) . "', " TIMENOW ", ".$userinfo['userid'].", " $vbulletin->userinfo['userid'] . ", '".$db->escape_string($vbphrase['usergroup_changed'])."', 1)
            "
);
    }


Reply With Quote
 

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:09 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.05220 seconds
  • Memory Usage 2,493KB
  • 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
  • (2)bbcode_code
  • (4)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (1)post_thanks_box_bit
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete