The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Gamefields Icons Xbox,Wii and Playstation userfields Details »» | |||||||||||||||||||||||||||
Gamefields Icons Xbox,Wii and Playstation userfields
Developer Last Online: Feb 2018
Gamefields Icons v1.1
This is my first mod and is a spinoff of the IM & GT Icons by Datenpapst. They are different mods with different code - same concept. I would like to thank Datenpapst for allowing me to enhance his original mod for 3.6.5 here. Description This hack adds 3 fields to the User Control Panel allowing members to enter their gaming information in profiles. Nintendo Wii Friends Code Xbox Live Gamertag Playstation Network ID Features
INSTALLATION
NOTICES 1. This hack adds three database fields in your user table. Provided "as is" with no warranty.I take no responsibility for your board Always make a back up before modifying anything 2. The profiletab plugin uses str_replace for display. If you have modified your profile templates, (ie Facebook MySpace template hacks), the plugins and hooks may not work for your forum. Since this is my first attempt at vBulletin, I cannot fully support this mod. But I will try to provide some support if time allows. DEMO HERE Feature Requests add Xfire add Clan fields add usergroup settings add AJAX profile edit add image replacement options VERSION HISTORY
Show Your Support
|
Comments |
#52
|
||||
|
||||
Sorry for the lack of updates.
I have decided it's not good to alter the user table and have been developing a 3.8 version with its own table which will provide multiple field options. It's coming along very slow since I have been busy on other projects but I hope to have it out soon. Feel free to hack away at this Mod though. |
#53
|
|||
|
|||
Quote:
I am a complete newbie. But, i am good at following directions. Thanks. |
#54
|
|||
|
|||
Quote:
Game Fields Icons Templates > gamefields_playstation Code:
<input type="hidden" name="playstation code" value="$userinfo[gf_playstation]"> <if condition="$userinfo[gf_playstation]"> <a href="#" onclick="openWindow('http://pid.us.playstation.com/user/$userinfo[gf_playstation].jpg', 255, 169); return false;"> <img src="$vboptions[bburl]/images/misc/gf_playstation.gif" alt="" title="$vbphrase[gf_playstation_network_id]: $userinfo[gf_playstation]" border="0"></a></if> |
#55
|
|||
|
|||
Also, I have found a way to make it work with gXboxLive, but it would mean that if you need to update this mod, you will have the change the info in the XML each time. Basically you will not be supported by the author if you make this change. PM me for details.
|
#56
|
|||
|
|||
Quote:
Have anybody else done this? |
#57
|
||||
|
||||
The Mod isn't supported anyway and could use some improvement.
Feel free to hack away. |
#58
|
|||
|
|||
ok, with that note, I guess I'll post it here.
So after taking a look at both mods, I think that sharing the db information is the way to link the two. However, each mod writes entries into separate tables in the vB database. This mod adds information to the user table and the gXboxLive uses the userfield table. Since this is a much smaller mod, I think it would be best to mod this since it's only one file of code, rather than over 10 different files for gXboxLive. With the gXboxLive, they ask you to make a new field (lets say your field id is 5). In the MySQL backend, the userfield will have a record called field5, where the gXboxLive usernames will be stored for each individual user. My theory is, set up your gXboxLive mod first, get the code (once again we use 5). Now in this mod, there is a bit of MySQL you need to change. Code:
<code> <installcode><![CDATA[ if (!field_exists('user', 'gf_xbox', 'gf_wii', 'gf_playstation')) $db->query_write("ALTER TABLE " . TABLE_PREFIX . "user ADD gf_xbox VARCHAR( 15 ) AFTER msn"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "user ADD gf_wii VARCHAR( 19 ) AFTER msn"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "user ADD gf_playstation VARCHAR( 16 ) AFTER msn"); function field_exists($table, $field) { global $db; return ($db->num_rows($db->query_read("SHOW COLUMNS FROM `" . TABLE_PREFIX .$table."` LIKE '".$field."'"))> 0); } ]]></installcode> <uninstallcode><![CDATA[$db->query_write("ALTER TABLE " . TABLE_PREFIX . "user DROP gf_xbox"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "user DROP gf_wii"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "user DROP gf_playstation");]]></uninstallcode> </code> Code:
<code> <installcode><![CDATA[ if (!field_exists('userfield', 'field5', 'field6', 'field7')) $db->query_write("ALTER TABLE " . TABLE_PREFIX . "userfield ADD field5 VARCHAR( 15 ) AFTER field4"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "userfield ADD field6 VARCHAR( 19 ) AFTER field4"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "userfield ADD field7 VARCHAR( 16 ) AFTER field4"); function field_exists($table, $field) { global $db; return ($db->num_rows($db->query_read("SHOW COLUMNS FROM `" . TABLE_PREFIX .$table."` LIKE '".$field."'"))> 0); } ]]></installcode> <uninstallcode><![CDATA[$db->query_write("ALTER TABLE " . TABLE_PREFIX . "userfield DROP gf_xbox"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "userfield DROP field6"); $db->query_write("ALTER TABLE " . TABLE_PREFIX . "userfield DROP field7");]]></uninstallcode> </code> user > userfield gf_xbox > field5 gf_wii > field6 gf_playstation > field7 Please not these field numbers may vary depending on the number of fields you already have. So say you assigned field20 to gXboxLive, gf_xbox would be field21, gf_wii would be field22 and gf_playstation would be field23. The excerpt above deals with only the initial set up of the tables and what not. I just highlighted that portion since it sets the stage for the entire code to function properly. Continue reading. Now the confusing bit starts, because I didn't have time to sit down and figure what exactly was a MySQL function or a template function, even though I could pretty much tell by looking (just lazy to go through all honestly). So if you want to take the chance, remember what you assigned the initial MySQL entries as. e.g. user > userfield gf_xbox > field5 gf_wii > field6 gf_playstation > field7 Now, basically it's about going into an editor and replacing all the variables in the XML document. Basically your MySQL entries will be renamed and aligned with the userfield data, so new data will be recorded there instead. However, your templates will also be renamed (e.g. field5_live_gamertag). So if you are prepared to remember how you assigned them, then in theory this should work. I haven't tested it out yet since I didn't get the time, but I think this is basic math here since the author wrote his code pretty straightforward, and replacing the vars shouldn't be a big issue, once it's done it unison. However, please BACK UP YOUR DATABASE first before trying anything. Then, install gXboxLive and then install this code. Im guessing if you had gXboxLive already installed, no biggie either. I would pray that they both work simultaneously. |
#59
|
|||
|
|||
Thank you very much for this...I followed your instructions, and the 3 fields are there and labeled properly. I am getting this error when I try to update my gamer info in User CP...
MySQL Error : Unknown column 'field66' in 'field list' Error Number : 1054 |
#60
|
|||
|
|||
We shall talk more via PM
|
#61
|
||||
|
||||
@MikesSite
Even if you change the database entries, the plugin code still uses the user table. This was a theoretical view and I wouldnt advise attempting this quite yet. I backed myself into a corner by releasing this Mod because if it is ever uninstalled, all user data from the fields are deleted. I really need to write a transfer tool which allows the data to be passed to custom profile fields if ever it were to be uninstalled or get them into their own table which could simply be left behind without issues. On another note, a conditional could be used for gxboxlive detection in the plugins. Alot could be done to enhance this but I am still new to vbulletin and cant get it from my head into a text editor yet. Instead of using the user table, another possiblility would be too query the fields for the last entry and simply add three additional profile fields. Its one of those "Why did I do that?" deals. If anyone can enhance this or has suggestions, feel free to modify the code. After researching the history, it appears that Datenpapst had used code from an author who used code from another author who hasnt been around for many years and vb versions. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|