Well first off I would like to thank burnist for allowing me to re-release this hack as a product and change a few things so it will work with xfire and google talk also. Here is the original hack by burnist
Add Skype To IM List.
The code is almost the same with very few changes all i really did was automate the query and adding the templates and added prases to it but you will still need to edit a few templates and have 1 file edit ONLY IF you want this feature.
Title: Add Skype/Xfire/Google Talk to IM List
Function: Adds a listings for Skype/Xfire/Google Talk along side the instant messengers in the profile, memberlist, postbit and Who's Online (WOL requires file edit)
Installation: - Load The XML file in the Product manager
- Upload im_skype.gif/im_xfire.gif/im_gt.gif to images/misc
- Do Template Edits
- WOL addition is listed in the Thread
- If it becomes available the WOL will be added by a hook (future version)
- Tested on vB 3.5 GOLD
Author: Greg Orsi (Hawkbizkit)
Original Author: Stewart Ritchie (acid burn/burnist)
Date: Tuesday October 18th
Version: 1.0
License: Provided "as is" with no warrnty. I take no responsibility for your board, always make a back up before modifying anything, even more important now as modifications them selves are stored in the database now.
Can only be distributed on Vbulletin.org or other official Sites without my permission.
OPTIONAL FILE MOD IF YOU WANT THIS FEATURE!!!
The following will add Skype/Xfire/Google Talk to the Who's Online IM list, it was not included in the hack file as it requires file edits and the rest of the add-on uses hooks so you can add this at your own discretion.
Depending on which version you install you will need to change a few things in the file edit.
#########
## WOL ###
#########
Open online.php and find
PHP Code:
$allusers = $db->query_read("
SELECT user.username, session.useragent, session.location, session.lastactivity, user.userid, user.options, session.host, session.badlocation, session.incalendar, user.aim, user.icq, user.msn, user.yahoo,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
". iif($vbulletin->options['WOLguests'], " LEFT JOIN " . TABLE_PREFIX . "user AS user USING (userid) ", ", " . TABLE_PREFIX . "user AS user") ."
WHERE session.lastactivity > $datecut
". iif(!$vbulletin->options['WOLguests'], " AND session.userid = user.userid", "") ."
ORDER BY $sqlsort $sortorder
");
Replace It with
For Skype:
PHP Code:
$allusers = $db->query_read("
SELECT user.username, session.useragent, session.location, session.lastactivity, user.userid, user.options, session.host, session.badlocation, session.incalendar, user.aim, user.icq, user.msn, user.yahoo, user.skype,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
". iif($vbulletin->options['WOLguests'], " LEFT JOIN " . TABLE_PREFIX . "user AS user USING (userid) ", ", " . TABLE_PREFIX . "user AS user") ."
WHERE session.lastactivity > $datecut
". iif(!$vbulletin->options['WOLguests'], " AND session.userid = user.userid", "") ."
ORDER BY $sqlsort $sortorder
");
For Xfire:
PHP Code:
$allusers = $db->query_read("
SELECT user.username, session.useragent, session.location, session.lastactivity, user.userid, user.options, session.host, session.badlocation, session.incalendar, user.aim, user.icq, user.msn, user.yahoo, user.xfire,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
". iif($vbulletin->options['WOLguests'], " LEFT JOIN " . TABLE_PREFIX . "user AS user USING (userid) ", ", " . TABLE_PREFIX . "user AS user") ."
WHERE session.lastactivity > $datecut
". iif(!$vbulletin->options['WOLguests'], " AND session.userid = user.userid", "") ."
ORDER BY $sqlsort $sortorder
");
For Googletalk:
PHP Code:
$allusers = $db->query_read("
SELECT user.username, session.useragent, session.location, session.lastactivity, user.userid, user.options, session.host, session.badlocation, session.incalendar, user.aim, user.icq, user.msn, user.yahoo, user.googletalk,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
". iif($vbulletin->options['WOLguests'], " LEFT JOIN " . TABLE_PREFIX . "user AS user USING (userid) ", ", " . TABLE_PREFIX . "user AS user") ."
WHERE session.lastactivity > $datecut
". iif(!$vbulletin->options['WOLguests'], " AND session.userid = user.userid", "") ."
ORDER BY $sqlsort $sortorder
");
For Google Talk/Xfire/Skype Triple Pack:
PHP Code:
$allusers = $db->query_read("
SELECT user.username, session.useragent, session.location, session.lastactivity, user.userid, user.options, session.host, session.badlocation, session.incalendar, user.aim, user.icq, user.msn, user.yahoo, user.googletalk, user.xfire, user.skype,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
". iif($vbulletin->options['WOLguests'], " LEFT JOIN " . TABLE_PREFIX . "user AS user USING (userid) ", ", " . TABLE_PREFIX . "user AS user") ."
WHERE session.lastactivity > $datecut
". iif(!$vbulletin->options['WOLguests'], " AND session.userid = user.userid", "") ."
ORDER BY $sqlsort $sortorder
");
Save and close online.php
Open The template 'whosonlinebit'
Find
HTML Code:
$userinfo[yahooicon]
Add under this
HTML Code:
$userinfo[gticon]
$userinfo[xfireicon]
$userinfo[skypeicon]
#############
### /WOL #####
#############