Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 General Discussions
  #1  
Old 05-22-2015, 07:37 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default number array not working in login_process?

I'm currently attempting to gain a specific number from an API and when it matches, moving the user to another usergroup. Now, usually the array has letters in it, but this specific array merely has a simple number.

Code:
// Configuration 
$steamRepScamTitles = array( // Dictionary describing the user title that should be set depending on the tag 
    '2' => array(  
        'title' => '<span style="color:darkyellow;font-weight:bold">Trade Banned</span>', 
        'groupid' => 40
    ) 
);  

if(!function_exists("get_steamrep_scamtype"))
{
    function get_steamrep_scamtype($steam_id, $steamRepScamTitles)
    {
        // Fetch SteamRep Data
        $steamRepAPIURL = sprintf("http://steamrep.com/api/beta3/reputation/%s?tagdetails=1&extended=1", $steam_id);
        $steamRepXML =  simplexml_load_file($steamRepAPIURL);
with:

Code:
$fullReputation = $steamRepXML->tradeban;
to get the appropriate value in the specified xml table.

^ both plugins code above is only partial of the system, example API that is being used:

http://steamrep.com/api/beta3/reputa...s=1&extended=1

Now. The idea is that the XML tradeban with 'array' 2 is being checked and when matches, user is being moved to another usergroup accordingly. However, it doesn't appear to be working, at all. When I set this system on eg, forumdisplay/forumhome hook.. it works directly and moves the user instantly. But for what ever reason, login_process refuses to work.

The other systems checking the API (with letters as array) works as a charm of which are also in the login_process hook, so I'm rather confused why it's not working at all. At first I thought it was the invalid usergroup movement code, but after some testing.. it appears to be the number in the array of which is not working in the login_process hook.

If anyone can help me with this, greatly appreciated.
Reply With Quote
  #2  
Old 05-22-2015, 08:54 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The login_process hook is called inside a function (while the forumdisplay and forumhome are not). So any global variables you use (whether you're creating them or reading them) have to be declared global in your plugin code.
Reply With Quote
  #3  
Old 05-22-2015, 08:57 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
The login_process hook is called inside a function (while the forumdisplay and forumhome are not). So any global variables you use (whether you're creating them or reading them) have to be declared global in your plugin code.
I figured as much, tried using the include / $global code, nothing thus far. Still toying with it. But that doesn't explain though why letter/word array works fine (with example)

Code:
// Configuration 
$steamRepScamTitles = array( // Dictionary describing the user title that should be set depending on the tag 
    'CAUTION' => array(  
        'title' => '<span style="color:darkyellow;font-weight:bold">Caution User</span>', 
        'groupid' => 37
    ) 
);
while numbers don't. Any idea?
Reply With Quote
  #4  
Old 05-22-2015, 09:00 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, so you were saying that a string key in the array works? I missed that part. No, I can't think of why that would be. I don't quite understand exactly what you're checking though.
Reply With Quote
  #5  
Old 05-22-2015, 09:16 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

http://steamrep.com/api/beta3/reputa...s=1&extended=1

the API is currently down, so I can't show you direct results.

But needless to say, here's an example using my above code:

Code:
$steamRepAPIURL = sprintf("http://steamrep.com/api/beta3/reputation/%s?tagdetails=1&extended=1", $steam_id);
        $steamRepXML =  simplexml_load_file($steamRepAPIURL);
Code:
$fullReputation = $steamRepXML->tradeban;
This part of the code, checks the <tradeban> xml field.

On the above URL, (once its back up) it shows under tradeban: <tradeban>2</tradeban>
This means the user has been trade banned on steam (if you are familiar with steam).

Now, this code:
Code:
// Configuration 
$steamRepScamTitles = array( // Dictionary describing the user title that should be set depending on the tag 
    '2' => array(  
        'title' => '<span style="color:darkyellow;font-weight:bold">Trade Banned</span>', 
        'groupid' => 40
    ) 
);
Checks if the user is under "2", sets the title for that user and puts the user in groupid 40.

The rest of the code that I haven't posted in this thread are just Setup variables and $dataman code to move the user (I can PM you the full code if interested).

Just for some reason, it's not checking the numbered array under login_process, while it works (as I mentioned) when using letters.
Reply With Quote
  #6  
Old 05-22-2015, 09:24 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, you say:
Quote:
Now, this code:
Code:
...
Checks if the user is under "2", sets the title for that user and puts the user in groupid 40.
But that code doesn't check anything, it just creates an array.
Reply With Quote
  #7  
Old 05-22-2015, 09:27 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
Well, you say:


But that code doesn't check anything, it just creates an array.
That's where the rest of the 'setup variables' comes into play. Can I PM you the full code so you have an understanding how it works?
Reply With Quote
  #8  
Old 05-22-2015, 09:42 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Skyrider View Post
That's where the rest of the 'setup variables' comes into play. Can I PM you the full code so you have an understanding how it works?
If you want to PM it I'll look it over. Sometimes you just need a second pair of eyes.
Reply With Quote
Reply

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 02:08 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.04318 seconds
  • Memory Usage 2,225KB
  • 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
  • (6)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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