Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Facebook Connect - Allow your users to login with their Facebook account (for 3.8) Details »»
Facebook Connect - Allow your users to login with their Facebook account (for 3.8)
Version: 2.0.6, by sllik sllik is offline
Developer Last Online: Dec 2011 Show Printable Version Email this Page

Category: Integration with vBulletin - Version: 3.8.x Rating:
Released: 01-24-2009 Last Update: 09-05-2009 Installs: 803
DB Changes Uses Plugins Template Edits
Additional Files Translations  
No support by the author.

Staff Note: Moved to Graveyard - this will never work now that the old style facebook authentication is no longer available.


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

There is NO NEED to upgrade or reinstall if you already installed this mod for 3.7

Upgrade to 2.0.6 so that users with the new super long IDs will be able to login.


This mod conflicts with PhotoPost vBGallery!

Quick fix:
Disable the following PhotoPost vBGallery plugins:
  • Userinfo Merge
  • Integrate Postbit Showthread

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!

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:

Code:
The Facebook Connect cross-domain receiver URL http://www.SITEURL.com/xd_receiver.h...%220.699%22%7D must have the application's callback URL http://www.SITEURL.com/forums/ as a prefix. You can configure the callback URL in the application's settings.
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.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #802  
Old 06-21-2009, 02:14 AM
asiaphoto asiaphoto is offline
 
Join Date: Nov 2008
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for the reply, wolfstream.

for (3) & (4), i suppose the best option for me then is to manually send a facebook message to them with my own facebook account and invite them to join my forum's facebook group?

-------

for everyone,

if you have installed this mod, could you let me have the link to your forum so i may visit to see how well it's doing?
Reply With Quote
  #803  
Old 06-21-2009, 03:25 AM
rtyagis rtyagis is offline
 
Join Date: Feb 2009
Posts: 87
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for this mod!
Reply With Quote
  #804  
Old 06-21-2009, 05:36 AM
bmckinley's Avatar
bmckinley bmckinley is offline
 
Join Date: Jun 2009
Location: Texas
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Loaded, but now when someone attempts to post a 'Reply', here's what we get:

The following errors occurred with your submission:
The message you have entered is too short. Please lengthen your message to at least 10 characters.

I doubled checked the newreply template and everything appears to be correct. However, I am new to all this, so I may have missed something.

Need a little help...
Reply With Quote
  #805  
Old 06-21-2009, 09:06 AM
Nytol Nytol is offline
 
Join Date: Jun 2009
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works
Group Permissions: Unregistered / Not Logged In
Can View Forum: Yes

Guests can click the Facebook Connect button at the top-right. Works perfectly.

Problem
Group Permissions: Unregistered / Not Logged In
Can View Forum: No

Guests see the "The administrator may have required you to register before you can view this page." message. Good, that's what I want. But clicking the Facebook Connect button does nothing on this page. It seems to just refresh the page.

I don't want Guests to see my forums until they FB Connect. Any ideas?
Reply With Quote
  #806  
Old 06-21-2009, 09:21 AM
busybeeburns busybeeburns is offline
 
Join Date: Feb 2006
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Digital Jedi View Post
Looking over some of those issues mentioned in that post, I don't know if I totally agree with all of them.



Well, this much I can agree with. However, this is nothing unique to this mod. Every mod on this site suffers from that one drawback of free thrid-party modifications.


I think the only issue here is if the proxy email address no longer functions, which if I'm not mistaken, is soley the process of the Facebook Developer application. I'm just guessing here, but I would think as long you keep the application active in your Facebook Developer account, this should still always work.



I don't understand this one. How are the users able to post, or even exist, if they're not in the database?

1) Most plugins are not as important as the login stage. I'd rather have a forum with no plugins than a forum with 100 plugins but nobody able to log in to enjoy them.

2) Guessing is not helpful!

3) We've established already that not all information is stored in the database. Passwords aren't. email addresses aren't. All messages directly to the user will go through fB. The facility to mass email or mass PM through vB as far as I have tested is a casualty of this plugin.
Reply With Quote
  #807  
Old 06-21-2009, 09:44 AM
wolfstream wolfstream is offline
 
Join Date: Jan 2003
Location: Iowa
Posts: 382
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Nytol View Post
I don't want Guests to see my forums until they FB Connect. Any ideas?
I just went through this with a client actually last night.
Go into admincp, modify the guest permissions
Everything can be set to no, that's fine, EXCEPT the first option:
Can View Forum

This one option needs to be set to yes. If you do this, you will allow the guest users the basic functionality of your forum, nothing more. They will see the forum, but no forums inside of it. They will see "who's online", they will see the option to register, login, and see the fbconnect button, as well as any navbar links you haven't expressly hidden from guests.
Reply With Quote
  #808  
Old 06-21-2009, 10:32 AM
Nytol Nytol is offline
 
Join Date: Jun 2009
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by wolfstream View Post
I just went through this with a client actually last night.
Go into admincp, modify the guest permissions
Everything can be set to no, that's fine, EXCEPT the first option:
Can View Forum

This one option needs to be set to yes. If you do this, you will allow the guest users the basic functionality of your forum, nothing more. They will see the forum, but no forums inside of it. They will see "who's online", they will see the option to register, login, and see the fbconnect button, as well as any navbar links you haven't expressly hidden from guests.
Yeah, I thought as much. It's a shame, but still a great plug-in.

I really don't want guests to see anything. I know I can edit permissions to show a forum with no categories, but that is less than ideal.
Reply With Quote
  #809  
Old 06-21-2009, 01:13 PM
hydn hydn is offline
 
Join Date: Oct 2005
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've been reporting this prob for 2 months and other have posted also. Still no reply as to cause or solution.

I've even sent the $25 to developer and not even a response.

I have not done any of the optional template edits. Yet this error is seen when clicking any of the showthread pages.

Any ideas?

Quote:
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]; $vbulletin->session->set('fbuserinfo', $fbuserinfo); } catch(FacebookRestClientException $ex) { } //print_r($vbulletin->session->vars['fbuserinfo']); } function set_fb_data(&$target, $userid = '', $profilefield = false) { require_once(DIR . '/includes/facebook/facebook.php'); global $vbulletin, $db, $show, $vbphrase, $fb_field_map, $avatarurl; if ($userid) $target['userid'] = $userid; if ($vbulletin->options['fbconnect_importdata'] && $target['userid'] != '') { $fbuserinfo = $vbulletin->session->vars['fbuserinfo']; if (!is_array($fbuserinfo[$target['userid']])) { $fbuid = get_fb_uid($target['userid']); if ($fbuid) { if ($vbulletin->facebook == null) $vbulletin->facebook = new Facebook($vbulletin->options['fbconnect_apikey'], $vbulletin->options['fbconnect_secret']); try { $fbuser = $vbulletin->facebook->api_client->users_getInfo($fbuid, 'name, first_name, last_name, affiliations, pic, pic_small, pic_square'); $fbuserinfo[$target['userid']] = $fbuser[0]; $vbulletin->session->set('fbuserinfo', $fbuserinfo); } catch(FacebookRestClientException $ex) { } } } if (is_array($fbuserinfo[$target['userid']])) { if (!is_array($fb_field_map)) { $fb_field_map = array(); $profile_fields = $db->query_read(" SELECT * FROM " . TABLE_PREFIX . "fbdatamap "); while ($field = $db->fetch_array($profile_fields)) { $fb_field_map[$field['vbfield']] = $field['fbfield']; } } $not_profile_field = array('avatarurl', 'profilepicurl'); foreach ($fb_field_map as $vbfield => $fbfield) { if ($profilefield && $target['value'] && $target['value'] != $vbphrase['n_a']) continue; if ($target[$vbfield] && pathinfo($target[$vbfield], PATHINFO_BASENAME) != 'unknown.gif') continue; if ($fbfield == 'affiliations') { if (is_array($fbuserinfo[$target['userid']][$fbfield])) { foreach ($fbuserinfo[$target['userid']][$fbfield] as $network) { if ($network['type'] == 'region') { $fbuserinfo[$target['userid']][$fbfield] = $network['name']; break; } } } } if ($profilefield) { if ($vbfield == ('field' . $target['profilefieldid'])) { $target['value'] = $fbuserinfo[$target['userid']][$fbfield]; break; } } else $target[$vbfield] = $fbuserinfo[$target['userid']][$fbfield]; } if ($target['avatarurl']) { $avatarurl = $target['avatarurl']; $show['avatar'] = true; } } } } function print_datamap_row($vbdata, $fbdata, $vbselected = "", $fbselected = "") { global $vbphrase; echo ' '; if ($vbselected) echo '[ '.$vbphrase['delete'].' ]'; echo ' '; }
Reply With Quote
  #810  
Old 06-21-2009, 01:51 PM
hydn hydn is offline
 
Join Date: Oct 2005
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Same prob.

Quote:
Originally Posted by cngrock View Post
Hi

When data mapping I get this show, and it also shows when loading the posts:

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]; $vbulletin->session->set('fbuserinfo', $fbuserinfo); } catch(FacebookRestClientException $ex) { } //print_r($vbulletin->session->vars['fbuserinfo']); } function set_fb_data(&$target, $userid = '', $profilefield = false) { require_once(DIR . '/includes/facebook/facebook.php'); global $vbulletin, $db, $show, $vbphrase, $fb_field_map, $avatarurl; if ($userid) $target['userid'] = $userid; if ($vbulletin->options['fbconnect_importdata'] && $target['userid'] != '') { $fbuserinfo = $vbulletin->session->vars['fbuserinfo']; if (!is_array($fbuserinfo[$target['userid']])) { $fbuid = get_fb_uid($target['userid']); if ($fbuid) { if ($vbulletin->facebook == null) $vbulletin->facebook = new Facebook($vbulletin->options['fbconnect_apikey'], $vbulletin->options['fbconnect_secret']); try { $fbuser = $vbulletin->facebook->api_client->users_getInfo($fbuid, 'name, first_name, last_name, affiliations, pic, pic_small, pic_square'); $fbuserinfo[$target['userid']] = $fbuser[0]; $vbulletin->session->set('fbuserinfo', $fbuserinfo); } catch(FacebookRestClientException $ex) { } } } if (is_array($fbuserinfo[$target['userid']])) { if (!is_array($fb_field_map)) { $fb_field_map = array(); $profile_fields = $db->query_read(" SELECT * FROM " . TABLE_PREFIX . "fbdatamap "); while ($field = $db->fetch_array($profile_fields)) { $fb_field_map[$field['vbfield']] = $field['fbfield']; } } $not_profile_field = array('avatarurl', 'profilepicurl'); foreach ($fb_field_map as $vbfield => $fbfield) { if ($profilefield && $target['value'] && $target['value'] != $vbphrase['n_a']) continue; if ($target[$vbfield] && pathinfo($target[$vbfield], PATHINFO_BASENAME) != 'unknown.gif') continue; if ($fbfield == 'affiliations') { if (is_array($fbuserinfo[$target['userid']][$fbfield])) { foreach ($fbuserinfo[$target['userid']][$fbfield] as $network) { if ($network['type'] == 'region') { $fbuserinfo[$target['userid']][$fbfield] = $network['name']; break; } } } } if ($profilefield) { if ($vbfield == ('field' . $target['profilefieldid'])) { $target['value'] = $fbuserinfo[$target['userid']][$fbfield]; break; } } else $target[$vbfield] = $fbuserinfo[$target['userid']][$fbfield]; } if ($target['avatarurl']) { $avatarurl = $target['avatarurl']; $show['avatar'] = true; } } } } function print_datamap_row($vbdata, $fbdata, $vbselected = "", $fbselected = "") { global $vbphrase; echo ' '; if ($vbselected) echo '[ '.$vbphrase['delete'].' ]'; echo ' '; }


Any ideas on how to fix.

when I disable the facebook connect - the forums work fine.

Cheers
Reply With Quote
  #811  
Old 06-21-2009, 03:05 PM
dabollicks dabollicks is offline
 
Join Date: Nov 2007
Location: Warwickshire
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bmckinley View Post
Loaded, but now when someone attempts to post a 'Reply', here's what we get:

The following errors occurred with your submission:
The message you have entered is too short. Please lengthen your message to at least 10 characters.


I doubled checked the newreply template and everything appears to be correct. However, I am new to all this, so I may have missed something.

Need a little help...
I too am getting this error, when someone who is using the FB connect login. Ive checked and double checked everything and cant figure this out. I have upgraded to 3.8.3 this morning, would that have anything to do with it?
Reply With Quote
Reply


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 12:46 PM.


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.05660 seconds
  • Memory Usage 2,338KB
  • Queries Executed 25 (?)
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
  • (1)bbcode_code
  • (6)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
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete