vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.7 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=228)
-   -   Integration with vBulletin - Facebook Connect - Allow your users to login with their Facebook account (https://vborg.vbsupport.ru/showthread.php?t=198499)

joyboy2001 01-16-2009 12:04 AM

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 ?

hydn 01-16-2009 12:35 AM

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?

hydn 01-16-2009 12:40 AM

Quote:

Originally Posted by playSocial (Post 1683753)
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?

dilbert 01-16-2009 02:16 AM

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?

samet54 01-16-2009 05:19 AM

turkıs ınstall pls help me

nMIK-3 01-16-2009 06:22 AM

Can existing forum members associate their vbulletin account with their facebook account?

ekantnl 01-16-2009 07:54 AM

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?

ekantnl 01-16-2009 08:00 AM

Quote:

Originally Posted by nMIK-3 (Post 1714322)
Can existing forum members associate their vbulletin account with their facebook account?

yes they can

dxlwebs 01-16-2009 09:08 AM

Quote:

Originally Posted by ekantnl (Post 1714381)
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 :D

dxlwebs 01-16-2009 09:17 AM

Quote:

Originally Posted by samet54 (Post 1713466)
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


All times are GMT. The time now is 09:15 PM.

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.01935 seconds
  • Memory Usage 1,787KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete