Register Members List Search Today's Posts Mark Forums Read

Reply
 
Mod Options
Facebook Connect - Allow your users to login with their Facebook account Details »
Facebook Connect - Allow your users to login with their Facebook account
Mod Version: 2.0.5, by sllik (Member) sllik is offline
Developer Last Online: Dec 2011 I like it Show Printable Version Email this Page

This modification is in the archives.
vB Version: 3.7.x Rating: (78 votes - 4.72 average) Installs: 499
Released: 10 Dec 2008 Last Update: 24 Mar 2009 Downloads: 6150
Not Supported DB Changes Uses Plugins Template Edits Additional Files Translations External Content  

Facebook Connect
This add-on allows your guests and existing users to login with their Facebook account through Facebook Connect.

WORKS WITH 3.8!

Benefits of Facebook Connect
  • Users can simply login with their Facebook account without going through the registration process.
  • Increase user interaction and your traffic through Facebook notifications and news-feeds!
Features
Facebook users will be able to receive Facebook notifications when:
  • There is a reply to their thread or a thread that they're subscribing to
  • They receive a new PM
News-Feed will be published on to the user's wall when the user:
  • Logs in for the first time
  • Replies to a thread
  • Creates a new thread
Fetch user data from Facebook
Fetch data like name, location, profile picture and use it on your forums! (NOTE: Some data may not be available for some users)

Automatically befriend user's friends
If any of the user's friends are also registered on the forum, they will automatically be friends!

How to Upgrade From 2.0.0 to 2.0.1
  • Upgrade the product. (Import the product XML again and set overwrite to yes).
  • Update Feed Template IDs in the settings (make sure they are the same as at: FB Connect Options -> News-Feed Templates)
How to Upgrade From 2.0.1 to 2.0.2
See UPGRADE.html
  • Fixed the notification problem (notifications were sent to wrong people)
  • Login button will now be displayed on vbAdvanced pages
How to Upgrade From 2.0.2 to 2.0.3
See UPGRADE.html
  • Fixed the Facebook avatar displayed for the wrong people problem.
  • Added Facebook UID & Profile URL field to data map.
Professional Install/Upgrade/Support Services
Want this mod professionally installed? It's guaranteed to work on your forum! Download the archive and see INSTALL.html/UPGRADE.html for more details!

Troubleshooting
Server Requirements:
PHP 5

If you get an error:


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

Means that there is something wrong with your callback URL. Your callback URL must be where xd_receiver.htm is; so when you enter [callbackurl]/xd_receiver.htm into your browser you should see a blank page (not a 404 page not found error or anything else).

If you get a continues this means there is a javascript error. Make sure you've done all the template edits correctly (especially footer & navbar). Clear your cache and reload the page.

If nothing happens when you click the Facebook Connect button make sure your callback url domain is the same as you forum domain (the one set in your forum settings) - more specifically make sure that there is a www (or isn't) in both domains.


Many more features may be implemented in the future so keep checking for updates.

Download Now

Only licensed members can download files, Click Here for more information.

Screenshots

Click image for larger version

Name:	shot1.png
Views:	4318
Size:	103.3 KB
ID:	90376   Click image for larger version

Name:	shot2.png
Views:	6029
Size:	105.8 KB
ID:	90377   Click image for larger version

Name:	shot3.png
Views:	6897
Size:	139.5 KB
ID:	90378   Click image for larger version

Name:	shot4.png
Views:	6004
Size:	106.3 KB
ID:	91218  

Click image for larger version

Name:	shot5.png
Views:	5121
Size:	60.9 KB
ID:	91219  

Show Your Support

  • To receive notifications regarding updates -> Click to Mark as Installed.
  • If you like this modification support the author by donating.
  • This modification may not be copied, reproduced or published elsewhere without author's permission.
  #1051  
Old 25 Jan 2009, 02:46
sdsvtdriver sdsvtdriver is offline
 
Join Date: Mar 2005
Originally Posted by sllik View Post
fixed!
Thanks! I updated to 2.0.3 today!

Any thoughts on adding an exclusion to certain forums (admin, etc.) so it doesn't update the newsfeed?

Last edited by sdsvtdriver; 25 Jan 2009 at 03:14.
Reply With Quote
  #1052  
Old 25 Jan 2009, 03:43
Brandon Sheley's Avatar
Brandon Sheley Brandon Sheley is offline
 
Join Date: Mar 2005
Real name: Brandon
Originally Posted by sdsvtdriver View Post
Thanks! I updated to 2.0.3 today!

Any thoughts on adding an exclusion to certain forums (admin, etc.) so it doesn't update the newsfeed?
I would like this as well.
like private forums that wouldn't need to be posted on the news feed

updated with no problems
__________________

Email me for website help: brandon[at]sheley[dot]org
Reply With Quote
  #1053  
Old 25 Jan 2009, 04:01
peppy peppy is offline
 
Join Date: Feb 2007
Hi

I just installed 2.0.3 and I get a whole page of SQL appear as text when I try and map the fields

query_first(" SELECT fbuid FROM " . TABLE_PREFIX . "fbuser WHERE userid = " . $userid . " LIMIT 1 "); return intval($user['fbuid']); } function fetch_fbuser_info($query) { require_once(DIR . '/includes/facebook/facebook.php'); global $vbulletin, $db; $fbusers = $db->query_read($query); $fbuids = ""; $vbuids = array(); while ($fbuser = $db->fetch_array($fbusers)) { if ($fbuser['fbuid']) { $fbuids .= $fbuser['fbuid'] . ","; $vbuids[] = $fbuser['userid']; } } $fbuids = rtrim($fbuids, ','); $fbuserinfo = $vbulletin->session->vars['fbuserinfo']; if ($vbulletin->facebook == null) $vbulletin->facebook = new Facebook($vbulletin->options['fbconnect_apikey'], $vbulletin->options['fbconnect_secret']); try { $fbuser = $vbulletin->facebook->api_client->users_getInfo($fbuids, 'name, first_name, last_name, affiliations, pic, pic_small, pic_square'); for ($i = 0; $i < count($fbuser); $i++) $fbuserinfo[$vbuids[$i]] = $fbuser[$i]; $v

etc..
Reply With Quote
  #1054  
Old 25 Jan 2009, 10:11
indie2industry's Avatar
indie2industry indie2industry is offline
 
Join Date: Jan 2008
Wow!!! Insane!! Works Perfectly!!
Reply With Quote
  #1055  
Old 25 Jan 2009, 17:03
Hex_legend Hex_legend is offline
 
Join Date: May 2007
Im having a weird problem.

I have set it all up now, so its working apart from one thing.

I have vBA installed and anyone who is a member of the facebook group cannot view the main page due to "usergroup permissions" (which is vba)

I have set all the usergroup permissions.

I am running 3.7.4
Reply With Quote
  #1056  
Old 25 Jan 2009, 18:17
sllik sllik is offline
 
Join Date: Apr 2004
Originally Posted by peppy View Post
Hi

I just installed 2.0.3 and I get a whole page of SQL appear as text when I try and map the fields

query_first(" SELECT fbuid FROM " . TABLE_PREFIX . "fbuser WHERE userid = " . $userid . " LIMIT 1 "); return intval($user['fbuid']); } function fetch_fbuser_info($query) { require_once(DIR . '/includes/facebook/facebook.php'); global $vbulletin, $db; $fbusers = $db->query_read($query); $fbuids = ""; $vbuids = array(); while ($fbuser = $db->fetch_array($fbusers)) { if ($fbuser['fbuid']) { $fbuids .= $fbuser['fbuid'] . ","; $vbuids[] = $fbuser['userid']; } } $fbuids = rtrim($fbuids, ','); $fbuserinfo = $vbulletin->session->vars['fbuserinfo']; if ($vbulletin->facebook == null) $vbulletin->facebook = new Facebook($vbulletin->options['fbconnect_apikey'], $vbulletin->options['fbconnect_secret']); try { $fbuser = $vbulletin->facebook->api_client->users_getInfo($fbuids, 'name, first_name, last_name, affiliations, pic, pic_small, pic_square'); for ($i = 0; $i < count($fbuser); $i++) $fbuserinfo[$vbuids[$i]] = $fbuser[$i]; $v

etc..
double check your server settings... this is php code not mysql... you should never see this.

Originally Posted by indie2industry View Post
Wow!!! Insane!! Works Perfectly!!


Originally Posted by Hex_legend View Post
Im having a weird problem.

I have set it all up now, so its working apart from one thing.

I have vBA installed and anyone who is a member of the facebook group cannot view the main page due to "usergroup permissions" (which is vba)

I have set all the usergroup permissions.

I am running 3.7.4
i danno man... seems like a permission issue... you can try and change the default user group for facebook users (in the FB Connect Settings).
__________________
Want Facebook Connect for vBulletin professionally installed on your forum? It's guaranteed to work! PM me for details!
Reply With Quote
  #1057  
Old 25 Jan 2009, 18:24
Blackhat's Avatar
Blackhat Blackhat is offline
 
Join Date: Mar 2005
what about msn connect?
__________________
running vBulletin 4.0.6
Reply With Quote
  #1058  
Old 25 Jan 2009, 18:35
sllik sllik is offline
 
Join Date: Apr 2004
Originally Posted by Blackhat View Post
what about msn connect?
lol sorry not yet
__________________
Want Facebook Connect for vBulletin professionally installed on your forum? It's guaranteed to work! PM me for details!
Reply With Quote
  #1059  
Old 25 Jan 2009, 20:53
Hex_legend Hex_legend is offline
 
Join Date: May 2007
Any plans to do the instant messenger that facebook has?

Sllik, could you please PM me? I had an idea about a new add-on =]
Reply With Quote
  #1060  
Old 26 Jan 2009, 10:57
Blackhat's Avatar
Blackhat Blackhat is offline
 
Join Date: Mar 2005
when those guests logs in using facebook, are those accounts just temporary or permanent ?
__________________
running vBulletin 4.0.6
Reply With Quote
  #1061  
Old 26 Jan 2009, 11:38
sdsvtdriver sdsvtdriver is offline
 
Join Date: Mar 2005
Originally Posted by Blackhat View Post
when those guests logs in using facebook, are those accounts just temporary or permanent ?
Permanent. It creates an account in your forum's db.
Reply With Quote
  #1062  
Old 26 Jan 2009, 11:41
Blackhat's Avatar
Blackhat Blackhat is offline
 
Join Date: Mar 2005
Great
__________________
running vBulletin 4.0.6
Reply With Quote
  #1063  
Old 26 Jan 2009, 11:42
dxlwebs dxlwebs is offline
 
Join Date: Jun 2008
any ideas on mine silikyou told me to email it to you and i did butyet still no reply
__________________
aarretalo.net
Reply With Quote
  #1064  
Old 26 Jan 2009, 12:08
Blackhat's Avatar
Blackhat Blackhat is offline
 
Join Date: Mar 2005
I get this when I login and nothing more
# facebook == null) $vbulletin->facebook = new Facebook($vbulletin->options['fbconnect_apikey'], $vbulletin->options['fbconnect_secret']); $facebook = $vbulletin->facebook; $fbuid = intval($vbulletin->facebook->get_loggedin_user()); if ($fbuid > 0) { $vbuser = $db->query_first(" SELECT userid FROM " . TABLE_PREFIX . "fbuser AS fbuser WHERE fbuid = " . $fbuid . " LIMIT 1 "); if ($vbuser['userid']) { $vbulletin->userinfo = $vbulletin->db->query_first("SELECT userid, usergroupid, membergroupids, infractiongroupids, username, password, salt FROM " . TABLE_PREFIX . "user WHERE userid = '" . $vbuser['userid'] . "'"); if ($vbulletin->userinfo['username']) { //set coockies vbsetcookie('userid', $vbulletin->userinfo['userid'], true, true, true); vbsetcookie('password', md5($vbulletin->userinfo['password'] . COOKIE_SALT), true, true, true); //login vb user process_new_login('', true, ''); $path_parts = pathinfo(parse_url($vbulletin->url, PHP_URL_PATH)); if ($path_parts['basename'] == 'fblogin.php') $vbulletin->url = $vbulletin->options['forumhome'] . '.php'; // do redirect if (!is_array($vbphrase)) $vbphrase = array(); do_login_redirect(); } else { $db->query_write("DELETE FROM " . TABLE_PREFIX . "fbuser WHERE fbuid = $fbuid"); $templatename = 'fbconnect_login'; } } else { //request username to create a new vb user $templatename = 'fbconnect_login'; } } else { eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl']))); } if ($_GET['do'] == 'login') { $templatename = 'fbconnect_loginform'; } if ($_POST['do'] == 'addmember') { $vbulletin->input->clean_array_gpc('p', array( 'username' => TYPE_STR )); if (!$vbulletin->options['allowregistration']) { eval(standard_error(fetch_error('noregister'))); } $fbuserinfo = $facebook->api_client->users_getInfo($fbuid, array('proxied_email')); $fbuserinfo = $fbuserinfo[0]; // init user datamanager class $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_ARRAY); if ($vbulletin->options['moderatenewmembers']) { $newusergroupid = 4; } else { $newusergroupid = ((intval($vbulletin->options['fbconnect_defaultgroup']) > 0) ? $vbulletin->options['fbconnect_defaultgroup'] : 2); } $userdata->set('username', $vbulletin->GPC['username']); //generate random password $userdata->set('password', generate_password()); // set usergroupid $userdata->set('usergroupid', $newusergroupid); // set languageid $userdata->set('languageid', $vbulletin->userinfo['languageid']); // set user title $userdata->set_usertitle('', false, $vbulletin->usergroupcache["$newusergroupid"], false, false); // register IP address $userdata->set('ipaddress', IPADDRESS); $userdata->pre_save(); // check for errors if (!empty($userdata->errors)) { $_REQUEST['do'] = 'register'; $errorlist = ''; foreach ($userdata->errors AS $index => $error) { $errorlist .= "$error
"; } $username = htmlspecialchars_uni($vbulletin->GPC['username']); $show['errors'] = true; } else { $show['errors'] = false; $userdata->set('email', $fbuserinfo['proxied_email']); // save the data $vbulletin->userinfo['userid'] = $userid = $userdata->save(); if ($userid) { //map fbuser to vbuser $db->query_write(" INSERT IGNORE INTO " . TABLE_PREFIX . "fbuser (fbuid, userid) VALUES (" . $fbuid . ", " . intval($userid) . ") "); $friendcount = 0; if ($vbulletin->options['fbconnect_importfriends']) { //find friends and add to friend's list $friends = $facebook->api_client->friends_get(); if (is_array($friends) && count($friends) > 0) { $vbfriends = $db->query_read(" SELECT user.userid FROM " . TABLE_PREFIX . "user AS user, " . TABLE_PREFIX . "fbuser AS fbuser WHERE fbuser.fbuid IN (" . implode(',', $friends) . ") AND user.userid = fbuser.userid "); while ($friend = $db->fetch_array($vbfriends)) { $db->query_write(" INSERT IGNORE INTO " . TABLE_PREFIX . "userlist (userid, relationid, type, friend) VALUES (" . intval($userid) . ", " . $friend['userid'] . ", 'buddy', 'yes') "); $friendcount++; } } } $vbulletin->userinfo['fbuid'] = $userid; $userinfo = fetch_userinfo($userid); $userdata_rank =& datamanager_init('User', $vbulletin, ERRTYPE_SILENT); $userdata_rank->set_existing($userinfo); $userdata_rank->set('posts', 0); $userdata_rank->set('friendcount', $friendcount); $userdata_rank->save(); // force a new session to prevent potential issues with guests from the same IP, see bug #2459 require_once(DIR . '/includes/functions_login.php'); $vbulletin->session->created = false; process_new_login('', false, ''); //post news-feed /* if ($vbulletin->options['fbconnect_firstlogintemplateid']) { $tokens = array( 'bbtitle' => $vbulletin->options['bbtitle'], 'bburl' => $vbulletin->options['bburl'], 'images' => array() ); try { $vbulletin->facebook->api_client->feed_publishUserAction($vbulletin->options['fbconnect_firstlogintemplateid'], $tokens, '', '', 1); } catch(FacebookRestClientException $ex) { } } */ $username = $vbulletin->GPC['username']; $email = $fbuserinfo['proxied_email']; // send new user email if ($vbulletin->options['newuseremail'] != '') { $ipaddress = IPADDRESS; eval(fetch_email_phrases('newuser', 0)); $newemails = explode(' ', $vbulletin->options['newuseremail']); foreach ($newemails AS $toemail) { if (trim($toemail)) { vbmail($toemail, $subject, $message); } } } if ($newusergroupid == 2) { if ($vbulletin->options['welcomemail']) { eval(fetch_email_phrases('welcomemail')); vbmail($email, $subject, $message); } } $vbulletin->url = str_replace('"', '', $vbulletin->url); if (!$vbulletin->url) { $vbulletin->url = $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q']; } else { $vbulletin->url = iif(strpos($vbulletin->url, 'register.php') !== false, $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'], $vbulletin->url); } if ($vbulletin->options['moderatenewmembers']) { eval(standard_error(fetch_error('moderateuser', $username, $vbulletin->options['forumhome'], $vbulletin->session->vars['sessionurl_q']), '', false)); } else { eval(standard_error(fetch_error('registration_complete', $username, $vbulletin->session->vars['sessionurl'], $vbulletin->options['bburl'] . '/' . $vbulletin->options['forumhome'] . '.php'), '', false)); } } } } eval('print_output("' . fetch_template($templatename) . '");');
__________________
running vBulletin 4.0.6
Reply With Quote
  #1065  
Old 26 Jan 2009, 12:40
indie2industry's Avatar
indie2industry indie2industry is offline
 
Join Date: Jan 2008
Originally Posted by sllik View Post
Originally Posted by Blackhat View Post
what about msn connect?
lol sorry not yet
But it would be crazy if there was a GOOGLE connect... Where you could use your google/gmail account to register/log-in..

This may be next to impossible but I had to mention it..



Oh yeah, once I get my tax return I'm DEFINITELY sending a donation. I think everyone should do the same...
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Mod Options

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


New To Site? Need Help?

All times are GMT. The time now is 04:54.

Layout Options | Width: Wide Color: