Steam Authentication & Integration

Steam Authentication & Integration 1.6.3

No permission to download
Is there a way to limit or lock a forum/category to people who have a select game. E.g DayZ forum requires you to have it on your steam library?

I think this would be a nice feature. :)
 
Is there a way to limit or lock a forum/category to people who have a select game. E.g DayZ forum requires you to have it on your steam library?

I think this would be a nice feature. :)
A good way to perform such a request :
- create a user group where all user with good criteria (the rquested game for example) are automatically placed in (with user promotion system)
- fit the access rules (permissions) to allow only the users who belong to this group

And... that's all :)
 
You're using the wrong addon, that's the old version of Steam Authentication that is no longer maintained. You need to download the latest one from the resource discussion you are on:

https://xenforo.com/community/resources/steam-authentication-integration.1336/

This is a continuation of that addon, the version you want is 1.5.2
THANK YOU VERY MUCH! It works correctly. But I have another question: How can I translate it to Spanish? Is there one file that translate it? Can you tell me where is the translate file? I can translate it manually. Thanks again.
 
Spanish Translations have not been provided to me. I only have English, German, and part of the Portuguese translations.

You can get the file off GitHub for the javascript here:
https://github.com/HowIChrgeLazer/S...lob/master/_dev/js/steam/ajax/steamprofile.js

Then you edit the XML file to whichever language you prefer in:
js\steam\ajax\steamprofile.xml

If you don't feel comfortable or don't know how to make these edits, I recommend waiting until I can include this in a future update.

This is the list of English phrases that are in the Steam Profile badge javascript:
loading : "Loading...",
no_profile : "This user has not yet set up their Steam Community profile.",
private_profile : "This profile is private.",
invalid_data : "Invalid profile data.",
join_game : "Join Game",
add_friend : "Add to Friends",
view_tf2items : "View TF2 Backpack",
view_games : "View games",
view_friends : "View friends",
view_groups : "View groups",
view_inventory : "View inventory",
view_wishlist : "View wishlist",
view_videos : "View videos",
view_screenshots : "View screenshots",
profile_visibilities : {
0 : "Offline",
1 : "Online",
2 : "Busy",
3 : "Away",
4 : "Snooze",
5 : "In-Game",
7 : "Looking to Trade",
6 : "Looking to Play"
 
Spanish Translations have not been provided to me. I only have English, German, and part of the Portuguese translations.

You can get the file off GitHub for the javascript here:
https://github.com/HowIChrgeLazer/S...lob/master/_dev/js/steam/ajax/steamprofile.js

Then you edit the XML file to whichever language you prefer in:
js\steam\ajax\steamprofile.xml

If you don't feel comfortable or don't know how to make these edits, I recommend waiting until I can include this in a future update.

This is the list of English phrases that are in the Steam Profile badge javascript:
loading : "Loading...",
no_profile : "This user has not yet set up their Steam Community profile.",
private_profile : "This profile is private.",
invalid_data : "Invalid profile data.",
join_game : "Join Game",
add_friend : "Add to Friends",
view_tf2items : "View TF2 Backpack",
view_games : "View games",
view_friends : "View friends",
view_groups : "View groups",
view_inventory : "View inventory",
view_wishlist : "View wishlist",
view_videos : "View videos",
view_screenshots : "View screenshots",
profile_visibilities : {
0 : "Offline",
1 : "Online",
2 : "Busy",
3 : "Away",
4 : "Snooze",
5 : "In-Game",
7 : "Looking to Trade",
6 : "Looking to Play"
Ok, everything is OK, but when I translate it, the color of the letters of widget changes to black and I can't read it. How can I fix it?
 
It also depends on how you need to use them. I've included helpers so if you need to display a SteamID in a XenForo template you can. No DB access needed.
 
Is there a way to check if someone has a steam account associated with their forum account. I'm making a page on my forum and I need it to show something if people have a steam account associated and show something else if they do not have one associated.
 
Probably like checking if $visitor.externalAuth.steam is > 0 or something. I can't dump the visitor array right now, but that's along the lines of what you want to check.
 
It also depends on how you need to use them. I've included helpers so if you need to display a SteamID in a XenForo template you can. No DB access needed.
how would i do that?
I need to get that and present it in the profile, how would i 'get' the steamid?
 
how would i do that?
I need to get that and present it in the profile, how would i 'get' the steamid?

https://xenforo.com/community/search/6235796/?q=helpers&t=post&o=relevance&c[thread]=42694
https://xenforo.com/community/threads/steam-authentication-integration.42694/page-17#post-635995

What would be the best way to get the SteamID via PHP in another XenForo add-on?

It depends on how you need it. If you're getting it for the visitor that's viewing the page, you can do it like this:

https://github.com/HowIChrgeLazer/S...ster/upload/library/Steam/Helper/Criteria.php

Or you could do a DB query too, but it is an External Auth just like Facebook or Twitter, so you can get the key just like other providers. The source code is open and available, you're welcome to look through it. I try to keep it readable when possible.
 
It depends on how you need it. If you're getting it for the visitor that's viewing the page, you can do it like this:

https://github.com/HowIChrgeLazer/S...ster/upload/library/Steam/Helper/Criteria.php

Or you could do a DB query too, but it is an External Auth just like Facebook or Twitter, so you can get the key just like other providers. The source code is open and available, you're welcome to look through it. I try to keep it readable when possible.

Unfortunately it won't be visitor based, I only have the user ID. The problem with a DB query is on my install it's not readable (at least by me), it seems to be stored in some varbinary format.

2014_12_26-99e03db731661b981902f48e2300f95f.png
 
After someone signed up with the steam account he/she get following error:
A server error occurred. Please try again later.
and on admincp it says:
ErrorException: Invalid argument supplied for foreach() - library/Steam/ControllerPublic/Register.php:784

The login works but better if the error get fixed.
 
Unfortunately it won't be visitor based, I only have the user ID. The problem with a DB query is on my install it's not readable (at least by me), it seems to be stored in some varbinary format.

2014_12_26-99e03db731661b981902f48e2300f95f.png

I can assure you that the provider_key is a SteamID64 value. Your phpmyadmin is showing a hex value, which is what isn't what is stored in the table.

https://xenforo.com/community/threads/steam-authentication-integration.42694/page-40#post-828568

Your value 3736353631313937393630343831383638 = 76561197960481868 which is http://steamcommunity.com/profiles/76561197960481868

And the provide column actually says 737465616d = steam

http://www.unit-conversion.info/texttools/hexadecimal/

After someone signed up with the steam account he/she get following error:
A server error occurred. Please try again later.
and on admincp it says:
ErrorException: Invalid argument supplied for foreach() - library/Steam/ControllerPublic/Register.php:784

The login works but better if the error get fixed.

Line 784 doesn't exist anymore in register.php. My code only goes up to line 688. If you've installed the latest version of SteamAuth please make sure all the files are uploaded correctly.
 
Small suggestion for template modifications used by add-on.

Template modification "SteamFooter" searches for <ul class="footerLinks"> that might not exist in some styles. I suggest replacing that template modification values with:

Search:
Code:
<xen:hook name="footer_links">
Replace:
Code:
<xen:include template="steam_footer" />
       $0
That will make that replacement work with all styles regardless of HTML code used by style because all styles have template hook.
 
Small suggestion for template modifications used by add-on.

Template modification "SteamFooter" searches for <ul class="footerLinks"> that might not exist in some styles. I suggest replacing that template modification values with:

Search:
Code:
<xen:hook name="footer_links">
Replace:
Code:
<xen:include template="steam_footer" />
       $0
That will make that replacement work with all styles regardless of HTML code used by style because all styles have template hook.

I am aware of the template hook in the footer, but unfortunately I want to avoid it if possible as the hook system is deprecated since XenForo 1.2:

https://xenforo.com/community/threads/template-modifications-and-comparison.48412/
 
But hooks are still there in templates, so its a better target for replacement. There could be multiple ul.footerLinks in footer template and/or they could have additional class names or ids, making your current search fail.
 
I will probably make this change with the next update, but my only concern is that it'll break entirely if template hooks are done away with completely in future XenForo updates.
 
Top Bottom