Get in touch.

415.894.9355
415.285.6395 fax
hello@shotwellcompany.com

Project Inquiry / Contact Page

Type: Module

Current Version: 1.1.1

Released: 3 February 2010
Updated: April 30 2010

Compatibility: ExpressionEngine 1.6.x

$99.95


Socialee - OpenID/Facebook for ExpressionEngine



If you just want to donate:




Socialee - OpenID/Facebook for ExpressionEngine

Socialee - OpenID/Facebook for ExpressionEngine by Shotwell

Grow your member base by accepting registrations with Facebook, Twitter, Yahoo, Gmail and more.

Fill out profiles automatically with Facebook Connect.

Socially publish comments, entries, or any page to users' status updates.

Description:

Socialee (formally RPXee) registers Facebook, Google, Yahoo, Twitter and other Social Media user accounts into ExpressionEngine. It is pronounced just like the adverb.

UPDATE: With the release of version 1.0, Socialee busts out everything y’all have been asking for - social publishing and profile data autofill! Yeah, I know, it’s awesome.

Socialee is currently the only solution for ExpressionEngine site owners to open up their registration to all the supporters of Open ID supported by RPX. That means authentication via Facebook, Google, Yahoo, Flickr, AOL, Twitter, and a bunch more I can’t remember right now. Check out rpxnow.com for full details.

RPX itself offers three levels of service; we support the FREE one as well as the PLUS account type. Up to 6 OpenID auth options with the Free RPX accounts, and only a sign-in service is available. With the PLUS account type you can set up social publishing, profile data import and account mapping (so when the same person signs in with their Facebook account and then later their Gmail account, it’s all mapped to the same user account).

Socialee 1.1 Requirements

  • PHP 5 with DOMXML and curl support enabled
  • A (free) basic RPX account provides for OpenID registrations; you’ll need an RPX Plus account to access the social widget and profile data features. https://rpxnow.com/get
  • Other APIs for logging in using RPX: Facebook Connect account: http://developers.facebook.com/setup.php Twitter: http://twitter.com/oauth_clients The APIs get a bit complicated, but are certainly the most arduous aspect of installation/setup. RPXnow.com provides instructions to create an app or oauth for each individual OpenID provider. Be sure to follow their instructions carefully.
  • Facebox JS - we include a copy, but please check it out here: http://famspam.com/facebox for more information. You should only have to include it in your doc headers to get it to work with Socialee however.

 

