Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons

Reply
 
Thread Tools
Steam Connect - Sign in with your Steam Account! [RC3] Details »»
Steam Connect - Sign in with your Steam Account! [RC3]
Version: 1.4.5, by Disasterpiece Disasterpiece is offline
Developer Last Online: Oct 2019 Show Printable Version Email this Page

Category: Integration with vBulletin - Version: 4.2.x Rating:
Released: 07-14-2011 Last Update: 11-06-2012 Installs: 239
DB Changes Uses Plugins Template Edits
Additional Files  
No support by the author.

Steam Connect



INFO


-- Steam Connect Addon for vBulletin 4.2.x;
Development Platform := vBulletin 4.1.3 - 4.2.0, Debian Linux, PHP5, MySQL5, apache2;

Dependencies := lib cUrl (PHP), openid (included);

Author := Andreas "Radon" Rudolph, Disasterpiece;

Contact := radon@purgatory-labs.de, https://vborg.vbsupport.ru/member.php?u=198844

Homepage := http://purgatory-labs.de


WHAT YOU SHOULD KNOW BEFORE INSTALLING

This addon is Unsupported as of 2015 until further notice. I have not enough time or interest in vbulletin to keep this alive.

This addon provides a framework for future extensions which make use of the Steam API.
It helps to determine the SteamID of an user. Unless older methods of inserting the steam
id into a user field, the addon lets the user authenticate with Steam OpenID, therefore
you can trust 100%, that this particular user is the same user as the Steam-ID provided.

Users can link their Steam ID to their forum account or they can create a new account
using details pulled from their Steam Profile.
Like the Facebook connect plugin, it allows users to quickly set up a forum account without
having to define a password or an email address. This option can be disabled in the AdminCP,
however it is encouraged to allow users to use this quick-register feature, since they
already authenticated themselves through steam, so any additional password or email
authentication is just unnecessary.

If the user decides to un-link his forum account with his steam-profile, he has to set up
a password and email first, so the forum account remains usable after this.

At the moment, the addon is in its second RC state, which means that the current versions contain mostly bugfixes and are candidates for a full release.
Until now, the product worked without major problems in productive environments.
Although it is stable as is, the author doesn't provide any guarantee.
Due to the nature of the addon and how vBulletin manages 3rd party code inclusion, additional
login and register methods have been provided by the plugin. It is discouraged to use the
plugin on high profile communities in this early development state.

If you have any further questions, feel free to post in this thread.


F.A.Q. / General Issues / Error Messages

"There has been a problem with the OpenID libary: No OpenID Server found at http://steamcommunity.com/openid"
- Additionally, a 503 HTTP error is thrown. Simple solution: Wait. Steam Community servers are overloaded/down right now, there's nothing you can do about it

Do NOT uninstall the mod if you want to keep the linked users records. Upgrading means uploading the new product xml file for the new version and choose "overwrite" in the upload dialog.
The Installer will handle the update process by its own. Uninstalling the product will erase all the table fields which contain the steam link data.



STEAM CONNECT ADDONS

- Steam Mini Profiles


INSTALL HOWTO

Download Now

File Type: zip product_steamconnect_1_4_2rc2.zip (65.1 KB, 424 views)
File Type: zip product-steamconnect_1_4_4rc3.zip (68.8 KB, 107 views)
File Type: zip product-steamconnect_1_4_5rc3.zip (71.1 KB, 1401 views)

Screenshots

File Type: jpg scr1.JPG (145.1 KB, 0 views)
File Type: jpg scr2.JPG (78.3 KB, 0 views)
File Type: jpg scr3.JPG (65.2 KB, 0 views)
File Type: jpg scr4.JPG (103.9 KB, 0 views)
File Type: jpg scr5.JPG (81.6 KB, 0 views)
File Type: jpg stc_steamicon.JPG (11.4 KB, 0 views)
File Type: jpg stc_adminoption.JPG (75.6 KB, 0 views)

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
7 благодарности(ей) от:
Anbieter, bounty7565, dark alex, Dinnoosaur, mohammadxxx, Popa Andrei, ukhostz

Comments
  #532  
Old 03-27-2017, 03:30 PM
rbrt508 rbrt508 is offline
 
Join Date: Feb 2016
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't know about vb5.. definitely installs and works on vb4.2.4

I had an issue where it eventually after about a month stopped retrieving profile data for no reason at all but still worked, possibly because of a semi-domain change, but otherwise works if your settings are right.

About to give it a go on a reinstall on 4.2.4 after a host change.
Reply With Quote
  #533  
Old 03-27-2017, 04:56 PM
Cadellin's Avatar
Cadellin Cadellin is offline
 
Join Date: Jan 2009
Posts: 160
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Running vb4.2.4 I have recently started getting the following error when users try to login
Code:
There has been an error with your request. Please inform the Administrator, if the problem persists..
Nothing unfortunately it in the steam connect logs.

I've tried disabling quick registration but that just changes the error to:

Code:
There is no forum account which is linked to this Steam Account.

FIXED: I will leave this here for anyone having similar issues in the future. The issue for me was the API key. It may be worth resetting the key if you encounter similar issues which do not give error logs.
Reply With Quote
  #534  
Old 06-12-2017, 12:51 PM
Cyborg_delta1 Cyborg_delta1 is offline
 
Join Date: Jan 2012
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Any one know how I can get users to link there accounts after they have registered the normal way the steam link button is not showing up?
Reply With Quote
  #535  
Old 09-09-2017, 01:58 PM
Kutzooi Kutzooi is offline
 
Join Date: May 2012
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

worked like a charm, deleted 1 user and systemfail in this mod, cant reproduce it, the button just disapeared
Reply With Quote
  #536  
Old 02-15-2018, 02:34 AM
Cyborg_delta1 Cyborg_delta1 is offline
 
Join Date: Jan 2012
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi Guys I have been trying to get the Steam avatar to show up in the post bit but I can not get it to work any one have any ideas?

https://vborg.vbsupport.ru/showpost....8&postcount=18
Reply With Quote
  #537  
Old 09-08-2018, 06:54 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I know this is no longer supported, but has steam changed something that breaks this system for the most part? Getting "FETCH ERROR" whenever I check my steam info through /profile.php?do=steamlink. The only thing that appears to be caching is the steam level (in the tmp files).
Reply With Quote
  #538  
Old 09-26-2018, 12:59 AM
Arkool's Avatar
Arkool Arkool is offline
 
Join Date: May 2015
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So I tried to use this with Vbulletin 4.2.5, and I am only getting one error that is being logged:

Malformed cachefile: <file>.cache deleted.

I carefully reviewed the code and echoed out portions to see where it goes wrong.

It seems to not like something in the array "$match", and only returns an empty array. This results in the cache file being written with nothing or missing data to be considered malformed.

I figured if Steam did modify the API, some changes will need to be made. I am only a beginner in PHP so it'll be hard, and I have limited time. I'd share this to hopefully turn the bugfixing into a communal effort.

Any help is greatly appreciated, hoping to get this working!
Reply With Quote
  #539  
Old 11-11-2018, 08:34 PM
jetkai's Avatar
jetkai jetkai is offline
 
Join Date: Feb 2012
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Match array no longer works as expected on 4.2.5 vb (PHP 7.1)
[shame this is no longer supported]

Had to do some modifications to the functions_steamconnect.php file to get Avatar, DisplayName & Community URL to show.

Replace Previous Code in (functions_steamconnect.php):

Code:
$match = array();
	preg_match_all("/\w*(\".+\": .+,?)\n/", $raw_json, $match);

	if (!isset($match[1]) || !is_array($match[1])) {
		DEVDEBUG("stc_profiling[] = Time: ".(microtime(1)-$time).", ret: http404");
		return false;
	}	

	$steam_info = array();
	// We filter just for the fields we actually need.
	$additional_fields2 = explode("\n",$vbulletin->options['stc_additionalfields']);
	$whitelist = array_unique(array_merge(array('steamid', 'communityvisibilitystate', 'personaname', 'profileurl', 'avatar', 'avatarmedium', 'avatarfull'),$additional_fields,$additional_fields2));
	$values = $match[1];
	foreach ($values AS $val) {
		$match = array();
		preg_match("/\"(.+)\": ([^,]*),?/", $val, $match);
		if (is_array($match) && count($match) == 3) {

			$name = $match[1];
			$value = trim($match[2]);
			if (!in_array($name, $whitelist)) continue; // Not a setting we're looking for. skip..

			// Strip quotes and slashes
			if ($value{0} == '"' && $value{strlen($value)-1} == '"')
				$value = stripslashes(substr($value, 1, -1));

			$steam_info[$name] = $value;
		}
	}

With either options below

Code:
    $steam_info = array();
    $json_decoded = json_decode($raw_json);

    foreach ($json_decoded->response->players as $player) {

        $steam_info['steamid'] = $player->steamid;
        $steam_info['communityvisibilitystate'] = $player->communityvisibilitystate;
        $steam_info['personaname'] = $player->personaname;
        $steam_info['profileurl'] = $player->profileurl;
        $steam_info['avatar'] = $player->avatar;
        $steam_info['avatarfull'] = $player->avatarfull;
        $steam_info['avatarmedium'] = $player->avatarmedium;

    }

or

Code:
        $steam_info = array();
        $json_decoded = json_decode($raw_json);
        $steam_values = array('steamid', 'communityvisibilitystate', 'personaname', 'profileurl', 'avatar', 'avatarmedium', 'avatarfull');

        foreach ($json_decoded->response->players as $player) {

            foreach ($steam_values as $steam_value) {
                $data = $player->$steam_value;

                if($data != null && $player != null)
                    $steam_info[$steam_value] = $data;
            }

        }
No idea if this causes any further security issues, just a quick fix to showing Avatars & URL's. Haven't come across any other issues yet.
Reply With Quote
  #540  
Old 11-14-2018, 07:38 PM
hunter1985 hunter1985 is offline
 
Join Date: Oct 2012
Location: Dundee, Scotland
Posts: 33
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jetkai View Post
Match array no longer works as expected on 4.2.5 vb (PHP 7.1)
[shame this is no longer supported]

Had to do some modifications to the functions_steamconnect.php file to get Avatar, DisplayName & Community URL to show.

Replace Previous Code in (functions_steamconnect.php):

Code:
$match = array();
	preg_match_all("/\w*(\".+\": .+,?)\n/", $raw_json, $match);

	if (!isset($match[1]) || !is_array($match[1])) {
		DEVDEBUG("stc_profiling[] = Time: ".(microtime(1)-$time).", ret: http404");
		return false;
	}	

	$steam_info = array();
	// We filter just for the fields we actually need.
	$additional_fields2 = explode("\n",$vbulletin->options['stc_additionalfields']);
	$whitelist = array_unique(array_merge(array('steamid', 'communityvisibilitystate', 'personaname', 'profileurl', 'avatar', 'avatarmedium', 'avatarfull'),$additional_fields,$additional_fields2));
	$values = $match[1];
	foreach ($values AS $val) {
		$match = array();
		preg_match("/\"(.+)\": ([^,]*),?/", $val, $match);
		if (is_array($match) && count($match) == 3) {

			$name = $match[1];
			$value = trim($match[2]);
			if (!in_array($name, $whitelist)) continue; // Not a setting we're looking for. skip..

			// Strip quotes and slashes
			if ($value{0} == '"' && $value{strlen($value)-1} == '"')
				$value = stripslashes(substr($value, 1, -1));

			$steam_info[$name] = $value;
		}
	}

With either options below

Code:
    $steam_info = array();
    $json_decoded = json_decode($raw_json);

    foreach ($json_decoded->response->players as $player) {

        $steam_info['steamid'] = $player->steamid;
        $steam_info['communityvisibilitystate'] = $player->communityvisibilitystate;
        $steam_info['personaname'] = $player->personaname;
        $steam_info['profileurl'] = $player->profileurl;
        $steam_info['avatar'] = $player->avatar;
        $steam_info['avatarfull'] = $player->avatarfull;
        $steam_info['avatarmedium'] = $player->avatarmedium;

    }

or

Code:
        $steam_info = array();
        $json_decoded = json_decode($raw_json);
        $steam_values = array('steamid', 'communityvisibilitystate', 'personaname', 'profileurl', 'avatar', 'avatarmedium', 'avatarfull');

        foreach ($json_decoded->response->players as $player) {

            foreach ($steam_values as $steam_value) {
                $data = $player->$steam_value;

                if($data != null && $player != null)
                    $steam_info[$steam_value] = $data;
            }

        }
No idea if this causes any further security issues, just a quick fix to showing Avatars & URL's. Haven't come across any other issues yet.
Thanks for your help, that 1st fix worked fine on my side!
Reply With Quote
  #541  
Old 01-25-2019, 01:45 AM
KHALIK KHALIK is offline
 
Join Date: May 2005
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jetkai View Post
Match array no longer works as expected on 4.2.5 vb (PHP 7.1)
[shame this is no longer supported]

Had to do some modifications to the functions_steamconnect.php file to get Avatar, DisplayName & Community URL to show.

Replace Previous Code in (functions_steamconnect.php):

Code:
$match = array();
	preg_match_all("/\w*(\".+\": .+,?)\n/", $raw_json, $match);

	if (!isset($match[1]) || !is_array($match[1])) {
		DEVDEBUG("stc_profiling[] = Time: ".(microtime(1)-$time).", ret: http404");
		return false;
	}	

	$steam_info = array();
	// We filter just for the fields we actually need.
	$additional_fields2 = explode("\n",$vbulletin->options['stc_additionalfields']);
	$whitelist = array_unique(array_merge(array('steamid', 'communityvisibilitystate', 'personaname', 'profileurl', 'avatar', 'avatarmedium', 'avatarfull'),$additional_fields,$additional_fields2));
	$values = $match[1];
	foreach ($values AS $val) {
		$match = array();
		preg_match("/\"(.+)\": ([^,]*),?/", $val, $match);
		if (is_array($match) && count($match) == 3) {

			$name = $match[1];
			$value = trim($match[2]);
			if (!in_array($name, $whitelist)) continue; // Not a setting we're looking for. skip..

			// Strip quotes and slashes
			if ($value{0} == '"' && $value{strlen($value)-1} == '"')
				$value = stripslashes(substr($value, 1, -1));

			$steam_info[$name] = $value;
		}
	}

With either options below

Code:
    $steam_info = array();
    $json_decoded = json_decode($raw_json);

    foreach ($json_decoded->response->players as $player) {

        $steam_info['steamid'] = $player->steamid;
        $steam_info['communityvisibilitystate'] = $player->communityvisibilitystate;
        $steam_info['personaname'] = $player->personaname;
        $steam_info['profileurl'] = $player->profileurl;
        $steam_info['avatar'] = $player->avatar;
        $steam_info['avatarfull'] = $player->avatarfull;
        $steam_info['avatarmedium'] = $player->avatarmedium;

    }

or

Code:
        $steam_info = array();
        $json_decoded = json_decode($raw_json);
        $steam_values = array('steamid', 'communityvisibilitystate', 'personaname', 'profileurl', 'avatar', 'avatarmedium', 'avatarfull');

        foreach ($json_decoded->response->players as $player) {

            foreach ($steam_values as $steam_value) {
                $data = $player->$steam_value;

                if($data != null && $player != null)
                    $steam_info[$steam_value] = $data;
            }

        }
No idea if this causes any further security issues, just a quick fix to showing Avatars & URL's. Haven't come across any other issues yet.
Thank you, it worked for me as well.
Reply With Quote
Reply

Thread Tools

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 01:17 AM.


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.06132 seconds
  • Memory Usage 2,385KB
  • Queries Executed 27 (?)
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
  • (11)bbcode_code
  • (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
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (7)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • 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
  • 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