Social Connect 2 (facebook connect and Twitter login) for elgg 1.7 and greater v2

Release Notes

ADD TWITTER

ADD PANEL ADMIN

 

  • Just for clarity, do you mean /mod/fbconnect/views/default/fbconnect/login.php?  The default folder only contains 2 folders, fbconnect & settings, so just making sure I'm in the correct file.

    I've added the code to the bottom of the file and added the link <a href="#" class="facebook">Facebook</a> to the homepage inside the Free HTML widget, but it doesn't seem to do anything (have a look yourself).  I'm assuming I've mucked up somewhere so hopefully you can tell me what I've done wrong...

    There's also an fblogin.php, twitterlogin.php and register.php file - should anything be added to them?

  • Meant to say that adding "<html xmlns="http://www.w3.org/1999/xhtml"xmlns:fb="http://www.facebook.com/2008/fbml"&gt;" to the top of the login.php file mentioned above seems to have activated the facebook button, however only the "f" icon is active, the rest of the button isn't.

    Update:  I've since tried using the facebook connect button (it appears automatically on my custom login page I use for myself) and it generates an error message, after a second attempt it generates a blank screen with "XD Proxy" in the title, further attempts to use the facebook connect automatically load the "XD Proxy" blank page...I replaced the "Your APIKEY!!" section with the API key I'd entered into the plugin settings (and yes it is active), is there anything else to be replaced/added?

  • I see your site. THE LINK IS correct but you forget the jscode

    add this in mod/fbconnect/views/default/fbconnect/login.php too

     

    <DIV ID="fb-root"></div>

    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script&gt;
    <script type="text/javascript">
    // initialize the library with the API key
    FB.init({ apiKey: 'YOOOUR API KEYY!!' });
    // fetch the status on load
    FB.getLoginStatus();
    $(document).ready(function() {
    $('.facebook').click(function() {
    FB.login(function(response) {
    if (response.session) {
    if (response.perms) {
    document.location.href = "
    "<?PHP  echo $CONFIG->wwwroot ?>pg/register/";
    } else {
    }
    } else {
    }
    }, {perms:'user_birthday,friends_birthday,offline_access,email,publish_stream,status_update,user_birthday,user_location,user_work_history,user_photos, user_photo_video_tags,create_event,rsvp_event'});
    });
    });
    </script>

     

  • Aha!  Just realised the mistake, but still need to clarify this before I can proceed.  This is the code I'd entered originally (after you provided it in you earlier comment), however I now see a slight change in both your submissions.  Originally you posted:


    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script&gt;

    <script type="text/javascript">

    // initialize the library with the API key

    FB.init({ apiKey: 'YOURAPIKEY!!' });

    // fetch the status on load

    FB.getLoginStatus();

    $(document).ready(function() {

    $('.facebook').click(function() {

    FB.login(function(response) {

    if (response.session) {

    if (response.perms) {

    document.location.href = "http://127.0.0.1/trunk/people/socialconfirm?mode=facebook&uid="+FB.getSession().uid+"&access_token="+FB.getSession().access_token;

    } else {

    }

    } else {

    }

    }, {perms:'user_birthday,friends_birthday,offline_access,email,publish_stream,status_update,user_birthday,user_location,user_work_history,user_photos, user_photo_video_tags,create_event,rsvp_event'});

    });

    });

    </script>

    whereas in the post above you have:

     <DIV ID="fb-root"></div>
    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script&gt;
    <script type="text/javascript">
    // initialize the library with the API key
    FB.init({ apiKey: 'YOOOUR API KEYY!!' });
    // fetch the status on load
    FB.getLoginStatus();
    $(document).ready(function() {
    $('.facebook').click(function() {
    FB.login(function(response) {
    if (response.session) {
    if (response.perms) {
    document.location.href = "
    "<?PHP echo $CONFIG->wwwroot ?>pg/register/";


    } else {
    }
    } else {
    }
    }, {perms:'user_birthday,friends_birthday,offline_access,email,publish_stream,status_update,user_birthday,user_location,user_work_history,user_photos, user_photo_video_tags,create_event,rsvp_event'});
    });
    });
    </script>

    The bold lines indicate the differences - I tried replacing the first code block with the second code block, but it made no difference.  I now have both blocks inside the file and still no difference.  Clicking the link on the homepage simply causes the # to appear in the address bar after the URL and clicking the "f" icon on my login form still generates the XD Proxy error...

    Any other suggestions?  :-/

  • the second block of code is correct!

    i have see your site: http://insomniacs.theweare.net/

    the code of (above the second) and

    <a href="#class="facebook">Facebook</a>

    the class is fondamental! because

    $('.facebook').click(function() { // get the link with the class facebook and go to fb.login()

     

     

  • Ok, I have all that in place, but still nothing happening when I click the link.  I noticed that TinyMCE was stripping the class tag even when I used the HTML input box, however, when I hide the editor and paste it into the box the class is left in tact, but this didn't help.

    Just to clarify, the line that has "<?PHP echo $CONFIG->wwwroot ?>pg/register/";, do I change the wwwroot to something like the sites address or server root?  I tried the base address of the site (both with & without "quote marks") but it didn;t have any effect... :-/

  • That's very similar to a typical facebook/google error message.  Chances are there's a temporary error in the api - could be wrong but try it again and see if it works.  And sorry for jumping in, but I'm sure that's the most likely scenario... :-)

    Alternatively, have a look inside the plugins files and search for that message.  If it's not in those files the it definitely is an issue on the api side - assuming of course you're using an unmodified installation & template (by unmodified I mean no custom error messages, such as the one you've posted, have been added)...

  • @LJ @Briceda yes

    try this

    "<?PHP global $CONFIG; echo $CONFIG->wwwroot ?>pg/register/";

    RUN THE PAGE IN FIREFOX WITH FIREBUG, and see if there are a error of javascript

  • Hi! Although the installation went fine (I'm also able to change settings), I can't get the plugin working. I'm using elgg version 1.7.7 newly installed not a week ago on a Windows Server 2008, Apache 2.2.17, PHP 5.3.4 with cURL enabled. I've looked at the code, changed the order in which the plugin is loaded, and I've disabled all of the other plugins I've installed, but still I get the following error message:

    Parse error: syntax error, unexpected $end in ... mod\fbconnect\views\default\fbconnect\login.php on line 133.

    Like I said, I've looked at the code in login.php, but don't see any error. I really don't get it. Can anyone help? Cheers!

  • Ahhhh! It's always a small little thing like that, isn't it?? :) Yeah, apparently the server has disabled short_open_tags. Thanks for the reply!!! :D

  • Ok, I opened the homepage in firefox and inspected the Facebook link with Firebug, the rendered link on the homepage is actually:

    <a href="#">Facebook</a>

    which means the class tag is being stripped from the link rendering it useless.  I'm no expert, but I fear the only way to implement this is to have a custom that will add the button automatically.  Only alternative I can think of is to have an advanced widget specifically for the purpose of adding advanced web code (PHP, Javascript, etc...) directly to pages via the widget.

    As things stand, I really can't see this working in the way you've described, much as I appreciate your efforts!  ;-)

  • @LJ i have see your site http://insomniacs.theweare.net/

    replace this 

    $('.facebook').click(function() {

    with this

    $('#widgetcontent54 .contentWrapper a').click(function() {

    ;)

     

     

  • Done.  Only difference is that the link now opens the homepage in a new tab while putting the "#" after the URL.  I'm convinced that relying on a link entered via the Free HTML widget will not work for this as Elgg strips the class tag from the link making it useless.  Unless the link connects directly to a widget, I just can't see it happening (alternatively, if there was a way to embed the widget into an HTML/PHP file I could use Steve's hack to load it in a lightbox popup :-/ )...

  • Meant to correct this earlier - the link opened in a new window because I'd pressed Ctrl+Shift while clicking it as at first I thought clicking it alone didn't do anything.  I've since realised that it was just doing the same as before (placing the # after the URL in the address bar).

    I still can't see this working at all though.  Regardless of what's placed inside the php file this method still relies on the link you posted earlier calling it, and since Elgg strips it of the class function the link won't be able to call anything.  The only viable option seems to be either to place it inside its own widget or to have a custom widget which can implement advanced coding on pages (similar to the Text/HTML/PHP widget I use on a wordpress powered site).  I only wish I was able to come up with something myself... :-(

  • Found an error when installing twitter login

    011/05/20 18:10:28 [error] 4500#0: *116350 FastCGI sent in stderr: "*** FATAL EXCEPTION *** : exception 'EpiOAuthUnauthorizedException' in /app/www/sexxy-cola.com/subdomains/elgg/httpdocs/mod/fbconnect/twitter/EpiOAuth.php:421

    Has anyone faced that problem?
    My twitter app configuration is read-write and is supposed to run on a browser
    Any help I found here is very appreciable
    regards
  • Hi, I need help, the button of the Twitter is working well, but I'm a little problem with the button on Facebook, as photo ... need help to set the button size ..... thanks

    image

  • Im getting the same EpiOAuth error as sexy cola. The Face book button works fine,but if I turn on the twitter button it gives me an error message.

     Twitter has recently updated their API.I think the code for this plugin needs to be updated,but I have no Idea how.

  • Activated the plugin but I don't see any settings link. On more info appears this line Warning: This plugin requires a later version of Elgg!  but the plugin is supposed to work with elgg 1.7 and I have the latest 1.7.11. Even if it comes with those integrated didn't installed 1.8 because of the horrible look and user experience.

  • Plugin worked fine, but i am getting error,

    After using FB connect this strange lines with two link in other lanhuage appeared on the login box.  

    Benvenuto 100001144998514

    clicca qui per registrarti logout            

    Also Fb connect each time only promt user to create account, no to enter.

  • I want to remove the facebook login from register page, what I am trying to show the facebook button only in my index page.  How can I remove it from register page?

     

    Thanks

  • I have one problem.When I push "facebook connect" or "login twitter" appear a window and put my mail and password.

    All ok, but then redirect to the index again, and not login and not register in elgg.

    Any idea?

  • When I tried this on my 1.7.10 installation all I got was the misconfigured plugin error message...


  • @jededitor - Did you follow the instructions in the message and read this
    page? http://docs.elgg.org/wiki/Misconfigured_plugin_error

Stats

  • Category: Authentication
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-11-17
  • Downloads: 6046
  • Recommendations: 8

Other Projects

View Dario Agliottone's plugins