Socialee 1.0 Installation

  1. Download the latest version of Socialee
  2. Login/Register at rpxnow.com.
  3. Set up a new application for your rpxnow.com account. You will need to upgrade to a “Plus” account to get the social publishing and profile features.
  4. Create a new member group called ‘OpenID Members’ or something similar. Note the Group ID for this new group. (Note that this has far reaching consequences if you run a forum or use member groups for special features.)
  5. Upload the /socialee/ folder to system/modules/ folder
  6. Upload lang.socialee.php file to system/language/english/ folder
  7. Upload the ext.socialee.php to system/extensions/folder
  8. If you are going to use RPX Plus features, upload the rpx_xdcomm.html file to the root of your site. Also, to import users’ photos as avatars, ensure the member group is able to upload avatars.
  9. Install Socialee in the Modules tab
  10. Enable the Socialee extension.
  11. Update settings as required by the module. This should be fairly self explanatory, but leave the Facebox option set to Yes and ensure you have the right RPX account type selected.
  12. Create a new template. Something like members/openid_process. Into it goes: {exp:socialee:login return_url=“members/profile”} NOTE: the above return_url parameter would take the user to some profile edit page if you have one. Feel free to change that.
  13. Go to your footer template and add this to the very bottom of it (around where your analytics scripts would normally go):
    {exp:socialee:init} 
  14. To set up your login form, go to the applicable template and put the following (see more details about this tag below):
    {exp:socialee:signin return_url="{path=members/openid_process}" title="OpenID Login"
    Your return_url and title parameters should be edited to suit your needs. NOTE: the return_url parameter should point to the new template you created just previous.
  15. This step isn’t pretty, but it’s pretty necessary. Open system/modules/member/mod.member_auth.php and go to (about) line 321 where is says:
    /** -------------------------------------
    /**  Check password
    /** -------------------------------------*/

      
    $password $FNS->hash(stripslashes($IN->GBL('password''POST'))); 
    and add this between the /** comments and the $password lines:
    if ($IN->GBL('open_id_login''POST') == true
            
    // Socialee - making the Socialee authentication work safely
                
    $password $IN->GBL('password''POST');
            
    }
            
    else 
            
    {
                $password 
    $FNS->hash(stripslashes($IN->GBL('password''POST')));
            
    So ultimately it looks like this:
    /** ---------------------------------
    /**  Check password
    /** ---------------------------------*/

            
    if ($IN->GBL('open_id_login''POST') == true
            
    // Socialee - making the Socialee authentication work safely solution
                
    $password $IN->GBL('password''POST');
            
    }
            
    else 
            
    {
                $password 
    $FNS->hash(stripslashes($IN->GBL('password''POST')));
            
    }
            
    //$password = $FNS->hash(stripslashes($IN->GBL('password', 'POST'))); 
  16. If you are using RPX Plus social publishing, you’ll need to activate Facebook, Twitter, MySpace and Yahoo apps in your http://www.rpxnow.com under Widgets > Social Widget

 

Socialee 1.0 Usage


{exp:socialee:signin}

Displays the classic login link that we’re really here for. Use this tag alongside your other member login or registration links.

Parameters

* title: Text of the login link (defaults to “Sign-In using OpenID”)

* return_url: The address of the page that RPX will redirect to.  This page must include the {exp:socialee:login} tag so that it can process the login.

Example:

{exp:socialee:signin title="OpenID Login" return_url="{path=site_index}{segment_1}/{segment_2}/{segment_3}"




{exp:socialee:init}

To be included at the bottom of each page that uses the sign-in tag


{exp:socialee:login}

Processes the login information received from RPX

Example:

{exp:socialee:login return_url="{segment_3}/{segment_4}/{segment_5}"


This works to return users to their original page if you setup your signin tag like this:

{exp:socialee:signin return_url="{path=members/openid_process}{segment_1}/{segment_2}/{segment_3}"




{exp:socialee:finish}

To be included at the bottom of the login landing page (defined by the return_url attribute of the login tag)

Only used for Twitter/Facebook support to request an email address from the user. Facebook recently provided a way to get email addresses anyway, so really it’s only for Twitter.


{exp:socialee:widget}

Used for sharing URLs on a site with the user’s social network through a status update. Allows users to log into Facebook, Twitter, MySpace and Yahoo to do so. We’ve included a share.png image (in the themes folder) and useful css that you include for your share button.

Parameters

* activate_element_id: The id of the element that calls the social widget upon click. (required)

* default_text: Words describing the action the user did (ex: “commented on”...,  “posted”...  ). (required)

* url: The url of the content the user made an action on. (required)

share_display: Title of the social widget (defaults to “Share”).

title: The title for this activity. This information is displayed by Yahoo! and Facebook. (optional)

description: A description of this activity. This information is displayed by Facebook. (optional)


Example:

<a href="#" id="share_button"></a>
{exp:socialee:widget default_text="likes this" share_display="Share this with your people" activate_element_id="share_button"  url="{path=site_index}/{segment_1}/{segment_2}/{segment_3}" description="sharing description"




{exp:socialee:comment}

Used for sharing a user’s most recent comment with the user’s social network through a status update. Allows users to log into Facebook, Twitter, MySpace and Yahoo to do so, listening for a upon a successful comment post, then popping up the share widget pre-populated with their comment.

Parameters

* default_text: Words describing the action the user did (ex: “commented on”...,  “posted”...  ). (required)

* url: The url of the content the user made an action on. (required)

Example:

{exp:comment:form weblog="news" preview="weblog/preview"}

{if logged_out}

Name
: <input type="text" name="name" value="{name}" size="50" />

Email: <input type="text" name="email" value="{email}" size="50" />

Location: <input type="text" name="location" value="{location}" size="50" />

URL: <input type="text" name="url" value="{url}" size="50" />

{/if}

<textarea name="comment" cols="70" rows="10">{comment}</textarea>

<
input type="checkbox" name="save_info" value="yes" {save_info} /> Remember my personal information

<input type="checkbox" name="notify_me" value="yes" {notify_me} /> Notify me of follow-up comments?

{if captcha}

Please enter the word you see in the image below
:

{captcha}<br />
<
input type="text" name="captcha" value="{captcha_word}" maxlength="20" />

{/if}

<input type="submit" name="submit" value="Submit" />
<
input type="submit" name="preview" value="Preview" />
{exp:socialee:comment url="{path=template_group/template}{segment_3}"}

{
/exp:comment:form} 




{exp:socialee:logout}

Logs out a user and, importantly, deletes their social cookies. You may want to check to see if a user’s member group matches your OpenID member group and, if so, use this logout function instead of the usual EE logout.

Parameters

title: Text of the logout link (defaults to “Logout”).

* path: The path of the page you want to redirect to after logout. (required)


Socialee 1.0 License

Each Socialee purchase entitles the purchaser to one (1) license which may be used on only one (1) live website and one (1) private development site. This includes both public-facing websites and intranet websites. Please contact us if you have any questions or to request an exception: (JavaScript must be enabled to view this email address).

See the Shotwell Company license for software releases here: License