WordPress Social Login - Version 2.2.2

Version Description

  • Fix an issue where wsl did not display the right user avatar.
  • Fix an issue where providers icons wasn't showing in sites using https.
  • Fix an issue with basic insights, where users counts by age wasn't showing.
  • Add WordPress to list of supported provider.
Download this release

Release Info

Developer miled
Plugin Icon 128x128 WordPress Social Login
Version 2.2.2
Comparing to
See all releases

Code changes from version 2.2.1 to 2.2.2

hybridauth/Hybrid/Providers/LinkedIn.php CHANGED
@@ -50,7 +50,7 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
50
Hybrid_Auth::redirect( LINKEDIN::_URL_AUTH . $response['linkedin']['oauth_token'] );
51
}
52
else{
53
- throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 );
54
}
55
}
56
@@ -63,7 +63,7 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
63
$oauth_verifier = $_REQUEST['oauth_verifier'];
64
65
if ( ! $oauth_verifier ){
66
- throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 );
67
}
68
69
$response = $this->api->retrieveTokenAccess( $oauth_token, $this->token( "oauth_token_secret" ), $oauth_verifier );
@@ -80,7 +80,7 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
80
$this->setUserConnected();
81
}
82
else{
83
- throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 );
84
}
85
}
86
@@ -91,7 +91,7 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
91
{
92
try{
93
// http://developer.linkedin.com/docs/DOC-1061
94
- $response = $this->api->profile('~:(id,first-name,last-name,public-profile-url,picture-url,email-address,date-of-birth,phone-numbers,summary)');
95
}
96
catch( LinkedInException $e ){
97
throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 );
@@ -114,7 +114,7 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
114
115
$this->user->profile->photoURL = (string) $data->{'picture-url'};
116
$this->user->profile->profileURL = (string) $data->{'public-profile-url'};
117
- $this->user->profile->description = (string) $data->{'summary'};
118
119
if( $data->{'phone-numbers'} && $data->{'phone-numbers'}->{'phone-number'} ){
120
$this->user->profile->phone = (string) $data->{'phone-numbers'}->{'phone-number'}->{'phone-number'};
@@ -129,6 +129,10 @@ class Hybrid_Providers_LinkedIn extends Hybrid_Provider_Model
129
$this->user->profile->birthYear = (string) $data->{'date-of-birth'}->year;
130
}
131
132
return $this->user->profile;
133
}
134
else{
50
Hybrid_Auth::redirect( LINKEDIN::_URL_AUTH . $response['linkedin']['oauth_token'] );
51
}
52
else{
53
+ throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token:" . print_r( $response, true ), 5 );
54
}
55
}
56
63
$oauth_verifier = $_REQUEST['oauth_verifier'];
64
65
if ( ! $oauth_verifier ){
66
+ throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token:" . htmlentities( print_r( $_REQUEST, true ) ), 5 );
67
}
68
69
$response = $this->api->retrieveTokenAccess( $oauth_token, $this->token( "oauth_token_secret" ), $oauth_verifier );
80
$this->setUserConnected();
81
}
82
else{
83
+ throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token:" . print_r( $response, true ), 5 );
84
}
85
}
86
91
{
92
try{
93
// http://developer.linkedin.com/docs/DOC-1061
94
+ $response = $this->api->profile('~:(id,first-name,last-name,public-profile-url,picture-url,picture-urls::(original),email-address,date-of-birth,phone-numbers,headline)');
95
}
96
catch( LinkedInException $e ){
97
throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 );
114
115
$this->user->profile->photoURL = (string) $data->{'picture-url'};
116
$this->user->profile->profileURL = (string) $data->{'public-profile-url'};
117
+ $this->user->profile->description = (string) $data->{'headline'};
118
119
if( $data->{'phone-numbers'} && $data->{'phone-numbers'}->{'phone-number'} ){
120
$this->user->profile->phone = (string) $data->{'phone-numbers'}->{'phone-number'}->{'phone-number'};
129
$this->user->profile->birthYear = (string) $data->{'date-of-birth'}->year;
130
}
131
132
+ if( (string) $data->{'picture-urls'}->{'picture-url'} ){
133
+ $this->user->profile->photoURL = (string) $data->{'picture-urls'}->{'picture-url'};
134
+ }
135
+
136
return $this->user->profile;
137
}
138
else{
hybridauth/Hybrid/Providers/WordPress.php ADDED
@@ -0,0 +1,82 @@
1
+ <?php
2
+ /*!
3
+ * HybridAuth
4
+ * http://hybridauth.sourceforge.net | https://github.com/hybridauth/hybridauth
5
+ * (c) 2009-2011 HybridAuth authors | hybridauth.sourceforge.net/licenses.html
6
+ */
7
+
8
+ /**
9
+ * Hybrid_Providers_WordPress
10
+ */
11
+ class Hybrid_Providers_WordPress extends Hybrid_Provider_Model_OAuth2
12
+ {
13
+ // default permissions
14
+ public $scope = "";
15
+
16
+ /**
17
+ * IDp wrappers initializer
18
+ */
19
+ function initialize()
20
+ {
21
+ parent::initialize();
22
+
23
+ // Provider api end-points
24
+ $this->api->api_base_url = "https://public-api.wordpress.com/rest/v1/";
25
+ $this->api->authorize_url = "https://public-api.wordpress.com/oauth2/authenticate";
26
+ $this->api->token_url = "https://public-api.wordpress.com/oauth2/token";
27
+ }
28
+
29
+ // --------------------------------------------------------------------
30
+
31
+ /**
32
+ * begin login step
33
+ */
34
+ function loginBegin()
35
+ {
36
+ // redirect the user to the provider authentication url
37
+ Hybrid_Auth::redirect( $this->api->authorizeUrl( array( "scope" => $this->scope, "state" => md5( mt_rand() ) ) ) );
38
+ }
39
+
40
+ // --------------------------------------------------------------------
41
+
42
+ /**
43
+ * load the user profile from the IDp api client
44
+ */
45
+ function getUserProfile()
46
+ {
47
+ $this->api->curl_header = array( 'Authorization: Bearer ' . $this->token( "access_token" ) );
48
+
49
+ $response = $this->api->api( "me/" );
50
+
51
+ if ( ! isset( $response->ID ) ){
52
+ throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 );
53
+ }
54
+
55
+ $this->user->profile->identifier = (property_exists($response,'ID'))?$response->ID:"";
56
+ $this->user->profile->displayName = (property_exists($response,'display_name'))?$response->display_name:"";
57
+ $this->user->profile->photoURL = (property_exists($response,'avatar_URL'))?$response->avatar_URL:"";
58
+ $this->user->profile->profileURL = (property_exists($response,'profile_URL'))?$response->profile_URL:"";
59
+ $this->user->profile->email = (property_exists($response,'email'))?$response->email:"";
60
+ $this->user->profile->language = (property_exists($response,'language'))?$response->language:"";
61
+
62
+ if( ! $this->user->profile->displayName ){
63
+ $this->user->profile->displayName = (property_exists($response,'username'))?$response->username:"";
64
+ }
65
+
66
+ if( property_exists($response,'email_verified') && property_exists($response,'email') && $response->email_verified == 1 ){
67
+ $this->user->profile->emailVerified = $response->email;
68
+ }
69
+
70
+ if( property_exists($response,'primary_blog') ){
71
+ $primary_blog = $response->primary_blog;
72
+
73
+ $response = $this->api->api( 'sites/' . $primary_blog );
74
+
75
+ if( isset( $response->URL ) ){
76
+ $this->user->profile->webSiteURL = $response->URL;
77
+ }
78
+ }
79
+
80
+ return $this->user->profile;
81
+ }
82
+ }
hybridauth/Hybrid/Storage.php CHANGED
@@ -10,7 +10,7 @@ require_once realpath( dirname( __FILE__ ) ) . "/StorageInterface.php";
10
/**
11
* HybridAuth storage manager
12
*/
13
- class Hybrid_Storage implements Hybrid_Storage_Interface
14
{
15
/**
16
* Constructor
10
/**
11
* HybridAuth storage manager
12
*/
13
+ class Hybrid_Storage
14
{
15
/**
16
* Constructor
hybridauth/changes.txt DELETED
@@ -1,26 +0,0 @@
1
- "hybridauth/hybridauth": "dev-master" 2.3.0-dev 2014-09-22 18:16 UTC
2
-
3
- hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php
4
- L-145 add CURLOPT_SSL_VERIFYPEER => false
5
-
6
- hybridauth/Hybrid/Providers/Google.php
7
- L-114 Reassign emailVerified
8
-
9
- hybridauth/Hybrid/Providers/Vkontakte.php
10
- L-79 Image size
11
- L-93 Image size
12
-
13
- hybridauth/Hybrid/Providers/Reddit.php
14
- Add an unsupported provider
15
-
16
- hybridauth/Hybrid/Providers/PixelPin.php
17
- Add an unsupported provider
18
-
19
- hybridauth/Hybrid/Providers/Mixi.php
20
- Add an unsupported provider
21
-
22
- hybridauth/Hybrid/Providers/Latch.php
23
- Add an unsupported provider
24
-
25
- /hybridauth/Hybrid/Provider_Model_OpenID.php
26
- Merge PR #324
hybridauth/readme.md ADDED
@@ -0,0 +1,49 @@
1
+ # HybridAuth Library
2
+
3
+ HybridAuth is an Open-source social sign on PHP Library. HybridAuth goal is to act as an abstract api between your application and various social apis and identities providers such as Facebook, Twitter, MySpace and Google.
4
+ http://hybridauth.sourceforge.net
5
+
6
+ ### Used version
7
+
8
+ "hybridauth/hybridauth": "dev-master" 2.3.0-dev 2014-09-22 18:16 UTC
9
+
10
+ ### Changes made
11
+
12
+ hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php
13
+ L-145 add CURLOPT_SSL_VERIFYPEER => false
14
+
15
+ hybridauth/Hybrid/Providers/Google.php
16
+ L-114 Reassign emailVerified
17
+
18
+ hybridauth/Hybrid/Providers/Yahoo.php
19
+ Overwritten with the openID adapter
20
+
21
+ hybridauth/Hybrid/Providers/Vkontakte.php
22
+ L-79 Image size
23
+ L-93 Image size
24
+
25
+ hybridauth/Hybrid/Providers/Reddit.php
26
+ Add an unsupported provider
27
+
28
+ hybridauth/Hybrid/Providers/PixelPin.php
29
+ Add an unsupported provider
30
+
31
+ hybridauth/Hybrid/Providers/Mixi.php
32
+ Add an unsupported provider
33
+
34
+ hybridauth/Hybrid/Providers/Latch.php
35
+ Add an unsupported provider
36
+
37
+ /hybridauth/Hybrid/Provider_Model_OpenID.php
38
+ Merge PR #324
39
+
40
+ hybridauth/Hybrid/Providers/WordPress.php
41
+ Add an unsupported provider
42
+
43
+ ### Important
44
+
45
+ If you have updated the library manually then do not leave hybridauth install.php in this directory. The install file is not needed and present a security risk.
46
+ HybridAuth is compatible with PHP 5.3.
47
+
48
+ ## License
49
+ Except where otherwise noted, HybridAuth is released under dual licence MIT and GPL.
hybridauth/readme.txt DELETED
@@ -1,3 +0,0 @@
1
- Basically, we simply drop here the latest version of hybridauth library (http://hybridauth.sourceforge.net) and that is it.
2
-
3
- Note: do not leave hybridauth insall.php here!
includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php CHANGED
@@ -29,49 +29,51 @@ function wsl_component_loginwidget_sidebar()
29
<div style="padding:20px;padding-top:0px;">
30
<h4 style="cursor: default;border-bottom:1px solid #ccc;font-size: 13px;"><?php _wsl_e("Widget Customization", 'wordpress-social-login') ?></h4>
31
32
- <p style="margin:10px;font-size: 13px;" align="justify">
33
<?php _wsl_e("On this section you can fully customize <b>WordPress Social Login Widget</b> and define the way you want it to look and behave", 'wordpress-social-login') ?>.
34
</p>
35
36
- <p style="margin:10px;font-size: 13px;" align="justify">
37
<?php _wsl_e("<b>WordPress Social Login Widget</b> will be generated into the comments, login and register forms enabling your website vistors and customers to login via social networks", 'wordpress-social-login') ?>.
38
</p>
39
40
- <p style="margin:10px;">
41
- <?php _wsl_e("If this widget does not show up on your custom theme or you want to add it somewhere else then refer to the next section", 'wordpress-social-login') ?>.
42
</p>
43
44
- <p style="margin:10px;">
45
- <?php _wsl_e('For more information about the WSL Widget, refer to the online userguide <b><a href="http://hybridauth.sourceforge.net/wsl/customize.html?" target="_blank">widget customization</a></b> and <b><a href="http://hybridauth.sourceforge.net/wsl/themes.html?" target="_blank">widget themes</a></b>', 'wordpress-social-login') ?>.
46
</p>
47
48
<h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("Custom integration", 'wordpress-social-login') ?></h4>
49
50
<p style="margin:10px;">
51
- <?php _wsl_e("If you want to add the social login widget to another location in your theme, you can insert the following code in that location", 'wordpress-social-login') ?>:
52
<pre style="width: 380px;background-color: #FFFFE0;border:1px solid #E6DB55; border-radius: 3px;padding: 10px;margin-top:15px;margin-left:10px;"> &lt;?php do_action( 'wordpress_social_login' ); ?&gt; </pre>
53
- <?php _wsl_e("Or, for posts and pages", 'wordpress-social-login') ?>:
54
<pre style="width: 380px;background-color: #EDEFF4;border:1px solid #6B84B4; border-radius: 3px;padding: 10px;margin-top:15px;margin-left:10px;">[wordpress_social_login]</pre>
55
</p>
56
57
<p style="margin:10px;">
58
- <?php _wsl_e('<b>Tip:</b>', 'wordpress-social-login') ?>.
59
<br />
60
- <?php _wsl_e('You can use <a href="http://wordpress.org/extend/plugins/html-javascript-adder/" target="_blank">HTML Javascript Adder</a> plugin in combination with WSL to display the Widget in your website sidebar by using the shortcode <b>[wordpress_social_login]</b>', 'wordpress-social-login') ?>.
61
</p>
62
63
- <h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("Widget preview", 'wordpress-social-login') ?></h4>
64
-
65
<p style="margin:10px;">
66
- <?php _wsl_e("This is a preview of what should be on the comments area", 'wordpress-social-login') ?>.
67
<br />
68
-
69
- <strong><?php _wsl_e("Please, do not try to connect with the Widget here, it won't work", 'wordpress-social-login') ?></strong>!
70
</p>
71
-
72
- <div style="width: 380px; padding: 10px; border: 1px solid #ddd; background-color: #fff;">
73
- <?php echo wsl_render_login_form(); ?>
74
- </div>
75
</div>
76
</div>
77
</div>
29
<div style="padding:20px;padding-top:0px;">
30
<h4 style="cursor: default;border-bottom:1px solid #ccc;font-size: 13px;"><?php _wsl_e("Widget Customization", 'wordpress-social-login') ?></h4>
31
32
+ <p style="margin:10px;font-size: 13px;">
33
<?php _wsl_e("On this section you can fully customize <b>WordPress Social Login Widget</b> and define the way you want it to look and behave", 'wordpress-social-login') ?>.
34
</p>
35
36
+ <p style="margin:10px;font-size: 13px;">
37
<?php _wsl_e("<b>WordPress Social Login Widget</b> will be generated into the comments, login and register forms enabling your website vistors and customers to login via social networks", 'wordpress-social-login') ?>.
38
</p>
39
40
+ <p style="margin:10px;">
41
+ <?php _wsl_e('For more information about the WSL Widget, refer to the online userguide <b><a href="http://hybridauth.sourceforge.net/wsl/widget.html" target="_blank">Widget Customization</a></b> and <b><a href="http://hybridauth.sourceforge.net/wsl/themes.html" target="_blank">Widget Themes</a></b>', 'wordpress-social-login') ?>.
42
</p>
43
44
+ <h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("Widget preview", 'wordpress-social-login') ?></h4>
45
+
46
+ <p style="margin:10px;">
47
+ <?php _wsl_e("This is a preview of what should be on the comments area", 'wordpress-social-login') ?>.
48
+ <br />
49
+
50
+ <strong><?php _wsl_e("Do not try to connect with the Widget here, it won't work", 'wordpress-social-login') ?></strong>.
51
</p>
52
+
53
+ <div style="width: 380px; padding: 10px; border: 1px solid #ddd; background-color: #fff;">
54
+ <?php echo wsl_render_login_form(); ?>
55
+ </div>
56
57
<h4 style="cursor: default;border-bottom:1px solid #ccc;"><?php _wsl_e("Custom integration", 'wordpress-social-login') ?></h4>
58
59
<p style="margin:10px;">
60
+ <?php _wsl_e("If this widget does not show up on your custom theme or if you want to add it to another location in your website, you can insert the following code in that location", 'wordpress-social-login') ?>:
61
<pre style="width: 380px;background-color: #FFFFE0;border:1px solid #E6DB55; border-radius: 3px;padding: 10px;margin-top:15px;margin-left:10px;"> &lt;?php do_action( 'wordpress_social_login' ); ?&gt; </pre>
62
+ <?php _wsl_e("For posts and pages, you may used this shortcode", 'wordpress-social-login') ?>:
63
<pre style="width: 380px;background-color: #EDEFF4;border:1px solid #6B84B4; border-radius: 3px;padding: 10px;margin-top:15px;margin-left:10px;">[wordpress_social_login]</pre>
64
</p>
65
66
<p style="margin:10px;">
67
+ <b><?php _wsl_e('Note', 'wordpress-social-login') ?>:</b>
68
<br />
69
+ <?php _wsl_e('WSL Widget will only show up for non connected users', 'wordpress-social-login') ?>.
70
</p>
71
72
<p style="margin:10px;">
73
+ <b><?php _wsl_e('Tip', 'wordpress-social-login') ?>:</b>
74
<br />
75
+ <?php _wsl_e('You can use <a href="http://wordpress.org/extend/plugins/html-javascript-adder/" target="_blank">HTML Javascript Adder</a> plugin in combination with WSL to display the Widget in your website sidebar by using the shortcode [wordpress_social_login]', 'wordpress-social-login') ?>.
76
</p>
77
</div>
78
</div>
79
</div>
includes/admin/components/networks/wsl.components.networks.basicinsights.php CHANGED
@@ -75,12 +75,35 @@ function wsl_component_networks_basicinsights()
75
<td align="right">&nbsp;</td><td><b><?php echo $total_users_wsl; ?></b> <?php _wsl_e("WSL users", 'wordpress-social-login') ?></td>
76
</tr>
77
</table>
78
-
79
<!-- Insights by gender -->
80
<?php
81
- $data = wsl_get_stored_hybridauth_user_profiles_count_by_field( 'age' );
82
?>
83
<h4 style="border-bottom:1px solid #ccc"><?php _wsl_e("By gender", 'wordpress-social-login') ?></h4>
84
<table width="90%">
85
<?php
86
foreach( $data as $item ){
75
<td align="right">&nbsp;</td><td><b><?php echo $total_users_wsl; ?></b> <?php _wsl_e("WSL users", 'wordpress-social-login') ?></td>
76
</tr>
77
</table>
78
+
79
<!-- Insights by gender -->
80
<?php
81
+ $data = wsl_get_stored_hybridauth_user_profiles_count_by_field( 'gender' );
82
?>
83
<h4 style="border-bottom:1px solid #ccc"><?php _wsl_e("By gender", 'wordpress-social-login') ?></h4>
84
+ <table width="90%">
85
+ <?php
86
+ foreach( $data as $item ){
87
+ if( ! $item->gender ) $item->gender = "Unknown";
88
+ ?>
89
+ <tr>
90
+ <td width="60%">
91
+ <?php echo ucfirst( $item->gender ); ?>
92
+ </td>
93
+ <td>
94
+ <?php echo $item->items; ?>
95
+ </td>
96
+ </tr>
97
+ <?php
98
+ }
99
+ ?>
100
+ </table>
101
+
102
+ <!-- Insights by age -->
103
+ <?php
104
+ $data = wsl_get_stored_hybridauth_user_profiles_count_by_field( 'age' );
105
+ ?>
106
+ <h4 style="border-bottom:1px solid #ccc"><?php _wsl_e("By age", 'wordpress-social-login') ?></h4>
107
<table width="90%">
108
<?php
109
foreach( $data as $item ){
includes/admin/components/networks/wsl.components.networks.setup.php CHANGED
@@ -286,6 +286,14 @@ function wsl_component_networks_setup()
286
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/twitter/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/twitter/3.png"></a></td>
287
</table>
288
<?php endif; ?>
289
</div>
290
291
<?php if ( $provider_new_app_link ) : ?>
286
<td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/twitter/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/twitter/3.png"></a></td>
287
</table>
288
<?php endif; ?>
289
+
290
+ <?php if ( $provider_id == "WordPress" ) : ?>
291
+ <table style="text-align: center;margin-bottom:12px;">
292
+ <td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/wordpress/1.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/wordpress/1.png"></a></td>
293
+ <td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/wordpress/2.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/wordpress/2.png"></a></td>
294
+ <td><a class="span4 thumbnail" href="http://hybridauth.sf.net/userguide/img/setup/wordpress/3.png" target="_blank"><img src="http://hybridauth.sf.net/userguide/img/setup/wordpress/3.png"></a></td>
295
+ </table>
296
+ <?php endif; ?>
297
</div>
298
299
<?php if ( $provider_new_app_link ) : ?>
includes/admin/wsl.admin.ui.php CHANGED
@@ -537,7 +537,7 @@ function wsl_admin_welcome_panel()
537
<li><?php _wsl_e('WSL can be now fully integrated with your <a href="https://buddypress.org" target="_blank">BuddyPress</a> installation', 'wordpress-social-login') ?>.</li>
538
<li><?php _wsl_e('WSL Widget is now more flexible than before and can be <a href="http://hybridauth.sourceforge.net/wsl/themes.html?" target="_blank">fully customized</a> to fit you website theme', 'wordpress-social-login') ?>.</li>
539
<li><?php _wsl_e('WSL is now updated to work with the latest apis changes of the supported social networks', 'wordpress-social-login') ?>.</li>
540
- <li><?php _wsl_e('Introducing three new providers : <a href="https://www.reddit.com" target="_blank">Reddit</a>, <a href="https://disqus.com" target="_blank">Disqus</a> and <a href="http://pixelpin.co.uk/" target="_blank">PixelPin</a>', 'wordpress-social-login') ?>.</li>
541
<li><?php _wsl_e('WSL <a href="http://hybridauth.sourceforge.net/wsl/developer.html" target="_blank">Hooks</a> has been reworked and few hooks have been depreciated in favour of new ones', 'wordpress-social-login') ?>.</li>
542
<li><?php _wsl_e('A number of bugfixes, small enhancements and visual updates', 'wordpress-social-login') ?>.</li>
543
</ul>
537
<li><?php _wsl_e('WSL can be now fully integrated with your <a href="https://buddypress.org" target="_blank">BuddyPress</a> installation', 'wordpress-social-login') ?>.</li>
538
<li><?php _wsl_e('WSL Widget is now more flexible than before and can be <a href="http://hybridauth.sourceforge.net/wsl/themes.html?" target="_blank">fully customized</a> to fit you website theme', 'wordpress-social-login') ?>.</li>
539
<li><?php _wsl_e('WSL is now updated to work with the latest apis changes of the supported social networks', 'wordpress-social-login') ?>.</li>
540
+ <li><?php _wsl_e('Introducing four new providers : <a href="https://wordpress.com" target="_blank">WordPress.com</a>, <a href="https://disqus.com" target="_blank">Disqus</a>, <a href="https://www.reddit.com" target="_blank">Reddit</a>and <a href="http://pixelpin.co.uk/" target="_blank">PixelPin</a>', 'wordpress-social-login') ?>.</li>
541
<li><?php _wsl_e('WSL <a href="http://hybridauth.sourceforge.net/wsl/developer.html" target="_blank">Hooks</a> has been reworked and few hooks have been depreciated in favour of new ones', 'wordpress-social-login') ?>.</li>
542
<li><?php _wsl_e('A number of bugfixes, small enhancements and visual updates', 'wordpress-social-login') ?>.</li>
543
</ul>
includes/services/wsl.authentication.php CHANGED
@@ -245,7 +245,7 @@ function wsl_process_login_begin()
245
// get Widget::Authentication display
246
$wsl_settings_use_popup = get_option( 'wsl_settings_use_popup' );
247
248
- $redirect_to = isset( $_REQUEST[ 'redirect_to' ] ) ? urldecode( $_REQUEST[ 'redirect_to' ] ) : site_url();
249
250
// build the authenticateD, which will make wsl_process_login() fire the next step wsl_process_login_end()
251
$authenticated_url = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "action=wordpress_social_authenticated&provider=" . $provider;
245
// get Widget::Authentication display
246
$wsl_settings_use_popup = get_option( 'wsl_settings_use_popup' );
247
248
+ $redirect_to = isset( $_REQUEST[ 'redirect_to' ] ) ? $_REQUEST[ 'redirect_to' ] : site_url();
249
250
// build the authenticateD, which will make wsl_process_login() fire the next step wsl_process_login_end()
251
$authenticated_url = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "action=wordpress_social_authenticated&provider=" . $provider;
includes/services/wsl.user.avatar.php CHANGED
@@ -67,7 +67,7 @@ function wsl_user_custom_avatar($avatar, $mixed, $size, $default, $alt)
67
//User found?
68
if( $user_id )
69
{
70
- $user_thumbnail = get_user_meta( $user_id, 'wsl_current_user_image', true );
71
72
if( $user_thumbnail )
73
{
@@ -112,7 +112,7 @@ function wsl_bp_user_custom_avatar($text, $args)
112
//Retrieve user
113
if( $user_data !== false )
114
{
115
- $user_thumbnail = get_user_meta( $args ['item_id'], 'wsl_user_image', true );
116
117
//Retrieve Avatar
118
if( $user_thumbnail !== false)
67
//User found?
68
if( $user_id )
69
{
70
+ $user_thumbnail = wsl_get_user_custom_avatar( $user_id );
71
72
if( $user_thumbnail )
73
{
112
//Retrieve user
113
if( $user_data !== false )
114
{
115
+ $user_thumbnail = wsl_get_user_custom_avatar( $args['item_id'] );
116
117
//Retrieve Avatar
118
if( $user_thumbnail !== false)
includes/services/wsl.user.data.php CHANGED
@@ -39,6 +39,20 @@ function wsl_get_wsl_users_count()
39
40
// --------------------------------------------------------------------
41
42
function wsl_get_stored_hybridauth_user_profiles_count()
43
{
44
global $wpdb;
39
40
// --------------------------------------------------------------------
41
42
+ function wsl_get_user_custom_avatar( $user_id )
43
+ {
44
+ $user_avatar = get_user_meta( $user_id, 'wsl_current_user_image', true );
45
+
46
+ if( ! $user_avatar )
47
+ {
48
+ $user_avatar = get_user_meta( $user_id, 'wsl_user_image', true );
49
+ }
50
+
51
+ return $user_avatar;
52
+ }
53
+
54
+ // --------------------------------------------------------------------
55
+
56
function wsl_get_stored_hybridauth_user_profiles_count()
57
{
58
global $wpdb;
includes/settings/wsl.database.php CHANGED
@@ -93,7 +93,6 @@ function wsl_database_migration_process()
93
city varchar(255) NOT NULL,
94
zip varchar(255) NOT NULL,
95
UNIQUE KEY id (id),
96
- KEY idp_uid (provider,identifier),
97
KEY user_id (user_id)
98
)";
99
dbDelta( $sql );
93
city varchar(255) NOT NULL,
94
zip varchar(255) NOT NULL,
95
UNIQUE KEY id (id),
96
KEY user_id (user_id)
97
)";
98
dbDelta( $sql );
includes/settings/wsl.providers.php CHANGED
@@ -66,12 +66,13 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
66
"cat" => "microblogging",
67
),
68
ARRAY(
69
- "provider_id" => "Live",
70
- "provider_name" => "Windows Live",
71
"require_client_id" => true,
72
- "new_app_link" => "https://account.live.com/developers/applications/create",
73
74
- "cat" => "pleasedie",
75
),
76
ARRAY(
77
"provider_id" => "Yahoo",
@@ -80,15 +81,6 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
80
81
"cat" => "pleasedie",
82
),
83
- ARRAY(
84
- "provider_id" => "Foursquare",
85
- "provider_name" => "Foursquare",
86
- "callback" => true,
87
- "require_client_id" => true,
88
- "new_app_link" => "https://www.foursquare.com/oauth/",
89
-
90
- "cat" => "microblogging",
91
- ),
92
ARRAY(
93
"provider_id" => "LinkedIn",
94
"provider_name" => "LinkedIn",
@@ -97,34 +89,45 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
97
"cat" => "professional",
98
),
99
ARRAY(
100
- "provider_id" => "AOL",
101
- "provider_name" => "AOL",
102
- "new_app_link" => null,
103
104
- "cat" => "pleasedie",
105
),
106
ARRAY(
107
- "provider_id" => "Vkontakte",
108
- "provider_name" => "Vkontakte",
109
"callback" => true,
110
"require_client_id" => true,
111
- "new_app_link" => "http://vk.com/developers.php",
112
113
- "cat" => "socialnetworks",
114
),
115
ARRAY(
116
- "provider_id" => "LastFM",
117
- "provider_name" => "Last.FM",
118
- "new_app_link" => "http://www.lastfm.com/api/account",
119
120
- "cat" => "media",
121
),
122
ARRAY(
123
- "provider_id" => "Instagram",
124
- "provider_name" => "Instagram",
125
"callback" => true,
126
- "require_client_id" => true,
127
- "new_app_link" => "http://instagr.am/developer/clients/manage/",
128
129
"cat" => "media",
130
),
@@ -204,6 +207,15 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
204
205
"cat" => "gamers",
206
),
207
ARRAY(
208
"provider_id" => "Mailru",
209
"provider_name" => "Mailru",
@@ -232,35 +244,20 @@ $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG = ARRAY(
232
"cat" => "socialnetworks",
233
),
234
ARRAY(
235
- "provider_id" => "Reddit",
236
- "provider_name" => "Reddit",
237
- "require_client_id" => true,
238
- "callback" => true,
239
- "new_app_link" => "https://ssl.reddit.com/prefs/apps",
240
241
- "cat" => "socialnetworks",
242
),
243
ARRAY(
244
- "provider_id" => "Disqus",
245
- "provider_name" => "Disqus",
246
"require_client_id" => true,
247
- "callback" => true,
248
- "new_app_link" => "https://disqus.com/api/applications/",
249
250
- "cat" => "misc",
251
),
252
-
253
- // Paypal needs further testing..
254
- // ARRAY(
255
- // "provider_id" => "Paypal",
256
- // "provider_name" => "Paypal",
257
- // "require_client_id" => true,
258
- // "callback" => true,
259
- // "new_app_link" => "https://developer.paypal.com/webapps/developer/applications/myapps",
260
-
261
- // "cat" => "misc",
262
- // ),
263
-
264
ARRAY(
265
"provider_id" => "PixelPin",
266
"provider_name" => "PixelPin",
66
"cat" => "microblogging",
67
),
68
ARRAY(
69
+ "provider_id" => "WordPress",
70
+ "provider_name" => "WordPress",
71
"require_client_id" => true,
72
+ "callback" => true,
73
+ "new_app_link" => "https://developer.wordpress.com/apps/new/",
74
75
+ "cat" => "blogging",
76
),
77
ARRAY(
78
"provider_id" => "Yahoo",
81
82
"cat" => "pleasedie",
83
),
84
ARRAY(
85
"provider_id" => "LinkedIn",
86
"provider_name" => "LinkedIn",
89
"cat" => "professional",
90
),
91
ARRAY(
92
+ "provider_id" => "Disqus",
93
+ "provider_name" => "Disqus",
94
+ "require_client_id" => true,
95
+ "callback" => true,
96
+ "new_app_link" => "https://disqus.com/api/applications/",
97
98
+ "cat" => "misc",
99
),
100
ARRAY(
101
+ "provider_id" => "Instagram",
102
+ "provider_name" => "Instagram",
103
"callback" => true,
104
"require_client_id" => true,
105
+ "new_app_link" => "http://instagr.am/developer/clients/manage/",
106
107
+ "cat" => "media",
108
),
109
ARRAY(
110
+ "provider_id" => "Reddit",
111
+ "provider_name" => "Reddit",
112
+ "require_client_id" => true,
113
+ "callback" => true,
114
+ "new_app_link" => "https://ssl.reddit.com/prefs/apps",
115
116
+ "cat" => "socialnetworks",
117
),
118
ARRAY(
119
+ "provider_id" => "Foursquare",
120
+ "provider_name" => "Foursquare",
121
"callback" => true,
122
+ "require_client_id" => true,
123
+ "new_app_link" => "https://www.foursquare.com/oauth/",
124
+
125
+ "cat" => "microblogging",
126
+ ),
127
+ ARRAY(
128
+ "provider_id" => "LastFM",
129
+ "provider_name" => "Last.FM",
130
+ "new_app_link" => "http://www.lastfm.com/api/account",
131
132
"cat" => "media",
133
),
207
208
"cat" => "gamers",
209
),
210
+ ARRAY(
211
+ "provider_id" => "Vkontakte",
212
+ "provider_name" => "Vkontakte",
213
+ "callback" => true,
214
+ "require_client_id" => true,
215
+ "new_app_link" => "http://vk.com/developers.php",
216
+
217
+ "cat" => "socialnetworks",
218
+ ),
219
ARRAY(
220
"provider_id" => "Mailru",
221
"provider_name" => "Mailru",
244
"cat" => "socialnetworks",
245
),
246
ARRAY(
247
+ "provider_id" => "AOL",
248
+ "provider_name" => "AOL",
249
+ "new_app_link" => null,
250
251
+ "cat" => "pleasedie",
252
),
253
ARRAY(
254
+ "provider_id" => "Live",
255
+ "provider_name" => "Windows Live",
256
"require_client_id" => true,
257
+ "new_app_link" => "https://account.live.com/developers/applications/create",
258
259
+ "cat" => "pleasedie",
260
),
261
ARRAY(
262
"provider_id" => "PixelPin",
263
"provider_name" => "PixelPin",
includes/widgets/wsl.auth.widget.php CHANGED
@@ -275,15 +275,15 @@ add_action( 'after_signup_form', 'wsl_render_wsl_widget_in_wp_register_form' );
275
*/
276
function wsl_add_stylesheets()
277
{
278
- if( ! wp_style_is( 'wsl_css', 'registered' ) ) {
279
wp_register_style( "wsl_css", WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . "/assets/css/style.css" );
280
}
281
282
wp_enqueue_style( "wsl_css" );
283
}
284
285
- add_action( 'login_head', 'wsl_add_stylesheets' );
286
- add_action( 'wp_head' , 'wsl_add_stylesheets' );
287
288
// --------------------------------------------------------------------
289
275
*/
276
function wsl_add_stylesheets()
277
{
278
+ if( ! wp_style_is( 'wsl_css', 'registered' ) )
279
+ {
280
wp_register_style( "wsl_css", WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . "/assets/css/style.css" );
281
}
282
283
wp_enqueue_style( "wsl_css" );
284
}
285
286
+ add_action( 'wp_enqueue_scripts', 'wsl_add_stylesheets' );
287
288
// --------------------------------------------------------------------
289
includes/widgets/wsl.loading.screens.php CHANGED
@@ -186,7 +186,7 @@ if( ! function_exists( 'wsl_render_return_from_provider_loading_screen' ) )
186
</table>
187
188
<form name="loginform" method="post" action="<?php echo $authenticated_url; ?>">
189
- <input type="hidden" id="redirect_to" name="redirect_to" value="<?php echo $authenticated_url; ?>">
190
<input type="hidden" id="provider" name="provider" value="<?php echo $provider ?>">
191
<input type="hidden" id="action" name="action" value="wordpress_social_authenticated">
192
</form>
186
</table>
187
188
<form name="loginform" method="post" action="<?php echo $authenticated_url; ?>">
189
+ <input type="hidden" id="redirect_to" name="redirect_to" value="<?php echo esc_url( $redirect_to ); ?>">
190
<input type="hidden" id="provider" name="provider" value="<?php echo $provider ?>">
191
<input type="hidden" id="action" name="action" value="wordpress_social_authenticated">
192
</form>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: miled
3
Tags: login, comment, social networks, social login, facebook, google, twitter, reddit, linkedin, instagram, vkontakte, github, steam, twitch.tv
4
Requires at least: 3.0
5
Tested up to: 4.0
6
- Stable tag: 2.2.1
7
License: MIT License
8
License URI: http://opensource.org/licenses/MIT
9
Donate link: https://www.redcross.org/quickdonate/index.jsp
@@ -12,6 +12,8 @@ WordPress Social Login allow your visitors to comment and login with social netw
12
13
== Description ==
14
15
<strong>Wordpress Social Login</strong> allow your website readers and customers to register on using their existing social accounts IDs, eliminating the need to fill out registration forms and remember usernames and passwords.
16
17
Wordpress Social Login also allow you to import users contact list from Google Gmail, Facebook, Windows Live and LinkedIn.
@@ -63,15 +65,24 @@ The user guide and frequently asked questions can be found at http://hybridauth.
63
64
== Screenshots ==
65
66
- 1. **Comment** - Buttons for 3rd party services are also provided on the comment form.
67
- 2. **Login** - On the login and registration form, buttons for 3rd party services are provided.
68
- 3. **Setup** - To correctly setup these Identity Providers please carefully follow the help section of each one.
69
- 4. **Widget** - WordPress Social Login widget customization
70
- 5. **Bouncer** - WordPress Social Login advanced configuration
71
- 6. **Components** - WordPress Social Login components manager
72
73
== Changelog ==
74
75
= 2.2.1 =
76
77
* WSL can be fully integrated with your BuddyPress installation: display of users avatars and xprofiles mapping.
3
Tags: login, comment, social networks, social login, facebook, google, twitter, reddit, linkedin, instagram, vkontakte, github, steam, twitch.tv
4
Requires at least: 3.0
5
Tested up to: 4.0
6
+ Stable tag: 2.2.2
7
License: MIT License
8
License URI: http://opensource.org/licenses/MIT
9
Donate link: https://www.redcross.org/quickdonate/index.jsp
12
13
== Description ==
14
15
+ > WordPress Social Login Pre-release 2.2.3 is available and it includes few important changes. For details, please refer to https://wordpress.org/support/topic/wsl-223-pre-release-notes-potential-breaking-changes
16
+
17
<strong>Wordpress Social Login</strong> allow your website readers and customers to register on using their existing social accounts IDs, eliminating the need to fill out registration forms and remember usernames and passwords.
18
19
Wordpress Social Login also allow you to import users contact list from Google Gmail, Facebook, Windows Live and LinkedIn.
65
66
== Screenshots ==
67
68
+ 1. WSL attempts to work with the default WordPress comment, login and registration forms.
69
+ 2. WSL come with a simple but flexible and fully customizable authentication widget.
70
+ 3. WSL widget can be easily integrated into most WordPress themes and many popular plugins using hooks and shortcodes.
71
+ 4. WSL social networks setup.
72
+ 5. WSL widget customization.
73
+ 6. WSL advanced configuration.
74
+ 7. WSL Buddypress Integration.
75
+ 8. WSL components and add-ons manager.
76
77
== Changelog ==
78
79
+ = 2.2.2 =
80
+
81
+ * Fix an issue where wsl did not display the right user avatar.
82
+ * Fix an issue where providers icons wasn't showing in sites using https.
83
+ * Fix an issue with basic insights, where users counts by age wasn't showing.
84
+ * Add WordPress to list of supported provider.
85
+
86
= 2.2.1 =
87
88
* WSL can be fully integrated with your BuddyPress installation: display of users avatars and xprofiles mapping.
uninstall.php → utilities/uninstall.php RENAMED
@@ -7,6 +7,8 @@
7
*/
8
9
/**
10
* Uninstall WSL:
11
*
12
* 1. Delete wslusersprofiles, wsluserscontacts and wslwatchdog
@@ -17,7 +19,10 @@
17
*/
18
19
// Exit if accessed directly
20
- if ( !defined( 'WP_UNINSTALL_PLUGIN' ) ) exit;
21
22
// --------------------------------------------------------------------
23
7
*/
8
9
/**
10
+ * ! Moved to utilities until further notice.
11
+ *
12
* Uninstall WSL:
13
*
14
* 1. Delete wslusersprofiles, wsluserscontacts and wslwatchdog
19
*/
20
21
// Exit if accessed directly
22
+ if( !defined( 'ABSPATH' ) ) exit;
23
+
24
+ // Exit if accessed directly
25
+ if( !defined( 'WP_UNINSTALL_PLUGIN' ) ) exit;
26
27
// --------------------------------------------------------------------
28
wp-social-login.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: WordPress Social Login
4
Plugin URI: http://hybridauth.sourceforge.net/wsl/index.html
5
Description: Allow your visitors to comment and login with social networks such as Twitter, Facebook, Google, Yahoo and more.
6
- Version: 2.2.1
7
Author: Miled
8
Author URI: http://hybridauth.sourceforge.net/wsl/index.html
9
License: MIT License
@@ -54,7 +54,7 @@ if ( !defined( 'ABSPATH' ) ) exit;
54
55
@ session_start(); // shhhtt keept it a secret
56
57
- $WORDPRESS_SOCIAL_LOGIN_VERSION = "2.2.1";
58
59
$_SESSION["wsl::plugin"] = "WordPress Social Login " . $WORDPRESS_SOCIAL_LOGIN_VERSION;
60
@@ -75,13 +75,13 @@ if( file_exists( WP_PLUGIN_DIR . '/wp-social-login-custom.php' ) ){
75
// --------------------------------------------------------------------
76
77
/**
78
- * Define WSL constants, if not defined in 'wordpress-social-login-custom.php'
79
*/
80
defined( 'WORDPRESS_SOCIAL_LOGIN_ABS_PATH' )
81
|| define( 'WORDPRESS_SOCIAL_LOGIN_ABS_PATH', WP_PLUGIN_DIR . '/wordpress-social-login' );
82
83
defined( 'WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL' )
84
- || define( 'WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL', WP_PLUGIN_URL . '/wordpress-social-login' );
85
86
defined( 'WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL' )
87
|| define( 'WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL', WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/hybridauth/' );
@@ -136,7 +136,7 @@ add_filter( 'plugin_action_links', 'wsl_add_settings_link', 10, 2 );
136
/**
137
* Loads the plugin's translated strings.
138
*
139
- * Note: In case you want to use another domain, you may define this function in 'wordpress-social-login-custom.php'
140
*
141
* http://codex.wordpress.org/Function_Reference/load_plugin_textdomain
142
*/
3
Plugin Name: WordPress Social Login
4
Plugin URI: http://hybridauth.sourceforge.net/wsl/index.html
5
Description: Allow your visitors to comment and login with social networks such as Twitter, Facebook, Google, Yahoo and more.
6
+ Version: 2.2.2
7
Author: Miled
8
Author URI: http://hybridauth.sourceforge.net/wsl/index.html
9
License: MIT License
54
55
@ session_start(); // shhhtt keept it a secret
56
57
+ $WORDPRESS_SOCIAL_LOGIN_VERSION = "2.2.2";
58
59
$_SESSION["wsl::plugin"] = "WordPress Social Login " . $WORDPRESS_SOCIAL_LOGIN_VERSION;
60
75
// --------------------------------------------------------------------
76
77
/**
78
+ * Define WSL constants, if not already defined
79
*/
80
defined( 'WORDPRESS_SOCIAL_LOGIN_ABS_PATH' )
81
|| define( 'WORDPRESS_SOCIAL_LOGIN_ABS_PATH', WP_PLUGIN_DIR . '/wordpress-social-login' );
82
83
defined( 'WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL' )
84
+ || define( 'WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL', plugins_url() . '/wordpress-social-login' );
85
86
defined( 'WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL' )
87
|| define( 'WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL', WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/hybridauth/' );
136
/**
137
* Loads the plugin's translated strings.
138
*
139
+ * Note: In case you want to use another domain, you may redefine this function
140
*
141
* http://codex.wordpress.org/Function_Reference/load_plugin_textdomain
142
*/