Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.7 > vBulletin 3.7 Add-ons
FAQ Community Calendar Today's Posts Search

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

Category: Integration with vBulletin - Version: 3.7.x Rating:
Released: 12-09-2008 Last Update: 03-23-2009 Installs: 499
DB Changes Uses Plugins Template Edits
Additional Files Translations  
No support by the author.

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:

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
  #902  
Old 01-16-2009, 12:04 AM
joyboy2001 joyboy2001 is offline
 
Join Date: Nov 2008
Location: New Delhi, India
Posts: 67
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, this should sound stupid, but can I somehow not allow people to login with their facebook accounts but just allow existing members to associate their facebook accounts to be associated with the forum so that their updates are posted to facebook ?
Reply With Quote
  #903  
Old 01-16-2009, 12:35 AM
hydn hydn is offline
 
Join Date: Oct 2005
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

When users try to login they get:

Code:
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) . '");');
Any ideas?
Reply With Quote
  #904  
Old 01-16-2009, 12:40 AM
hydn hydn is offline
 
Join Date: Oct 2005
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by playSocial View Post
Even with the upgrade done I am still getting the error I was when you click the login button

Please if someone could look at the attached image and give me som clues as to what might be causing this problem I would really appreciate it. I have spent hours upon hours trying to sort it, including completly reinstalling the forum.
Same error here. Whats the fix?
Reply With Quote
  #905  
Old 01-16-2009, 02:16 AM
dilbert dilbert is offline
 
Join Date: Nov 2004
Location: Boston
Posts: 251
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This looks really terrific.

I just added it to my test board, and all seems "OK".

I have my registrations set to require a unique email, but when I used fb connect it allowed the same email to be used. I'd prefer it doesn't do this for two reason.
I use the emails in the db to send weekly newsletters, and the fb connect user has something like this for an address: apps+99999999.582092222.a93a84ca74f609c6f517ec9635 9e1708@proxymail.facebook.com.

Clearly I can't send to an email like that.

Secondly, not all users of my site are computer savvy. I'd prefer not to have the same person register again thinking this is needed in addition to a normal registration.

Is there a way to overcome these issues?

Also, how do you select an account in the forum that alreay exists when logging in with fb?
Reply With Quote
  #906  
Old 01-16-2009, 05:19 AM
samet54 samet54 is offline
 
Join Date: Mar 2007
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

turkıs ınstall pls help me
Reply With Quote
  #907  
Old 01-16-2009, 06:22 AM
nMIK-3 nMIK-3 is offline
 
Join Date: Dec 2004
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can existing forum members associate their vbulletin account with their facebook account?
Reply With Quote
  #908  
Old 01-16-2009, 07:54 AM
ekantnl ekantnl is offline
 
Join Date: May 2008
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Database error when replying or quoting to a message:

Code:
Database error in vBulletin 3.7.4:

Invalid SQL:

		SELECT DISTINCT fbuser.fbuid
		FROM subscribethread AS subscribethread, fbuser AS fbuser
		WHERE subscribethread.threadid =  AND (fbuser.userid =  OR (subscribethread.userid = fbuser.userid));

MySQL Error   : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (fbuser.userid =  OR (subscribethread.userid = fbuser.userid))' at line 3
Error Number  : 1064
Request Date  : Friday, January 16th 2009 @ 10:50:31 AM
Error Date    : Friday, January 16th 2009 @ 10:50:31 AM
Script        : http://www.***********.com/newreply.php?do=postreply&t=4017
Referrer      : http://www.***********.com/newreply.php?do=newreply&p=6462
IP Address    : 72.170.284.36
Username      : ekantnl
Classname     : vB_Database
MySQL Version : 4.1.21-standard-log



I am not able to upgrade my DB version as I am depending on my hosting provider. They can not upgrade yet because of compatibility issues.

So... what to do / how to solve this?
Reply With Quote
  #909  
Old 01-16-2009, 08:00 AM
ekantnl ekantnl is offline
 
Join Date: May 2008
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by nMIK-3 View Post
Can existing forum members associate their vbulletin account with their facebook account?
yes they can
Reply With Quote
  #910  
Old 01-16-2009, 09:08 AM
dxlwebs dxlwebs is offline
 
Join Date: Jun 2008
Posts: 237
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ekantnl View Post
Database error when replying or quoting to a message:

Code:
Database error in vBulletin 3.7.4:

Invalid SQL:

		SELECT DISTINCT fbuser.fbuid
		FROM subscribethread AS subscribethread, fbuser AS fbuser
		WHERE subscribethread.threadid =  AND (fbuser.userid =  OR (subscribethread.userid = fbuser.userid));

MySQL Error   : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (fbuser.userid =  OR (subscribethread.userid = fbuser.userid))' at line 3
Error Number  : 1064
Request Date  : Friday, January 16th 2009 @ 10:50:31 AM
Error Date    : Friday, January 16th 2009 @ 10:50:31 AM
Script        : http://www.***********.com/newreply.php?do=postreply&t=4017
Referrer      : http://www.***********.com/newreply.php?do=newreply&p=6462
IP Address    : 72.170.284.36
Username      : ekantnl
Classname     : vB_Database
MySQL Version : 4.1.21-standard-log



I am not able to upgrade my DB version as I am depending on my hosting provider. They can not upgrade yet because of compatibility issues.

So... what to do / how to solve this?
try doing a table repair through vb settings and see if that helps if not do a reinstall and see how that does!

you shouldnt get a sql error! give thoughs two a go andthen get back
Reply With Quote
  #911  
Old 01-16-2009, 09:17 AM
dxlwebs dxlwebs is offline
 
Join Date: Jun 2008
Posts: 237
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by samet54 View Post
speak turkısh pls help me problem turkısh lengaune pls help me www.belesciforum.org
senin kod belki yanlis yapmis takra bak

unce benimki calismadi kodler yanlis yuptim bak asader

benim code
Code:
<script type="text/javascript">
<!--
// Main vBulletin Javascript Initialization
vBulletin_init();
//-->
<!-- fbconnect -->
$fbconnect_init
<!-- / fbconnect -->
</script>
Normal kod asada normal code o kod guzel

Code:
<script type="text/javascript">
<!--
// Main vBulletin Javascript Initialization
vBulletin_init();
//-->
</script>
<!-- fbconnect -->
$fbconnect_init
<!-- / fbconnect -->

tekra bakasen o calismiyor bi tekra buray gelsin be bukim

ben tekra sogle ozur benim turkce cok eski
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 08:43 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.10410 seconds
  • Memory Usage 2,339KB
  • 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
  • (6)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)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