Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
[WIDGET] Steam Group Stats Details »»
[WIDGET] Steam Group Stats
Version: 1.00, by Inflikted Inflikted is offline
Developer Last Online: Aug 2012 Show Printable Version Email this Page

Category: vBulletin CMS Widgets - Version: 4.0.3 Rating:
Released: 04-18-2010 Last Update: Never Installs: 36
Re-useable Code Translations  
No support by the author.

For those who have a steam group, you can easily display your steamgroup stats on your frontpage. I included 2 versions a cached version (which I recommend to use but takes a tiny bit more effort to run) and a non-cached version which runs out of the box (might slow down your site a bit more).

Instructions Cached Version:
1.Navigate to AdminCP -> CMS -> Widgets.
2. Create a PHP Type Widget and paste the code from below:

cached version:
PHP Code:
<html>
<style type="text/css">
span.membersInGame {
    font-size: 11px;
    color: #8bc53f;
    font-family:arial, Helvetica, tahoma, sans-serif;
    text-decoration:none;
}
span.membersOnline {
    font-size: 11px;
    color: #62a7e3;
    font-family:arial, Helvetica, tahoma, sans-serif;
    text-decoration:none;
}
</style>
</html>
<?php 
$group 
freefragnet;
$cachefile 'cache/grpcache.html';
$cachetime 60// 5 minutes
if (file_exists($cachefile) && (time() - $cachetime filemtime($cachefile))) {
include(
$cachefile);
echo 
"<!-- Cached ".date('jS F Y H:i'filemtime($cachefile))." -->";

} else {
ob_start();
    
$url file_get_contents('http://steamcommunity.com/groups/'.$group); 
    
ini_set('default_socket_timeout'0); 
    
preg_match('#<h1>(.+)</h1>#sU'$url$aMatches); 
    echo 
"<div class=blockrow>";
    echo 
"<table>";
    echo 
"<a class='clanname' href='http://steamcommunity.com/groups/$group' target='_blank'>$aMatches[1]</a>"
    echo 
"<br>";

    
preg_match('#<div class="groupMemberRow">(.+)</div>#sU'$url$aMatches); 
    
$aMatches str_replace('class="linkStandard"''class="linkStandard" target="_blank"'$aMatches[1]);
    
$pieces explode(" "$aMatches);
$domain strstr($pieces[3], '>');
$strip1 substr($domain1); 
    echo 
"<span class=resultsb>$strip1 Members</span>";
    echo 
"<br>";
$domain1 strstr($pieces[6], '>');
$strip2 substr($domain11);
    echo 
"<span class=membersInGame><font color=#8bc53f>$strip2 In-Game</font></span>"
    echo 
"<br>";
$domain2 strstr($pieces[9], '>');
$strip3 substr($domain21); 
    echo 
"<span class=membersOnline><font color=#62a7e3>$strip3 Online</font></span>";
echo 
"</table>";
echo 
"</div>";
$fp fopen($cachefile'w');
fwrite($fpob_get_contents());
fclose($fp);
ob_end_flush();
ob_end_clean();
}
?>
3. Edit $group = freefragnet; to your group. This is in the url base for your steam group Example: http://steamcommunity.com/groups/freefragnet

4. In your ftp, in the same base folder vbulletin is hosted, create a folder named 'cache' and CHMOD to 777.
5. Your set

Demo: http://www.freefrag.com/

Instructions Non-Cached Version:
1.Navigate to AdminCP -> CMS -> Widgets.
2. Create a PHP Type Widget and paste the code from below:

non-cache
PHP Code:
<html>
<style type="text/css">
span.membersInGame {
    font-size: 11px;
    color: #8bc53f;
    font-family:arial, Helvetica, tahoma, sans-serif;
    text-decoration:none;
}
span.membersOnline {
    font-size: 11px;
    color: #62a7e3;
    font-family:arial, Helvetica, tahoma, sans-serif;
    text-decoration:none;
}
</style>
</html>
<?php 
$group 
freefragnet;
    
$url file_get_contents('http://steamcommunity.com/groups/'.$group); 
    
ini_set('default_socket_timeout'0); 
    
preg_match('#<h1>(.+)</h1>#sU'$url$aMatches); 
    echo 
"<div class=blockrow>";
    echo 
"<table>";
    echo 
"<a class='clanname' href='http://steamcommunity.com/groups/$group' target='_blank'>$aMatches[1]</a>"
    echo 
"<br>";

    
preg_match('#<div class="groupMemberRow">(.+)</div>#sU'$url$aMatches); 
    
$aMatches str_replace('class="linkStandard"''class="linkStandard" target="_blank"'$aMatches[1]);
    
$pieces explode(" "$aMatches);
$domain strstr($pieces[3], '>');
$strip1 substr($domain1); 
    echo 
"<span class=resultsb>$strip1 Members</span>";
    echo 
"<br>";
$domain1 strstr($pieces[6], '>');
$strip2 substr($domain11);
    echo 
"<span class=membersInGame><font color=#8bc53f>$strip2 In-Game</font></span>"
    echo 
"<br>";
$domain2 strstr($pieces[9], '>');
$strip3 substr($domain21); 
    echo 
"<span class=membersOnline><font color=#62a7e3>$strip3 Online</font></span>";
echo 
"</table>";
echo 
"</div>";
?>
3. Edit $group = freefragnet; to your group. This is in the url base for your steam group Example: http://steamcommunity.com/groups/freefragnet
4. Your set

Demo: http://www.freefrag.com/

Screenshots

File Type: jpg steamstats.jpg (12.9 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 04-19-2010, 04:26 AM
joshtrav joshtrav is offline
 
Join Date: Apr 2010
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very nice widget.

Currently it only displays today's date for me however. I added it via php direct execution and set it on the layout manager.

Side note:
Is there a release for that server status widget as well?
Reply With Quote
  #3  
Old 04-19-2010, 04:28 AM
Inflikted Inflikted is offline
 
Join Date: Mar 2002
Posts: 40
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i suppose i can.. but i need to clean the code up alot, its a bit messy and confusing lol.
Reply With Quote
  #4  
Old 04-19-2010, 04:43 AM
joshtrav joshtrav is offline
 
Join Date: Apr 2010
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I had done an edit to my first post with the error I receive at the top of the page, however you had already replied.

I am interested in your status widget mainly only for CS:S, but I am sure it would be ideal for others to include what else you display there, as its very stylish at the moment.
Reply With Quote
  #5  
Old 04-19-2010, 04:54 AM
Inflikted Inflikted is offline
 
Join Date: Mar 2002
Posts: 40
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

if you are getting today's date that means the script portion is blank. you may have made the mistake and copy/pasted the coding into the widget description rather than the widget code area.

avigate to AdminCP -> CMS -> Widgets and click on Configure next to the steam group widget, make sure the coding is over there.

well the backend coding is based off gameQ for my server status script, jquery for the popups. i just need some time to clean it up.. because right now there isnt really an easy way to add in servers, without editing the php file in 3 different location for each server you want to add. not a big deal for people with a bit of experience in php i suppose. but for those who are new it can be a bit troublesome if you have alot of servers to add. ontop of that the style i put in is custom, I was stupid at the time and should have built the style off the forum style lol.
Reply With Quote
  #6  
Old 04-19-2010, 05:23 AM
joshtrav joshtrav is offline
 
Join Date: Apr 2010
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Done as you said, whoops at a silly mistake there.

Now I have this at the top of my install. Again, sorry but php is not my high point. Python/Java are much easier for me, heh.

Quote:
Parse error: syntax error, unexpected '<' in /home/joshtrav/vb.joinwcs.com/packages/vbcms/widget/execphp.php(177) : eval()'d code on line 1
Edit:

Seems to work now without the style info at the top, and the html.

There is a decent amount of specific style tags missing as well. Such as span assignments for clanname, etc.
I am getting it to work but I am having a hard time getting it to go into the widget block, instead it shows on the very top right corner of the page.
Reply With Quote
  #7  
Old 04-19-2010, 03:58 PM
strudinox's Avatar
strudinox strudinox is offline
 
Join Date: Mar 2010
Location: California
Posts: 147
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

joshtrav, how did you get it to work? I'm getting the same error.
Reply With Quote
  #8  
Old 04-19-2010, 05:39 PM
Inflikted Inflikted is offline
 
Join Date: Mar 2002
Posts: 40
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by strudinox View Post
joshtrav, how did you get it to work? I'm getting the same error.
here is the version josh edited. frontpage is always kind of funky how it accepts your modules, depending on what else you have loading in. he was able to alleviate it by setting up a php include file..

1. make a php file and name it w_steamgroup.php put it into your includes folder
PHP Code:
<html>  
<body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;">  
<table style="font-size:9px;" width="100%">  
<tr align="center" valign="top"> 

<?php 
    $url 
file_get_contents('http://steamcommunity.com/groups/joinwcs');   
    
ini_set('default_socket_timeout'0);   
    
preg_match('#<h1>(.+)</h1>#sU'$url$aMatches);   
    echo 
"<h3 class='article_preview'><a href='steam://url/GroupSteamIDPage/103582791429921702'>$aMatches[1]</a></h3>"

    
preg_match('#<div class="groupMemberRow">(.+)</div>#sU'$url$aMatches);   
    
$aMatches str_replace('class="linkStandard"''class="linkStandard" target="_blank"'$aMatches[1]);  
    
$pieces explode(" "$aMatches);  
    
$domain strstr($pieces[3], '>');  
    
$strip1 substr($domain1);   
    echo 
"&nbsp;&nbsp;&nbsp;&nbsp;<b><font style='color:#417394'>$strip1</font> Members</b>";  
    echo 
"<br>";  

    
$domain1 strstr($pieces[6], '>');  
    
$strip2 substr($domain11);  
    echo 
"&nbsp;&nbsp;&nbsp;&nbsp;<b><font style='color:#417394'>$strip2</font> In-Game</b>";   
    echo 
"<br>";  

    
$domain2 strstr($pieces[9], '>');  
    
$strip3 substr($domain21);   
    echo 
"&nbsp;&nbsp;&nbsp;&nbsp;<b><font style='color:#417394'>$strip3</font> Online</b>"
?> 
</tr>  
</table>   
</body>  
</html>
2. In your actual widget put this code in

PHP Code:
ob_start();   
require_once  
'./includes/w_steamgroup.php';  
$output=ob_get_contents();   
ob_end_clean(); 
I haven't tested this out, but this is what joshtrav did to fix his issue.
Reply With Quote
  #9  
Old 04-19-2010, 06:27 PM
joshtrav joshtrav is offline
 
Join Date: Apr 2010
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, this worked for me.

The one thing to note is the need to replace the joinwcs groupname and the a href link to your appropriate group.

Other than that, it works well.

I am using vB for the first time, so you can see the example of it at vb.joinwcs.com, bottom left corner.

Bear with me as its a fresh install so its very bland, but for the purposes here in it works fine.
Reply With Quote
  #10  
Old 04-19-2010, 11:09 PM
Bouncer222 Bouncer222 is offline
 
Join Date: Oct 2009
Posts: 705
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey great mod....but I already have a pretty good steam looking stats module on my site at www.brotherhoodofgamers.com its on the top right.

I was just wondering, could you write some instructions on how to ONLY add " x members joined past 24hrs" like you have in the image?

Thanks.
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 06:53 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.04609 seconds
  • Memory Usage 2,376KB
  • Queries Executed 24 (?)
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
  • (4)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (1)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete